Average b: Difference between revisions
		
		
		
		
		
		Jump to navigation
		Jump to search
		
				
		
		
	
No edit summary  | 
				Jaredsampson (talk | contribs)   (→code:  adjusted string outputs to use string formatting instead of concatenation; adjusted whitespace around operators)  | 
				||
| Line 14: | Line 14: | ||
from pymol import cmd,stored  | from pymol import cmd,stored  | ||
def average_b(selection):  | def average_b(selection):  | ||
	stored.tempfactor=0  | 	stored.tempfactor = 0  | ||
	stored.atomnumber=0  | 	stored.atomnumber = 0  | ||
	cmd.iterate(selection,"stored.tempfactor=stored.tempfactor+b")  | 	cmd.iterate(selection, "stored.tempfactor = stored.tempfactor + b")  | ||
	cmd.iterate(selection,"stored.atomnumber=stored.atomnumber+1")  | 	cmd.iterate(selection, "stored.atomnumber = stored.atomnumber + 1")  | ||
	print "Your selection: "  | 	print "Your selection: %s" % selection  | ||
	print "sum of B factors: "  | 	print "sum of B factors: %s" % stored.tempfactor  | ||
	print "number of atoms: "  | 	print "number of atoms: %s" % stored.atomnumber  | ||
	averagetempfactor=stored.tempfactor/stored.atomnumber  | 	averagetempfactor = stored.tempfactor / stored.atomnumber  | ||
	print "average B of '  | 	print "average B of '%s': %s" % (selection, averagetempfactor)  | ||
cmd.extend("average_b",average_b)  | cmd.extend("average_b", average_b)  | ||
</source>  | </source>  | ||
Revision as of 12:32, 6 November 2013
average_b.py
- calculate the average B-factor of a selection.
 
usage
- copy code to text file and save as average_b.py. Install via Plugin>Install plugin from within PyMOL.
 - restart PyMOL and then type "average_b (selection)"
 
author
Gregor Hagelueken
code
from pymol import cmd,stored
def average_b(selection):
	stored.tempfactor = 0
	stored.atomnumber = 0
	cmd.iterate(selection, "stored.tempfactor = stored.tempfactor + b")
	cmd.iterate(selection, "stored.atomnumber = stored.atomnumber + 1")
	print "Your selection: %s" % selection
	print "sum of B factors: %s" % stored.tempfactor
	print "number of atoms: %s" % stored.atomnumber
	averagetempfactor = stored.tempfactor / stored.atomnumber
	print "average B of '%s': %s" % (selection, averagetempfactor)
cmd.extend("average_b", average_b)