Difference between revisions of "CalcArea"
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...) |
|||
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)