# [gmx-users] Surface area calculation

Wed May 11 14:34:59 CEST 2011

```Can anyone explain in detail the method that gromacs uses to calculate
surface area? Which surface area is it calculating (e.g., connolley,
accessible)?

I am under the impression that the final result is given in nm^2. Is
this correct?

Carrying out the surface area calculation in gromacs using the OPLS all
atom force field I obtain a value of 4.43 nm^2  for methane (carbon =
opls_138, sigma = 0.35 and hydrogen = opls_140, sigma = 0.25) (CT-HC
ideal bond length = 0.109, e=284512). The command was

g_sas -f conf.gro -s topol.tpr -oa -or -tv -probe 0.2 -ndots 200 -nopbc

and the result was taken from resarea.xvg

I have written a program to calculate the geometric accessible surface
area using the van der waals radius of the atoms and a probe of a given
size. The surface is defined from the centre of the probe. Using the
above values for sigma I obtain a value for methane of 1.15 nm^2 with a
probe diameter of 0.2 nm.

Obviously the two do not match and I am not sure why.

The individual atom areas for my molecule are:
C 0.22
H 0.24
H 0.23
H 0.22
H 0.24

Attached are the files used in the gromacs calculation along with the
output and my own program. If any one has any suggestions please let me
know.
-------------- next part --------------
# This file was created Wed May 11 13:05:56 2011
# by the following command:
# g_sas -f conf.gro -s topol.tpr -oa -or -tv -probe 0.2 -ndots 200 -nopbc
#
# g_sas is part of G R O M A C S:
#
# Gravel Rubs Often Many Awfully Cauterized Sores
#
@    title "Solvent Accessible Surface"
@    xaxis  label "Time (ps)"
@    yaxis  label "Area (nm\S2\N)"
@TYPE xy
@ view 0.15, 0.15, 0.75, 0.85
@ legend on
@ legend box on
@ legend loctype view
@ legend 0.78, 0.8
@ legend length 2
@ s0 legend "Hydrophobic"
@ s1 legend "Hydrophilic"
@ s2 legend "Total"
@ s3 legend "D Gsolv"
0     4.43467           0     4.43467    -11.1328
-------------- next part --------------
# This file was created Wed May 11 13:05:56 2011
# by the following command:
# g_sas -f conf.gro -s topol.tpr -oa -or -tv -probe 0.2 -ndots 200 -nopbc
#
# g_sas is part of G R O M A C S:
#
# Gravel Rubs Often Many Awfully Cauterized Sores
#
@    title "Area per atom"
@    xaxis  label "Atom #"
@    yaxis  label "Area (nm\S2\N)"
@TYPE xy
1 1.53938 0.000291734
2 0.723823 0
3 0.723823 0
4 0.723823 0
5 0.723823 0
-------------- next part --------------
methane
5
1DRG    CT    1   0.000   0.000   0.000
1DRG    HC    2   0.000   0.000   1.089
1DRG    HC    3   1.027   0.000  -0.363
1DRG    HC    4  -0.513  -0.889  -0.363
1DRG    HC    5  -0.513   0.889  -0.363
7.90500   7.90500   7.90500
-------------- next part --------------

; VARIOUS PREPROCESSING OPTIONS
title                    = Yo
cpp                      = /usr/bin/cpp
include                  =
define                   =

; RUN CONTROL PARAMETERS
integrator               = steep
; Start time and timestep in ps
tinit                    = 0
dt                       = 0.002
nsteps                   = 1000
; For exact run continuation or redoing part of a run
init_step                = 0
; mode for center of mass motion removal
comm-mode                = Linear
; number of steps for center of mass motion removal
nstcomm                  = 1
; group(s) for center of mass motion removal
comm-grps                =

; LANGEVIN DYNAMICS OPTIONS
; Temperature, friction coefficient (amu/ps) and random seed
;bd-temp                  = 300
bd-fric                  = 0
ld-seed                  = 1993

; ENERGY MINIMIZATION OPTIONS
; Force tolerance and initial step-size
emtol                    = 100
emstep                   = 0.01
; Max number of iterations in relax_shells
niter                    = 20
; Step size (1/ps^2) for minimization of flexible constraints
fcstep                   = 0
; Frequency of steepest descents steps when doing CG
nstcgsteep               = 1000
nbfgscorr                = 10

; OUTPUT CONTROL OPTIONS
; Output frequency for coords (x), velocities (v) and forces (f)
nstxout                  = 0
nstvout                  = 0
nstfout                  = 0
; Checkpointing helps you continue after crashes
nstcheckpoint            = 1000
; Output frequency for energies to log file and energy file
nstlog                   = 50
nstenergy                = 50
; Output frequency and precision for xtc file
nstxtcout                = 50
xtc-precision            = 1000
; This selects the subset of atoms for the xtc file. You can
; select multiple groups. By default all atoms will be written.
xtc-grps                 =
; Selection of energy groups
energygrps               =

; NEIGHBORSEARCHING PARAMETERS
; nblist update frequency
nstlist                  = 10
; ns algorithm (simple or grid)
ns_type                  = grid
; Periodic boundary conditions: xyz (default), no (vacuum)
; or full (infinite systems only)
pbc                      = xyz
; nblist cut-off
rlist                    = 0.9
domain-decomposition     = no

; OPTIONS FOR ELECTROSTATICS AND VDW
; Method for doing electrostatics
coulombtype              = Cut-off
rcoulomb-switch          = 0
rcoulomb                 = 0.9
; Dielectric constant (DC) for cut-off or DC of reaction field
epsilon-r                = 1
; Method for doing Van der Waals
vdw-type                 = Cut-off
; cut-off lengths
rvdw-switch              = 0
rvdw                     = 0.9
; Apply long range dispersion corrections for Energy and Pressure
DispCorr                 = EnerPres
; Extension of the potential lookup tables beyond the cut-off
table-extension          = 1
; Spacing for the PME/PPPM FFT grid
fourierspacing           = 0.12
; FFT grid size, when a value is 0 fourierspacing will be used
fourier_nx               = 0
fourier_ny               = 0
fourier_nz               = 0
; EWALD/PME/PPPM parameters
pme_order                = 4
ewald_rtol               = 1e-05
ewald_geometry           = 3d
epsilon_surface          = 0
optimize_fft             = no

; GENERALIZED BORN ELECTROSTATICS
; Algorithm for calculating Born radii
gb_algorithm             = Still
; Frequency of calculating the Born radii inside rlist
; Cutoff for Born radii calculation; the contribution from atoms
; between rlist and rgbradii is updated every nstlist steps
; Salt concentration in M for Generalized Born models
gb_saltconc              = 0

; IMPLICIT SOLVENT (for use with Generalized Born electrostatics)
implicit_solvent         = No

; OPTIONS FOR WEAK COUPLING ALGORITHMS
; Temperature coupling
Tcoupl                   = berendsen
; Groups to couple separately
tc-grps                  = System
; Time constant (ps) and reference temperature (K)
tau_t                    = 0.1
ref_t                    = 300
; Pressure coupling
Pcoupl                   = berendsen
Pcoupltype               = isotropic
; Time constant (ps), compressibility (1/bar) and reference P (bar)
tau_p                    = 1.0
compressibility          = 4.5e-5
ref_p                    = 1.0
; Random seed for Andersen thermostat
andersen_seed            = 815131

; SIMULATED ANNEALING
; Type of annealing for each temperature group (no/single/periodic)
annealing                = no
; Number of time points to use for specifying annealing in each group
annealing_npoints        =
; List of times at the annealing points for each group
annealing_time           =
; Temp. at each annealing point, for each group.
annealing_temp           =

; GENERATE VELOCITIES FOR STARTUP RUN
gen_vel                  = yes
gen_temp                 = 300
gen_seed                 = 1993

; OPTIONS FOR BONDS
constraints              = all-bonds
; Type of constraint algorithm
constraint-algorithm     = Lincs
; Do not constrain the start configuration
unconstrained-start      = no
; Use successive overrelaxation to reduce the number of shake iterations
Shake-SOR                = no
; Relative tolerance of shake
shake-tol                = 1e-04
; Highest order in the expansion of the constraint coupling matrix
lincs-order              = 4
; Number of iterations in the final step of LINCS. 1 is fine for
; normal simulations, but use 2 to conserve energy in NVE runs.
; For energy minimization with constraints it should be 4 to 8.
lincs-iter               = 1
; Lincs will write a warning to the stderr if in one step a bond
; rotates over more degrees than
lincs-warnangle          = 30
; Convert harmonic bonds to morse potentials
morse                    = no

; ENERGY GROUP EXCLUSIONS
; Pairs of energy groups for which all non-bonded interactions are excluded
energygrp_excl           =

-------------- next part --------------
[moleculetype]
; Name nrexcl
DRG      0

[ atoms ]
;   nr      type  resnr resid  atom  cgnr   charge     mass
1       opls_138       1  DRG     CT     1    0.000  12.0000
2       opls_140       1  DRG     HC     1    0.000  01.0000
3       opls_140       1  DRG     HC     1    0.000  01.0000
4       opls_140       1  DRG     HC     1    0.000  01.0000
5       opls_140       1  DRG     HC     1    0.000  01.0000

[ bonds ]
; i    j  func       b0          kb
1    2     1    0.10800   284512.0
1    3     1    0.10800   284512.0
1    4     1    0.10800   284512.0
1    5     1    0.10800   284512.0

-------------- next part --------------
# This file was created Wed May 11 13:05:56 2011
# by the following command:
# g_sas -f conf.gro -s topol.tpr -oa -or -tv -probe 0.2 -ndots 200 -nopbc
#
# g_sas is part of G R O M A C S:
#
# Gravel Rubs Often Many Awfully Cauterized Sores
#
@    title "Area per residue"
@    xaxis  label "Residue"
@    yaxis  label "Area (nm\S2\N)"
@TYPE xy
1     4.43467          0
-------------- next part --------------
A non-text attachment was scrubbed...
Name: topol.top
Type: text/x-csrc
Size: 105 bytes
Desc: not available
URL: <http://maillist.sys.kth.se/pipermail/gromacs.org_gmx-users/attachments/20110511/66d78eca/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: PIsurfaceOPLS.f90
Type: text/x-fortran
Size: 9019 bytes
Desc: not available
URL: <http://maillist.sys.kth.se/pipermail/gromacs.org_gmx-users/attachments/20110511/66d78eca/attachment-0001.bin>
```