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 | |
unsigned long int | Vacc_memChk (Vacc *thee) |
Get number of bytes in this object and its members. | |
VaccSurf * | VaccSurf_ctor (Vmem *mem, double probe_radius, int nsphere) |
Allocate and construct the surface object; do not assign surface points to positions. | |
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. | |
void | VaccSurf_dtor (VaccSurf **thee) |
Destroy the surface object and free its memory. | |
void | VaccSurf_dtor2 (VaccSurf *thee) |
Destroy the surface object. | |
VaccSurf * | VaccSurf_refSphere (Vmem *mem, int npts) |
Set up an array of points for a reference sphere of unit radius. | |
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. | |
Vacc * | Vacc_ctor (Valist *alist, Vclist *clist, double surf_density) |
Construct the accessibility object. | |
int | Vacc_ctor2 (Vacc *thee, Valist *alist, Vclist *clist, double surf_density) |
FORTRAN stub to construct the accessibility object. | |
void | Vacc_dtor (Vacc **thee) |
Destroy object. | |
void | Vacc_dtor2 (Vacc *thee) |
FORTRAN stub to destroy object. | |
double | Vacc_vdwAcc (Vacc *thee, double center[VAPBS_DIM]) |
Report van der Waals accessibility. | |
double | Vacc_ivdwAcc (Vacc *thee, double center[VAPBS_DIM], double radius) |
Report inflated van der Waals accessibility. | |
double | Vacc_molAcc (Vacc *thee, double center[VAPBS_DIM], double radius) |
Report molecular accessibility. | |
double | Vacc_fastMolAcc (Vacc *thee, double center[VAPBS_DIM], double radius) |
Report molecular accessibility quickly. | |
double | Vacc_splineAcc (Vacc *thee, double center[VAPBS_DIM], double win, double infrad) |
Report spline-based accessibility. | |
void | Vacc_splineAccGrad (Vacc *thee, double center[VAPBS_DIM], double win, double infrad, double *grad) |
Report gradient of spline-based accessibility. | |
double | Vacc_splineAccAtom (Vacc *thee, double center[VAPBS_DIM], double win, double infrad, Vatom *atom) |
Report spline-based accessibility for a given atom. | |
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). | |
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). | |
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). | |
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). | |
double | Vacc_SASA (Vacc *thee, double radius) |
Build the solvent accessible surface (SAS) and calculate the solvent accessible surface area. | |
double | Vacc_totalSASA (Vacc *thee, double radius) |
Return the total solvent accessible surface area (SASA). | |
double | Vacc_atomSASA (Vacc *thee, double radius, Vatom *atom) |
Return the atomic solvent accessible surface area (SASA). | |
VaccSurf * | Vacc_atomSASPoints (Vacc *thee, double radius, Vatom *atom) |
Get the set of points for this atom's solvent-accessible surface. | |
void | Vacc_atomdSAV (Vacc *thee, double radius, Vatom *atom, double *dSA) |
Get the derivatve of solvent accessible volume. | |
void | Vacc_atomdSASA (Vacc *thee, double dpos, double radius, Vatom *atom, double *dSA) |
Get the derivatve of solvent accessible area. | |
void | Vacc_totalAtomdSASA (Vacc *thee, double dpos, double radius, Vatom *atom, double *dSA) |
Testing purposes only. | |
void | Vacc_totalAtomdSAV (Vacc *thee, double dpos, double radius, Vatom *atom, double *dSA, Vclist *clist) |
Total solvent accessible volume. | |
double | Vacc_totalSAV (Vacc *thee, Vclist *clist, APOLparm *apolparm, double radius) |
Return the total solvent accessible volume (SAV). | |
VPUBLIC int | Vacc_wcaEnergy (Vacc *thee, APOLparm *apolparm, Valist *alist, Vclist *clist) |
Return the WCA integral energy. | |
VPUBLIC int | Vacc_wcaForceAtom (Vacc *thee, APOLparm *apolparm, Vclist *clist, Vatom *atom, double *force) |
Return the WCA integral force. |
Solvent- and ion-accessibility oracle.
Get the derivatve of solvent accessible area.
dpos | Acessibility object | |
radius | Atom position offset | |
atom | Probe radius (Å) | |
dSA | Atom of interest Array holding answers of calc |
Referenced by forceAPOL().
Get the derivatve of solvent accessible volume.
radius | Acessibility object | |
atom | Probe radius (Å) | |
dSA | Atom of interest Array holding answers of calc |
Referenced by forceAPOL().
Return the atomic solvent accessible surface area (SASA).
radius | Accessibility object | |
atom | Probe molecule radius (Å) Atom of interest |
References sVaccSurf::area, sVaccSurf::probe_radius, sVacc::refSphere, sVacc::surf, Vacc_atomSurf(), Vacc_SASA(), VaccSurf_dtor2(), and Vatom_getAtomID().
Referenced by fillcoCoefMolDielNoSmooth(), and initAPOL().
Get the set of points for this atom's solvent-accessible surface.
radius | Accessibility object | |
atom | Probe molecule radius (Å) Atom of interest |
References sVaccSurf::probe_radius, sVacc::refSphere, sVacc::surf, Vacc_atomSurf(), Vacc_SASA(), VaccSurf_dtor2(), and Vatom_getAtomID().
Referenced by fillcoCoefMolDielNoSmooth().
Set up an array of points corresponding to the SAS due to a particular atom.
atom | Accessibility object for molecule | |
ref | Atom for which the surface should be constructed | |
probe_radius | Reference sphere which sets the resolution for the surface. |
References sVaccSurf::area, sVaccSurf::bpts, ivdwAccExclus(), sVacc::mem, sVaccSurf::npts, VaccSurf_ctor(), Vatom_getAtomID(), Vatom_getPosition(), Vatom_getRadius(), sVaccSurf::xpts, sVaccSurf::ypts, and sVaccSurf::zpts.
Referenced by forceAPOL(), Vacc_atomSASA(), Vacc_atomSASPoints(), and Vacc_SASA().
Construct the accessibility object.
clist | Molecule for accessibility queries | |
surf_density | Pre-constructed cell list for looking up atoms near specific positions Minimum per-atom solvent accessible surface point density (in pts/A^2) |
References Vacc_ctor2().
Referenced by initAPOL(), and Vpbe_ctor2().
FORTRAN stub to construct the accessibility object.
alist | Memory for Vacc objet | |
clist | Molecule for accessibility queries | |
surf_density | Pre-constructed cell list for looking up atoms near specific positions Minimum per-atom solvent accessible surface point density (in pts/A^2) |
References sVacc::mem, sVacc::surf, Vacc_allocate(), and Vacc_storeParms().
Referenced by Vacc_ctor().
void Vacc_dtor | ( | Vacc ** | thee | ) |
Destroy object.
thee | Pointer to memory location of object |
References Vacc_dtor2().
Referenced by initAPOL(), and Vpbe_dtor2().
void Vacc_dtor2 | ( | Vacc * | thee | ) |
FORTRAN stub to destroy object.
thee | Pointer to object |
References sVacc::alist, sVacc::atomFlags, sVacc::mem, sVacc::refSphere, sVacc::surf, VaccSurf_dtor(), and Valist_getNumberAtoms().
Referenced by Vacc_dtor().
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.
center | Accessibility object | |
radius | Probe center coordinates Probe radius (in Å) |
References sVclistCell::atoms, sVacc::clist, sVclistCell::natoms, sVaccSurf::npts, sVacc::surf, Vacc_SASA(), Vatom_getAtomID(), Vclist_getCell(), sVaccSurf::xpts, sVaccSurf::ypts, and sVaccSurf::zpts.
Referenced by Vacc_molAcc().
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.
center | Accessibility object | |
radius | Probe center coordinates Probe radius (Å) |
Referenced by Vacc_molAcc(), Vacc_totalSAV(), Vacc_wcaForceAtom(), Vfetk_fillArray(), and Vpmg_fillArray().
unsigned long int Vacc_memChk | ( | Vacc * | thee | ) |
Get number of bytes in this object and its members.
thee | Object for memory check |
References sVacc::mem.
Referenced by Vpbe_memChk().
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.
center | Accessibility object | |
radius | Probe center coordinates Probe radius (in Å) |
References Vacc_fastMolAcc(), Vacc_ivdwAcc(), and Vacc_vdwAcc().
Referenced by Vfetk_fillArray(), and Vpmg_fillArray().
double Vacc_SASA | ( | Vacc * | thee, | |
double | radius | |||
) |
Build the solvent accessible surface (SAS) and calculate the solvent accessible surface area.
radius | Accessibility object Probe molecule radius (Å) |
References sVacc::alist, sVaccSurf::area, sVacc::mem, sVaccSurf::probe_radius, sVacc::refSphere, sVacc::surf, Vacc_atomSurf(), VaccSurf_dtor2(), Valist_getAtom(), and Valist_getNumberAtoms().
Referenced by fillcoCoefMolDielNoSmooth(), Vacc_atomSASA(), Vacc_atomSASPoints(), Vacc_fastMolAcc(), and Vacc_totalSASA().
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.
center | Accessibility object | |
win | Probe center coordinates | |
infrad | Spline window (Å) Inflation radius (Å) for ion access. |
References sVacc::atomFlags, sVclistCell::atoms, sVacc::clist, sVatom::id, sVclistCell::natoms, splineAcc(), Vclist_getCell(), and Vclist_maxRadius().
Referenced by Vfetk_fillArray(), and Vpmg_fillArray().
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.
center | Accessibility object | |
win | Probe center coordinates | |
infrad | Spline window (Å) | |
atom | Inflation radius (Å) for ion access. Atom |
References Vatom_getPosition(), and Vatom_getRadius().
Referenced by splineAcc().
void Vacc_splineAccGrad | ( | Vacc * | thee, | |
double | center[VAPBS_DIM], | |||
double | win, | |||
double | infrad, | |||
double * | grad | |||
) |
Report gradient of spline-based accessibility.
center | Accessibility object | |
win | Probe center coordinates | |
infrad | Spline window (Å) | |
grad | Inflation radius (Å) for ion access. 3-vector set to gradient of accessibility |
References sVacc::atomFlags, sVclistCell::atoms, sVacc::clist, sVatom::id, sVclistCell::natoms, splineAcc(), Vacc_splineAccGradAtomNorm(), Vclist_getCell(), and Vclist_maxRadius().
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.
center | Accessibility object | |
win | Probe center coordinates | |
infrad | Spline window (Å) | |
atom | Inflation radius (Å) for ion access. | |
force | Atom VAPBS_DIM-vector set to gradient of accessibility |
References Vatom_getPosition(), and Vatom_getRadius().
Referenced by Vacc_splineAccGrad(), and Vpmg_splineSelect().
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).
center | Accessibility object | |
win | Probe center coordinates | |
infrad | Spline window (Å) | |
atom | Inflation radius (Å) for ion access. | |
force | Atom VAPBS_DIM-vector set to gradient of accessibility |
References Vatom_getPosition(), and Vatom_getRadius().
Referenced by Vpmg_splineSelect().
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).
center | Accessibility object | |
win | Probe center coordinates | |
infrad | Spline window (Å) | |
atom | Inflation radius (Å) for ion access. | |
force | Atom VAPBS_DIM-vector set to gradient of accessibility |
References Vatom_getPosition(), and Vatom_getRadius().
Referenced by Vpmg_splineSelect().
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.
center | Accessibility object | |
win | Probe center coordinates | |
infrad | Spline window (Å) | |
atom | Inflation radius (Å) for ion access. | |
force | Atom VAPBS_DIM-vector set to gradient of accessibility |
References Vatom_getPosition(), and Vatom_getRadius().
Testing purposes only.
dpos | Acessibility object | |
radius | Atom position offset | |
atom | Probe radius (Å) | |
dSA | Atom of interest Array holding answers of calc |
References sVacc::refSphere, Vatom_getAtomID(), Vatom_getPosition(), and Vatom_getRadius().
void Vacc_totalAtomdSAV | ( | Vacc * | thee, | |
double | dpos, | |||
double | radius, | |||
Vatom * | atom, | |||
double * | dSA, | |||
Vclist * | clist | |||
) |
Total solvent accessible volume.
dpos | Acessibility object | |
radius | Atom position offset | |
atom | Probe radius (Å) | |
dSA | Atom of interest | |
clist | Array holding answers of calc clist for this calculation |
References sVacc::refSphere, Vacc_totalSAV(), Vatom_getAtomID(), Vatom_getPosition(), and Vatom_getRadius().
double Vacc_totalSASA | ( | Vacc * | thee, | |
double | radius | |||
) |
Return the total solvent accessible surface area (SASA).
radius | Accessibility object Probe molecule radius (Å) |
References Vacc_SASA().
Referenced by initAPOL().
Return the total solvent accessible volume (SAV).
clist | Accessibility object | |
apolparm | Clist for acc object | |
radius | Apolar parameters -- could be VNULL if none required for this calculation. If VNULL, then default settings are used Probe molecule radius (Å) |
References sAPOLparm::grid, sVclist::lower_corner, sAPOLparm::setgrid, sVclist::upper_corner, and Vacc_ivdwAcc().
Referenced by initAPOL(), and Vacc_totalAtomdSAV().
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).
center | Accessibility object Probe center coordinates |
Referenced by Vacc_molAcc(), Vfetk_fillArray(), and Vpmg_fillArray().
Return the WCA integral energy.
apolparm | Accessibility object | |
alist | Apolar calculation parameters | |
clist | Alist for acc object Clist for acc object |
References sAPOLparm::bconc, sAPOLparm::setwat, Valist_getNumberAtoms(), VRC_FAILURE, and VRC_SUCCESS.
Referenced by initAPOL().
VPUBLIC int Vacc_wcaForceAtom | ( | Vacc * | thee, | |
APOLparm * | apolparm, | |||
Vclist * | clist, | |||
Vatom * | atom, | |||
double * | force | |||
) |
Return the WCA integral force.
apolparm | Accessibility object | |
clist | Apolar calculation parameters | |
atom | Clist for acc object | |
force | Current atom Force for atom |
References sAPOLparm::bconc, sVatom::epsilon, sAPOLparm::grid, sVclist::lower_corner, sVatom::radius, sAPOLparm::setgrid, sAPOLparm::setwat, sAPOLparm::srad, sVclist::upper_corner, Vacc_ivdwAcc(), Vatom_getPosition(), VRC_FAILURE, VRC_SUCCESS, sAPOLparm::watepsilon, and sAPOLparm::watsigma.
Referenced by forceAPOL().
VaccSurf* VaccSurf_ctor | ( | Vmem * | mem, | |
double | probe_radius, | |||
int | nsphere | |||
) |
Allocate and construct the surface object; do not assign surface points to positions.
probe_radius | Memory manager (can be VNULL) | |
nsphere | Probe radius (in A) for this surface Number of points in sphere |
References VaccSurf_ctor2().
Referenced by Vacc_atomSurf(), and VaccSurf_refSphere().
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.
mem | Allocated memory | |
probe_radius | Memory manager (can be VNULL) | |
nsphere | Probe radius (in A) for this surface Number of points in sphere |
References sVaccSurf::area, sVaccSurf::bpts, sVaccSurf::mem, sVaccSurf::npts, sVaccSurf::probe_radius, sVaccSurf::xpts, sVaccSurf::ypts, and sVaccSurf::zpts.
Referenced by VaccSurf_ctor().
void VaccSurf_dtor | ( | VaccSurf ** | thee | ) |
Destroy the surface object and free its memory.
thee | Object to be destroyed |
References VaccSurf_dtor2().
Referenced by Vacc_dtor2().
void VaccSurf_dtor2 | ( | VaccSurf * | thee | ) |
Destroy the surface object.
thee | Object to be destroyed |
References sVaccSurf::bpts, sVaccSurf::npts, sVaccSurf::xpts, sVaccSurf::ypts, and sVaccSurf::zpts.
Referenced by Vacc_atomSASA(), Vacc_atomSASPoints(), Vacc_SASA(), and VaccSurf_dtor().
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.
npts | Memory object Requested number of points on sphere |
References sVaccSurf::bpts, sVaccSurf::npts, VaccSurf_ctor(), Vunit_pi, sVaccSurf::xpts, sVaccSurf::ypts, and sVaccSurf::zpts.
Referenced by Vacc_storeParms().