This is a read-only mirror of pymolwiki.org

CalcArea

From PyMOL Wiki
Jump to navigation Jump to search

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)

See Also