![]() |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
The Surf command calculates the Van der Waals,
molecular and/or solvent accessible surface areas of the selected atoms. The difference between these surface types is explained at the
ShowSurf command and in the help movie
'Surfaces I'. The surface area is computed numerically by first tesselating the surface and then summing up the area of the created polygons. That is why the result becomes more accurate if the
surface resolution is increased. The calculated area is additionally influenced by the atoms in the surface environment, since the Surf command performs the following steps:
Example: to get the contribution of residues 20-30 to the total accessible surface of object
1crn, two commands are required:
AddEnvObj 1crn srf = SurfRes 20-30 Obj 1crn,accessibleIf you are not sure which surface portions are calculated, just pass the same selection to the ShowSurf command.
An important remark on surface contributions: an atom is considered to contribute to a surface if it is the closest to a particular point on the surface. Also surface areas calculated per atom are summed up based on the individual contributions. E.g. in the CH4 molecule,
the hydrogen atoms are closer to any solvent accessible surface point than the carbon atom,
hence the solvent accessible surface area obtained for the carbon is 0.
Be careful with structures that contain water molecules
. Waters are treated like any other molecule, so they will be part of the surface unless you exclude them:
srf = SurfRes Protein Obj 1 The Unit parameter determines the granularity of the returned surface areas. By default surface areas are calculated for the entire soup,
but this can easily be changed to a per-object, per-molecule, per-residue or per-atom basis by choosing the appropriate unit.
Note that the calculated surface area depends on the simulation state
: when no simulation is running, each object has its own local coordinate system
, and the surface area calculated for two objects is just the sum of the individual objects. During a simulation,
all objects are transferred into the common coordinate system of the simulation cell,
where they 'feel' each other. Consequently, the area calculated for two objects is smaller if the objects overlap or wrap around periodic boundaries.
To calculate the molecular surface accurately, select
YASARA's numeric algorithm. Avoid using the MSMS program,
since it creates only one surface per object and thus misses internal cavities and detached molecules. Surface areas calculated with YASARA's Gaussian approximation deviate by about
2%. When looking for special residues like all Cysteines with solvent accessible side-chains,
use a macro like the following:
# LOAD YOUR STRUCTURE
Clear
LoadPDB 1crn
# LIST ALL CYSTEINES WITH MORE THAN cutoff A^2 ACCESSIBLE SIDE-CHAIN SURFACE AREA
cutoff = 2
Console Off
# SHOW ALL ACCESSIBLE CYSTEINES ON SCREEN
ShowSurf accessible,OutCol=AtomCol,OutAlpha=100
ColorRes Cys,Magenta
ColorRes !Cys,Gray
# GET A LIST OF ALL CYSTEINE RESIDUE NUMBERS
selection() = ListRes Cys
# CONSIDER ALL RESIDUES FOR SURFACE CALCULATIONS
AddEnvAll
for resno in selection
area = SurfAtom SideChain Res (resno),accessible
if area > cutoff
Print 'Surface area of residue CYS (resno) is (0.0+area) A^2'
Example 1:SurfObj 1crn,accessible Calculate the solvent accessible surface of object 1crn in A^2.
Example 2:SurfRes Protein,molecular,Unit=Res Calculate the molecular surface of all protein residues and print the result per residue.
Example 3:srf = SurfRes 20-30,VdW Calculate the Van der Waals surface of residues 20-30 and assign the result to variable
'srf'. This completely ignores all other residues unless they are part of the surface environment. Example 4:srflist() = SurfObj 5tim,molecular,unit=Atom Calculate the molecular surface of object 5tim and assign the result per atom to the list
'surflist'. Example macro:
# EXAMPLE Surf
# Requires YASARA Model
Clear
LoadYOb 1fe0
SurfPar Resolution=3,Molecular=numeric
#
#
# Calculate loss of accessible surface area
# upon dimerization of molecules A and B
surftype='accessible'
mono1 = SurfMol A,(surftype)
mono2 = SurfMol B,(surftype)
dimer = SurfAll (surftype)
loss = mono1+mono2-dimer
Print 'Loss of surface area is (loss) A^2'
#
#
# Calculate loss of accessible surface area
# upon dimerization of molecules A and B
# separately for each molecule
surftype='accessible'
for m='A' to 'B'
# Clear surface environment
RemoveEnvAll
# Calculate isolated area
iso(m) = SurfMol (m),(surftype)
# Consider entire dimer
AddEnvAll
# Calculate area in dimer environment
env(m) = SurfMol (m),(surftype)
# Show result
Print 'Molecule (m) loses (iso(m)-env(m)) A^2'
Print 'Total loss is (isoA+isoB-envA-envB) A^2'
#
#
# Calculate percentage of hydrophobic contact area
# between molecules A and B, contact analysis is
# based on atoms, not surface points. Ions included.
surftype='molecular'
for m='A' to 'B'
# Consider only one of the two monomers for surface calculation
RemoveEnvAll
AddEnvMol (m)
# Calculate surface for atoms that are in contact
areatot(m) = SurfAtom Mol (m) with distance<5 from Mol !(m)
# The hydrophobic surface is calculated by looking only at carbons
areahyd(m) = SurfAtom Mol (m) Element C with distance<5 from Mol !(m)
percentage(m) = 100.0*(areahyd(m)/areatot(m))
# Show result
Print 'Hydrophobic percentage for molecule (m) is (percentage(m))%'
Print 'Average percentage is ((percentageA+percentageB)/2)%'
#
#
# Show the contact surface of molecule A and a transparent surface of mol B
RemoveEnvAll
AddEnvMol A
ShowSurfAtom Mol A with distance<5 from Mol B,Type=molecular,Update=dynamic,
OutCol=AtomCol,OutAlpha=100,InCol=603010,InAlpha=100,Specular=Yes
ColorAtom Mol A,blue,cyan
ShowSecStrMol B,Tube
SplitObj 1
ShowSurfObj 1,molecular,dynamic,AtomCol,20,White,10,Specular=Yes
Pos -4,2.8,44
Ori -3,23,0
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||