Data Structures | Files | Typedefs | Functions

Vacc class

Solvent- and ion-accessibility oracle. More...

Data Structures

struct  sVaccSurf
 Surface object list of per-atom surface points. More...
struct  sVacc
 Oracle for solvent- and ion-accessibility around a biomolecule. More...

Files

file  vacc.h
 

Contains declarations for class Vacc.


file  vacc.c
 

Class Vacc methods.


Typedefs

typedef struct sVaccSurf VaccSurf
 Declaration of the VaccSurf class as the VaccSurf structure.
typedef struct sVacc Vacc
 Declaration of the Vacc class as the Vacc structure.

Functions

VEXTERNC unsigned long int Vacc_memChk (Vacc *thee)
 Get number of bytes in this object and its members.
VEXTERNC VaccSurfVaccSurf_ctor (Vmem *mem, double probe_radius, int nsphere)
 Allocate and construct the surface object; do not assign surface points to positions.
VEXTERNC int VaccSurf_ctor2 (VaccSurf *thee, Vmem *mem, double probe_radius, int nsphere)
 Construct the surface object using previously allocated memory; do not assign surface points to positions.
VEXTERNC void VaccSurf_dtor (VaccSurf **thee)
 Destroy the surface object and free its memory.
VEXTERNC void VaccSurf_dtor2 (VaccSurf *thee)
 Destroy the surface object.
VEXTERNC VaccSurfVaccSurf_refSphere (Vmem *mem, int npts)
 Set up an array of points for a reference sphere of unit radius.
VEXTERNC VaccSurfVacc_atomSurf (Vacc *thee, Vatom *atom, VaccSurf *ref, double probe_radius)
 Set up an array of points corresponding to the SAS due to a particular atom.
VEXTERNC VaccVacc_ctor (Valist *alist, Vclist *clist, double surf_density)
 Construct the accessibility object.
VEXTERNC int Vacc_ctor2 (Vacc *thee, Valist *alist, Vclist *clist, double surf_density)
 FORTRAN stub to construct the accessibility object.
VEXTERNC void Vacc_dtor (Vacc **thee)
 Destroy object.
VEXTERNC void Vacc_dtor2 (Vacc *thee)
 FORTRAN stub to destroy object.
VEXTERNC double Vacc_vdwAcc (Vacc *thee, double center[VAPBS_DIM])
 Report van der Waals accessibility.
VEXTERNC double Vacc_ivdwAcc (Vacc *thee, double center[VAPBS_DIM], double radius)
 Report inflated van der Waals accessibility.
VEXTERNC double Vacc_molAcc (Vacc *thee, double center[VAPBS_DIM], double radius)
 Report molecular accessibility.
VEXTERNC double Vacc_fastMolAcc (Vacc *thee, double center[VAPBS_DIM], double radius)
 Report molecular accessibility quickly.
VEXTERNC double Vacc_splineAcc (Vacc *thee, double center[VAPBS_DIM], double win, double infrad)
 Report spline-based accessibility.
VEXTERNC void Vacc_splineAccGrad (Vacc *thee, double center[VAPBS_DIM], double win, double infrad, double *grad)
 Report gradient of spline-based accessibility.
VEXTERNC double Vacc_splineAccAtom (Vacc *thee, double center[VAPBS_DIM], double win, double infrad, Vatom *atom)
 Report spline-based accessibility for a given atom.
VEXTERNC void Vacc_splineAccGradAtomUnnorm (Vacc *thee, double center[VAPBS_DIM], double win, double infrad, Vatom *atom, double *force)
 Report gradient of spline-based accessibility with respect to a particular atom (see Vpmg_splineAccAtom)
VEXTERNC void Vacc_splineAccGradAtomNorm (Vacc *thee, double center[VAPBS_DIM], double win, double infrad, Vatom *atom, double *force)
 Report gradient of spline-based accessibility with respect to a particular atom normalized by the accessibility value due to that atom at that point (see Vpmg_splineAccAtom)
VEXTERNC void Vacc_splineAccGradAtomNorm4 (Vacc *thee, double center[VAPBS_DIM], double win, double infrad, Vatom *atom, double *force)
 Report gradient of spline-based accessibility with respect to a particular atom normalized by a 4th order accessibility value due to that atom at that point (see Vpmg_splineAccAtom)
VEXTERNC void Vacc_splineAccGradAtomNorm3 (Vacc *thee, double center[VAPBS_DIM], double win, double infrad, Vatom *atom, double *force)
 Report gradient of spline-based accessibility with respect to a particular atom normalized by a 3rd order accessibility value due to that atom at that point (see Vpmg_splineAccAtom)
VEXTERNC double Vacc_SASA (Vacc *thee, double radius)
 Build the solvent accessible surface (SAS) and calculate the solvent accessible surface area.
VEXTERNC double Vacc_totalSASA (Vacc *thee, double radius)
 Return the total solvent accessible surface area (SASA)
VEXTERNC double Vacc_atomSASA (Vacc *thee, double radius, Vatom *atom)
 Return the atomic solvent accessible surface area (SASA)
VEXTERNC VaccSurfVacc_atomSASPoints (Vacc *thee, double radius, Vatom *atom)
 Get the set of points for this atom's solvent-accessible surface.
VEXTERNC void Vacc_atomdSAV (Vacc *thee, double radius, Vatom *atom, double *dSA)
 Get the derivatve of solvent accessible volume.
VEXTERNC void Vacc_atomdSASA (Vacc *thee, double dpos, double radius, Vatom *atom, double *dSA)
 Get the derivatve of solvent accessible area.
VEXTERNC void Vacc_totalAtomdSASA (Vacc *thee, double dpos, double radius, Vatom *atom, double *dSA)
 Testing purposes only.
VEXTERNC void Vacc_totalAtomdSAV (Vacc *thee, double dpos, double radius, Vatom *atom, double *dSA, Vclist *clist)
 Total solvent accessible volume.
VEXTERNC double Vacc_totalSAV (Vacc *thee, Vclist *clist, APOLparm *apolparm, double radius)
 Return the total solvent accessible volume (SAV)
VEXTERNC int Vacc_wcaEnergy (Vacc *thee, APOLparm *apolparm, Valist *alist, Vclist *clist)
 Return the WCA integral energy.
VEXTERNC int Vacc_wcaForceAtom (Vacc *thee, APOLparm *apolparm, Vclist *clist, Vatom *atom, double *force)
 Return the WCA integral force.
VEXTERNC int Vacc_wcaEnergyAtom (Vacc *thee, APOLparm *apolparm, Valist *alist, Vclist *clist, int iatom, double *value)
 Calculate the WCA energy for an atom.

Detailed Description

Solvent- and ion-accessibility oracle.


Function Documentation

VEXTERNC void Vacc_atomdSASA ( Vacc thee,
double  dpos,
double  radius,
Vatom atom,
double *  dSA 
)

Get the derivatve of solvent accessible area.

Author:
Jason Wagoner, David Gohara, Nathan Baker
Parameters:
theeAcessibility object
dposAtom position offset
radiusProbe radius (Å)
atomAtom of interest
dSAArray holding answers of calc

Definition at line 1252 of file vacc.c.

VEXTERNC void Vacc_atomdSAV ( Vacc thee,
double  radius,
Vatom atom,
double *  dSA 
)

Get the derivatve of solvent accessible volume.

Author:
Jason Wagoner, Nathan Baker
Parameters:
theeAcessibility object
radiusProbe radius (Å)
atomAtom of interest
dSAArray holding answers of calc

Definition at line 1141 of file vacc.c.

VEXTERNC double Vacc_atomSASA ( Vacc thee,
double  radius,
Vatom atom 
)

Return the atomic solvent accessible surface area (SASA)

Note:
Alias for Vacc_SASA
Author:
Nathan Baker
Returns:
Atomic solvent accessible area (A^2)
Parameters:
theeAccessibility object
radiusProbe molecule radius (Å)
atomAtom of interest

Definition at line 708 of file vacc.c.

Here is the call graph for this function:

VEXTERNC VaccSurf* Vacc_atomSASPoints ( Vacc thee,
double  radius,
Vatom atom 
)

Get the set of points for this atom's solvent-accessible surface.

Author:
Nathan Baker
Returns:
Pointer to VaccSurf object for this atom
Parameters:
theeAccessibility object
radiusProbe molecule radius (Å)
atomAtom of interest

Definition at line 923 of file vacc.c.

Here is the call graph for this function:

VEXTERNC VaccSurf* Vacc_atomSurf ( Vacc thee,
Vatom atom,
VaccSurf ref,
double  probe_radius 
)

Set up an array of points corresponding to the SAS due to a particular atom.

Author:
Nathan Baker
Returns:
Atom sphere surface object
Parameters:
theeAccessibility object for molecule
atomAtom for which the surface should be constructed
refReference sphere which sets the resolution for the surface.
See also:
VaccSurf_refSphere
Parameters:
probe_radiusProbe radius (in A)

Definition at line 811 of file vacc.c.

Here is the call graph for this function:

Here is the caller graph for this function:

VEXTERNC Vacc* Vacc_ctor ( Valist alist,
Vclist clist,
double  surf_density 
)

Construct the accessibility object.

Author:
Nathan Baker
Returns:
Newly allocated Vacc object
Parameters:
alistMolecule for accessibility queries
clistPre-constructed cell list for looking up atoms near specific positions
surf_densityMinimum per-atom solvent accessible surface point density (in pts/A^2)

Definition at line 124 of file vacc.c.

Here is the call graph for this function:

Here is the caller graph for this function:

VEXTERNC int Vacc_ctor2 ( Vacc thee,
Valist alist,
Vclist clist,
double  surf_density 
)

FORTRAN stub to construct the accessibility object.

Author:
Nathan Baker
Returns:
1 if successful, 0 otherwise
Parameters:
theeMemory for Vacc objet
alistMolecule for accessibility queries
clistPre-constructed cell list for looking up atoms near specific positions
surf_densityMinimum per-atom solvent accessible surface point density (in pts/A^2)

Definition at line 195 of file vacc.c.

Here is the call graph for this function:

Here is the caller graph for this function:

VEXTERNC void Vacc_dtor ( Vacc **  thee )

Destroy object.

Author:
Nathan Baker
Parameters:
theePointer to memory location of object

Definition at line 224 of file vacc.c.

Here is the call graph for this function:

Here is the caller graph for this function:

VEXTERNC void Vacc_dtor2 ( Vacc thee )

FORTRAN stub to destroy object.

Author:
Nathan Baker
Parameters:
theePointer to object

Definition at line 234 of file vacc.c.

Here is the call graph for this function:

Here is the caller graph for this function:

VEXTERNC double Vacc_fastMolAcc ( Vacc thee,
double  center[VAPBS_DIM],
double  radius 
)

Report molecular accessibility quickly.

Given a point which is INSIDE the collection of inflated van der Waals spheres, but OUTSIDE the collection of non-inflated van der Waals spheres, determine accessibility of a probe (of radius radius) at a given point, given a collection of atomic spheres. Uses molecular (Connolly) surface definition.

Note:
THIS ASSUMES YOU HAVE TESTED THAT THIS POINT IS DEFINITELY INSIDE THE INFLATED AND NON-INFLATED VAN DER WAALS SURFACES!
Author:
Nathan Baker
Returns:
Characteristic function value between 1.0 (accessible) and 0.0 (inaccessible)
Bug:
This routine has a slight bug which can generate very small internal regions of high dielectric (thanks to John Mongan and Jess Swanson for finding this)
Parameters:
theeAccessibility object
centerProbe center coordinates
radiusProbe radius (in Å)

Definition at line 573 of file vacc.c.

Here is the call graph for this function:

Here is the caller graph for this function:

VEXTERNC double Vacc_ivdwAcc ( Vacc thee,
double  center[VAPBS_DIM],
double  radius 
)

Report inflated van der Waals accessibility.

Determines if a point is within the union of the spheres centered at the atomic centers with radii equal to the sum of the atomic van der Waals radius and the probe radius.

Author:
Nathan Baker
Returns:
Characteristic function value between 1.0 (accessible) and 0.0 (inaccessible)
Parameters:
theeAccessibility object
centerProbe center coordinates
radiusProbe radius (Å)

Here is the caller graph for this function:

VEXTERNC unsigned long int Vacc_memChk ( Vacc thee )

Get number of bytes in this object and its members.

Author:
Nathan Baker
Returns:
Number of bytes allocated for object
Parameters:
theeObject for memory check

Definition at line 61 of file vacc.c.

Here is the caller graph for this function:

VEXTERNC double Vacc_molAcc ( Vacc thee,
double  center[VAPBS_DIM],
double  radius 
)

Report molecular accessibility.

Determine accessibility of a probe (of radius radius) at a given point, given a collection of atomic spheres. Uses molecular (Connolly) surface definition.

Author:
Nathan Baker
Returns:
Characteristic function value between 1.0 (accessible) and 0.0 (inaccessible)
Bug:
This routine has a slight bug which can generate very small internal regions of high dielectric (thanks to John Mongan and Jess Swanson for finding this)
Parameters:
theeAccessibility object
centerProbe center coordinates
radiusProbe radius (in Å)

Definition at line 544 of file vacc.c.

Here is the call graph for this function:

Here is the caller graph for this function:

VEXTERNC double Vacc_SASA ( Vacc thee,
double  radius 
)

Build the solvent accessible surface (SAS) and calculate the solvent accessible surface area.

Note:
Similar to UHBD FORTRAN routine by Brock Luty (returns UHBD's asas2)
Author:
Nathan Baker (original FORTRAN routine by Brock Luty)
Returns:
Total solvent accessible area (A^2)
Parameters:
theeAccessibility object
radiusProbe molecule radius (Å)

Definition at line 649 of file vacc.c.

Here is the call graph for this function:

Here is the caller graph for this function:

VEXTERNC double Vacc_splineAcc ( Vacc thee,
double  center[VAPBS_DIM],
double  win,
double  infrad 
)

Report spline-based accessibility.

Determine accessibility at a given point, given a collection of atomic spheres. Uses Benoit Roux (Im et al, Comp Phys Comm, 111, 59--75, 1998) definition suitable for force evalation; basically a cubic spline.

Author:
Nathan Baker
Returns:
Characteristic function value between 1.0 (accessible) and 0.0 (inaccessible)
Parameters:
theeAccessibility object
centerProbe center coordinates
winSpline window (Å)
infradInflation radius (Å) for ion access.

Definition at line 464 of file vacc.c.

Here is the call graph for this function:

Here is the caller graph for this function:

VEXTERNC double Vacc_splineAccAtom ( Vacc thee,
double  center[VAPBS_DIM],
double  win,
double  infrad,
Vatom atom 
)

Report spline-based accessibility for a given atom.

Determine accessibility at a given point for a given atomic spheres. Uses Benoit Roux (Im et al, Comp Phys Comm, 111, 59--75, 1998) definition suitable for force evalation; basically a cubic spline.

Author:
Nathan Baker
Returns:
Characteristic function value between 1.0 (accessible) and 0.0 (inaccessible)
Parameters:
theeAccessibility object
centerProbe center coordinates
winSpline window (Å)
infradInflation radius (Å) for ion access.
atomAtom

Definition at line 387 of file vacc.c.

Here is the call graph for this function:

Here is the caller graph for this function:

VEXTERNC void Vacc_splineAccGrad ( Vacc thee,
double  center[VAPBS_DIM],
double  win,
double  infrad,
double *  grad 
)

Report gradient of spline-based accessibility.

Author:
Nathan Baker
Parameters:
theeAccessibility object
centerProbe center coordinates
winSpline window (Å)
infradInflation radius (Å) for ion access.
grad3-vector set to gradient of accessibility

Definition at line 497 of file vacc.c.

Here is the call graph for this function:

VEXTERNC void Vacc_splineAccGradAtomNorm ( Vacc thee,
double  center[VAPBS_DIM],
double  win,
double  infrad,
Vatom atom,
double *  force 
)

Report gradient of spline-based accessibility with respect to a particular atom normalized by the accessibility value due to that atom at that point (see Vpmg_splineAccAtom)

Determine accessibility at a given point, given a collection of atomic spheres. Uses Benoit Roux (Im et al, Comp Phys Comm, 111, 59--75, 1998) definition suitable for force evalation; basically a cubic spline.

Author:
Nathan Baker
Parameters:
theeAccessibility object
centerProbe center coordinates
winSpline window (Å)
infradInflation radius (Å) for ion access.
atomAtom
forceVAPBS_DIM-vector set to gradient of accessibility

Definition at line 289 of file vacc.c.

Here is the call graph for this function:

Here is the caller graph for this function:

VEXTERNC void Vacc_splineAccGradAtomNorm3 ( Vacc thee,
double  center[VAPBS_DIM],
double  win,
double  infrad,
Vatom atom,
double *  force 
)

Report gradient of spline-based accessibility with respect to a particular atom normalized by a 3rd order accessibility value due to that atom at that point (see Vpmg_splineAccAtom)

Author:
Michael Schnieders
Parameters:
theeAccessibility object
centerProbe center coordinates
winSpline window (Å)
infradInflation radius (Å) for ion access.
atomAtom
forceVAPBS_DIM-vector set to gradient of accessibility

Definition at line 1040 of file vacc.c.

Here is the call graph for this function:

VEXTERNC void Vacc_splineAccGradAtomNorm4 ( Vacc thee,
double  center[VAPBS_DIM],
double  win,
double  infrad,
Vatom atom,
double *  force 
)

Report gradient of spline-based accessibility with respect to a particular atom normalized by a 4th order accessibility value due to that atom at that point (see Vpmg_splineAccAtom)

Author:
Michael Schnieders
Parameters:
theeAccessibility object
centerProbe center coordinates
winSpline window (Å)
infradInflation radius (Å) for ion access.
atomAtom
forceVAPBS_DIM-vector set to gradient of accessibility

Definition at line 947 of file vacc.c.

Here is the call graph for this function:

VEXTERNC void Vacc_splineAccGradAtomUnnorm ( Vacc thee,
double  center[VAPBS_DIM],
double  win,
double  infrad,
Vatom atom,
double *  force 
)

Report gradient of spline-based accessibility with respect to a particular atom (see Vpmg_splineAccAtom)

Determine accessibility at a given point, given a collection of atomic spheres. Uses Benoit Roux (Im et al, Comp Phys Comm, 111, 59--75, 1998) definition suitable for force evalation; basically a cubic spline.

Author:
Nathan Baker
Parameters:
theeAccessibility object
centerProbe center coordinates
winSpline window (Å)
infradInflation radius (Å) for ion access.
atomAtom
forceVAPBS_DIM-vector set to gradient of accessibility

Definition at line 338 of file vacc.c.

Here is the call graph for this function:

VEXTERNC void Vacc_totalAtomdSASA ( Vacc thee,
double  dpos,
double  radius,
Vatom atom,
double *  dSA 
)

Testing purposes only.

Author:
David Gohara, Nathan Baker
Parameters:
theeAcessibility object
dposAtom position offset
radiusProbe radius (Å)
atomAtom of interest
dSAArray holding answers of calc

Definition at line 1314 of file vacc.c.

Here is the call graph for this function:

VEXTERNC void Vacc_totalAtomdSAV ( Vacc thee,
double  dpos,
double  radius,
Vatom atom,
double *  dSA,
Vclist clist 
)

Total solvent accessible volume.

Author:
David Gohara, Nathan Baker
Parameters:
theeAcessibility object
dposAtom position offset
radiusProbe radius (Å)
atomAtom of interest
dSAArray holding answers of calc
clistclist for this calculation

Definition at line 1373 of file vacc.c.

Here is the call graph for this function:

VEXTERNC double Vacc_totalSASA ( Vacc thee,
double  radius 
)

Return the total solvent accessible surface area (SASA)

Note:
Alias for Vacc_SASA
Author:
Nathan Baker
Returns:
Total solvent accessible area (A^2)
Parameters:
theeAccessibility object
radiusProbe molecule radius (Å)

Definition at line 702 of file vacc.c.

Here is the call graph for this function:

VEXTERNC double Vacc_totalSAV ( Vacc thee,
Vclist clist,
APOLparm apolparm,
double  radius 
)

Return the total solvent accessible volume (SAV)

Note:
Alias for Vacc_SAV
Author:
David Gohara
Returns:
Total solvent accessible volume (A^3)
Parameters:
theeAccessibility object
clistClist for acc object
apolparmApolar parameters -- could be VNULL if none required for this calculation. If VNULL, then default settings are used
radiusProbe molecule radius (Å)

Definition at line 1428 of file vacc.c.

Here is the call graph for this function:

Here is the caller graph for this function:

VEXTERNC double Vacc_vdwAcc ( Vacc thee,
double  center[VAPBS_DIM] 
)

Report van der Waals accessibility.

Determines if a point is within the union of the atomic spheres (with radii equal to their van der Waals radii).

Author:
Nathan Baker
Returns:
Characteristic function value between 1.0 (accessible) and 0.0 (inaccessible)
Parameters:
theeAccessibility object
centerProbe center coordinates

Here is the caller graph for this function:

VEXTERNC int Vacc_wcaEnergy ( Vacc thee,
APOLparm apolparm,
Valist alist,
Vclist clist 
)

Return the WCA integral energy.

Author:
David Gohara
Returns:
Success flag
Parameters:
theeAccessibility object
apolparmApolar calculation parameters
alistAlist for acc object
clistClist for acc object

Definition at line 1646 of file vacc.c.

Here is the call graph for this function:

VEXTERNC int Vacc_wcaEnergyAtom ( Vacc thee,
APOLparm apolparm,
Valist alist,
Vclist clist,
int  iatom,
double *  value 
)

Calculate the WCA energy for an atom.

Author:
Dave Gohara and Nathan Baker
Returns:
Success flag
Parameters:
theeAccessibility object
apolparmApolar calculation parameters
alistAtom list
clistCell list associated with Vacc object
iatomIndex for atom of interest
valueSet to energy value

Definition at line 1505 of file vacc.c.

Here is the call graph for this function:

Here is the caller graph for this function:

VEXTERNC int Vacc_wcaForceAtom ( Vacc thee,
APOLparm apolparm,
Vclist clist,
Vatom atom,
double *  force 
)

Return the WCA integral force.

Author:
David Gohara
Returns:
WCA energy (kJ/mol/A)
Parameters:
theeAccessibility object
apolparmApolar calculation parameters
clistClist for acc object
atomCurrent atom
forceForce for atom

Definition at line 1681 of file vacc.c.

Here is the call graph for this function:

VEXTERNC VaccSurf* VaccSurf_ctor ( Vmem *  mem,
double  probe_radius,
int  nsphere 
)

Allocate and construct the surface object; do not assign surface points to positions.

Author:
Nathan Baker
Returns:
Newly allocated and constructed surface object
Parameters:
memMemory manager (can be VNULL)
probe_radiusProbe radius (in A) for this surface
nsphereNumber of points in sphere

Definition at line 731 of file vacc.c.

Here is the call graph for this function:

Here is the caller graph for this function:

VEXTERNC int VaccSurf_ctor2 ( VaccSurf thee,
Vmem *  mem,
double  probe_radius,
int  nsphere 
)

Construct the surface object using previously allocated memory; do not assign surface points to positions.

Author:
Nathan Baker
Returns:
1 if successful, 0 otherwise
Parameters:
theeAllocated memory
memMemory manager (can be VNULL)
probe_radiusProbe radius (in A) for this surface
nsphereNumber of points in sphere

Definition at line 746 of file vacc.c.

Here is the caller graph for this function:

VEXTERNC void VaccSurf_dtor ( VaccSurf **  thee )

Destroy the surface object and free its memory.

Author:
Nathan Baker
Parameters:
theeObject to be destroyed

Definition at line 777 of file vacc.c.

Here is the call graph for this function:

Here is the caller graph for this function:

VEXTERNC void VaccSurf_dtor2 ( VaccSurf thee )

Destroy the surface object.

Author:
Nathan Baker
Parameters:
theeObject to be destroyed

Definition at line 791 of file vacc.c.

Here is the caller graph for this function:

VEXTERNC VaccSurf* VaccSurf_refSphere ( Vmem *  mem,
int  npts 
)

Set up an array of points for a reference sphere of unit radius.

Generates approximately npts # of points (actual number stored in thee->npts) somewhat uniformly distributed across a sphere of unit radius centered at the origin.

Note:
This routine was shamelessly ripped off from sphere.f from UHBD as developed by Michael K. Gilson.
Author:
Nathan Baker (original FORTRAN code by Mike Gilson)
Returns:
Reference sphere surface object
Parameters:
memMemory object
nptsRequested number of points on sphere

Definition at line 867 of file vacc.c.

Here is the call graph for this function:

Here is the caller graph for this function: