Yes, PyMOL does have this capability, but it is immature and not routinely validated.
The basic concepts are:
1) "get_area selection" command will return the effective surface area of the dots that you would see from "show dots, selection".  This is a discrete approximation -- not an exact calculation.
2) you can use the "dot_solvent" setting to control whether you get solvent surface area or a molecular surface area.  1=solvent, 0=molecular
3) the accuracy of the measurement depends on the density of dots, which is controlled by the "dot_density" setting (1-4).
4) the solvent radius is controlled by the "solvent_radius" setting (default 1.4).
For example:
PyMOL> load $TUT/1hpv.pdb
PyMOL> show dots, resn arg
PyMOL> get_area resn arg
cmd.get_area: 1147.956 Angstroms^2.
PyMOL>set dot_solvent, on
PyMOL>get_area resn arg
 cmd.get_area: 673.084 Angstroms^2.
PyMOL>set dot_density, 3
PyMOL>get_area resn arg
 cmd.get_area: 674.157 Angstroms^2.
PyMOL>set dot_density, 4
PyMOL>get_area resn arg
 cmd.get_area: 672.056 Angstroms^2.
PyMOL>get_area all
 cmd.get_area: 13837.804 Angstroms^2.
This code has not been recently validated (though I did check it a couple years back), so I would suggest that people perform some kind of independent check on their system before trusting the results. 
Warren L. DeLano, Ph.D.
Principal Scientist
DeLano Scientific LLC
Voice (650)-346-1154
Fax   (650)-593-4020
-----Original Message-----
From: [] On Behalf Of Harp, Joel M
Sent: Wednesday, November 12, 2003 2:10 PM
Subject: [PyMOL] surface area calculation

Is it possible to get pymol to calculate surface area for a defined
object?  For instance, can it calculate surface area occupied by arginines.


Joel M. Harp
Vanderbilt University