CalcArea: Difference between revisions
		
		
		
		
		
		Jump to navigation
		Jump to search
		
				
		
		
	
|  (New page: =Overview= This code will calculate the area of a given selection.  If you have a bunch of disparate selections, or one selection made up of various objects then you can use this to find t...) | No edit summary | ||
| Line 4: | Line 4: | ||
| =The Code= | =The Code= | ||
| <source lang="python"> | <source lang="python"> | ||
| def calcArea(sel): | def calcArea(sel, ASA=0, density=3, quiet=1): | ||
| 	""" | 	""" | ||
| DESCRIPTION | |||
|     Calculate the area of an object or selection (as if it were one complete object). | |||
| ARGUMENTS | |||
|     sel = string: atom selection | |||
|     ASA = 0/1: solvent excluded or solvent accessible surface area | |||
|     density = int: sampling quality {default: 3} | |||
| 	""" | 	""" | ||
| 	tName = "__temp__for__doArea__" | 	tName = "__temp__for__doArea__" | ||
| 	cmd.create(tName, sel) | 	cmd.create(tName, sel) | ||
| 	cmd.flag("ignore", tName, "clear") | |||
| 	cmd.set("dot_solvent", int(ASA), tName) | |||
| 	cmd.set("dot_density", int(density), tName) | |||
| 	theArea = cmd.get_area(tName) | 	theArea = cmd.get_area(tName) | ||
| 	cmd.delete(tName) | 	cmd.delete(tName) | ||
| 	if not int(quiet): | |||
| 		print 'Area (solvent %s): %.3f Angstroms^2' % (['excluded', | |||
| 			'accessible'][int(ASA)], theArea) | |||
| 	return theArea | 	return theArea | ||
| cmd.extend('calcArea', calcArea) | |||
| </source> | </source> | ||
Latest revision as of 03:31, 9 June 2011
Overview
This code will calculate the area of a given selection. If you have a bunch of disparate selections, or one selection made up of various objects then you can use this to find the area.
The Code
def calcArea(sel, ASA=0, density=3, quiet=1):
	"""
DESCRIPTION
    Calculate the area of an object or selection (as if it were one complete object).
ARGUMENTS
    sel = string: atom selection
    ASA = 0/1: solvent excluded or solvent accessible surface area
    density = int: sampling quality {default: 3}
	"""
	tName = "__temp__for__doArea__"
	cmd.create(tName, sel)
	cmd.flag("ignore", tName, "clear")
	cmd.set("dot_solvent", int(ASA), tName)
	cmd.set("dot_density", int(density), tName)
	theArea = cmd.get_area(tName)
	cmd.delete(tName)
	if not int(quiet):
		print 'Area (solvent %s): %.3f Angstroms^2' % (['excluded',
			'accessible'][int(ASA)], theArea)
	return theArea
cmd.extend('calcArea', calcArea)