Main Page   Modules   Compound List   File List   Compound Members   File Members  

macromolecule class

Class representing a generic macromolecule and an interface. More...


Files

file  macromolecule.h
 Data members and function declarations for class macromolecule.


Compounds

struct  macromolecule
 Class for generic representation of macromolecules. More...


Defines

#define _MACROMOLECULE_H_   1
 Environment variable for 'macromolecule.h'.


Functions

macromolecule * macromolecule_ctor (char id)
 Constructor for the macromolecule object. More...

void macromolecule_dtor (macromolecule *thee, char id)
 Destructor for the macromolecule object. More...

double Born_vol (macromolecule *thee)
 Volume calculation for Born ion. More...

int Born_is_at (macromolecule *thee, double *xyz, double rad)
 Accessibility check for a specified point (Born ion). More...

double Born_total_steric (macromolecule *thee, int types, ionlist *ions, char mode)
 Get value for total steric energy due to interaction of Born ion with explicit ions. More...

double Born_total_steric2 (macromolecule *thee, int types, ionlist *ions, char mode, double *coordsnew[])
 Get value for total steric energy due to interaction of Born ion with explicit ions. More...

double Born_one_steric (macromolecule *thee, ionlist *ions, int type, int pos, char mode)
 Get value for steric energy due to interaction of Born ion with specified ion. More...

double Born_total_estatic (macromolecule *thee, int types, ionlist *ions)
 Get value for total electrostatic energy due to interaction of Born ion with explicit ions. More...

double Born_total_estatic2 (macromolecule *thee, int types, ionlist *ions, double *coordsnew[])
 Get value for total electrostatic energy due to interaction of Born ion with explicit ions. More...

double Born_point_pot (macromolecule *thee, double *point)
 Get value for electrostatic potential due to Born ion at given point. More...

void Born_reference (macromolecule *thee, ionlist *ions, int types, double rad, int res, double KB_T, double KB_T_IN_J)
 Writes out some reference knowledge for the Born ion problem based on the work by Debye and Hückel . More...

double PQR_vol (macromolecule *thee)
 Volume calculation for PQR-file macromolecule. More...

int PQR_is_at (macromolecule *thee, double *xyz, double rad)
 Accessibility check for a specified point (van-der-Waals surface of a PQR-file macromolecule). More...

void PQR_rotate (macromolecule *thee)
 Rotates PQR-based macromolecule in case of cylindrical simulation systems. More...

double PQR_total_steric (macromolecule *thee, int types, ionlist *ions, char mode)
 Get value for total steric energy due to interaction of PQR-based macromolecule with explicit ions. More...

double PQR_total_steric2 (macromolecule *thee, int types, ionlist *ions, char mode, double *coordsnew[])
 Get value for total steric energy due to interaction of PQR-based macromolecule with explicit ions. More...

double PQR_one_steric (macromolecule *thee, ionlist *ions, int type, int pos, char mode)
 Get value for steric energy due to interaction of PQR-based macromolecule with specified ion. More...

double PQR_total_estatic (macromolecule *thee, int types, ionlist *ions)
 Get value for total electrostatic energy due to interaction of PQR-based macromolecule with explicit ions. More...

double PQR_total_estatic2 (macromolecule *thee, int types, ionlist *ions, double *coordsnew[])
 Get value for total electrostatic energy due to interaction of PQR-based macromolecule with explicit ions. More...

double PQR_point_pot (macromolecule *thee, double *point)
 Get value for electrostatic potential due to PQR-based macromolecule at given point. More...

double PQR_sphere_maxradius (macromolecule *thee)
 Gives maximum spherical radius of a PQR-based macromolecule for a sphere centered at {0.0,0.0,0.0}. More...

double PQR_cylinder_maxradius (macromolecule *thee)
 Gives maximum cylindrical radius of a PQR-based macromolecule for a cylinder centered at {0.0,0.0,0.0}. More...

void Born_shift (macromolecule *thee, double xshift, double yshift, double zshift)
 Shifts center coordinates of Born ion by specified vector. More...

void PQR_shift (macromolecule *thee, double xshift, double yshift, double zshift)
 Shifts coordinates in atom list of a PQR-based macromolecule by specified vector. More...

double CYL_vol (macromolecule *thee)
 Volume calculation for cylinder. More...

int CYL_is_at (macromolecule *thee, double *xyz, double rad)
 Accessibility check for a specified point (charged cylinder). More...

double CYL_total_steric (macromolecule *thee, int types, ionlist *ions, char mode)
 Get value for total steric energy due to interaction of charged cylinder with explicit ions. More...

double CYL_total_steric2 (macromolecule *thee, int types, ionlist *ions, char mode, double *coordsnew[])
 Get value for total steric energy due to interaction of charged cylinder with explicit ions. More...

double CYL_one_steric (macromolecule *thee, ionlist *ions, int type, int pos, char mode)
 Get value for steric energy due to interaction of charged cylinder with specified ion. More...

double CYL_total_estatic (macromolecule *thee, int types, ionlist *ions)
 Get value for total electrostatic energy due to interaction of charged cylinder with explicit ions. More...

double CYL_total_estatic2 (macromolecule *thee, int types, ionlist *ions, double *coordsnew[])
 Get value for total electrostatic energy due to interaction of charged cylinder with explicit ions. More...

double CYL_point_pot (macromolecule *thee, double *point)
 Get value for electrostatic potential due to charged cylinder at given point. More...


Detailed Description

Class representing a generic macromolecule and an interface.

To be able to handle different macromolecule types function pointers are used (which replace virtual abstract functions and inheritance in Clean OO-C)


Function Documentation

int Born_is_at macromolecule   thee,
double *    xyz,
double    rad
 

Accessibility check for a specified point (Born ion).

Author:
Andreas Vitalis
Parameters:
thee  Macromolecule object
xyz  pointer to coordinate array holding point to be tested (Cartesian in )
rad  Specifies the radius (in ) of 'xyz' (tests if spheres are overlapping or not)
Returns:
'1' if point is not accessible, '0' otherwise

double Born_one_steric macromolecule   thee,
ionlist   ions,
int    type,
int    pos,
char    mode
 

Get value for steric energy due to interaction of Born ion with specified ion.

Author:
Andreas Vitalis
Parameters:
thee  Macromolecule object
ions  Pointer to array of ionlist objects, indexing starts at '1'
type  Integer number specifying the type of the ion (in terms of 'ions'-indexing)
pos  Integer number specifying the position of the x-coordinate of the ion within the 'ions'-coordinates array
mode  Character indicating the used expression for calculating steric interactions
Returns:
Value for the contribution to the steric interaction energy in J

double Born_point_pot macromolecule   thee,
double *    point
 

Get value for electrostatic potential due to Born ion at given point.

Author:
Andreas Vitalis
Parameters:
thee  Macromolecule object
point  pointer to coordinate array, which specifies the point of interest (Cartesian in )
Returns:
Value for the elelctrostatic potential in J/e

void Born_reference macromolecule   thee,
ionlist   ions,
int    types,
double    rad,
int    res,
double    KB_T,
double    KB_T_IN_J
 

Writes out some reference knowledge for the Born ion problem based on the work by Debye and Hückel .

Author:
Andreas Vitalis
Parameters:
thee  Macromolecule object
ions  Pointer to array of ionlist objects, indexing starts at '1'
types  Integer number specifiying the number of different ion types given by 'ions'
rad  Radius of the simulation sphere (routine is only used for spherical systems)
res  Resolution for distance-dependent calculations
KB_T  Thermal energy in kJ/mol
KB_T_IN_J  Thermal energy in J

void Born_shift macromolecule   thee,
double    xshift,
double    yshift,
double    zshift
 

Shifts center coordinates of Born ion by specified vector.

Author:
Andreas Vitalis
Parameters:
thee  Macromolecule object
xshift  First component of shift-vector
yshift  Second component of shift-vector
zshift  Third component of shift-vector

double Born_total_estatic macromolecule   thee,
int    types,
ionlist   ions
 

Get value for total electrostatic energy due to interaction of Born ion with explicit ions.

Author:
Andreas Vitalis
Parameters:
thee  Macromolecule object
types  Integer number specifiying the number of different ion types given by 'ions'
ions  Pointer to array of ionlist objects, indexing starts at '1'
Returns:
Value for the total electrostatic interaction energy in J

double Born_total_estatic2 macromolecule   thee,
int    types,
ionlist   ions,
double *    coordsnew[]
 

Get value for total electrostatic energy due to interaction of Born ion with explicit ions.

Coordinates for ions are taken from temporary/VEXTERNCal array

Author:
Andreas Vitalis
Parameters:
thee  Macromolecule object
types  Integer number specifiying the number of different ion types given by 'ions'
ions  Pointer to array of ionlist objects, indexing starts at '1'
coordsnew  Array of pointers used to hold previously modified coordinates to recalculate energy (first index for ion types, second one in form of {x1,y1,z1,x2,y2,z2,...,xn,yn,zn} (starting at '1') for explicit Cartesian coordinates in
Returns:
Value for the total electrostatic interaction energy in J

double Born_total_steric macromolecule   thee,
int    types,
ionlist   ions,
char    mode
 

Get value for total steric energy due to interaction of Born ion with explicit ions.

Author:
Andreas Vitalis
Parameters:
thee  Macromolecule object
types  Integer number specifiying the number of different ion types given by 'ions'
ions  Pointer to array of ionlist objects, indexing starts at '1'
mode  Character indicating the used expression for calculating steric interactions
Returns:
Value for the total steric interaction energy in J

double Born_total_steric2 macromolecule   thee,
int    types,
ionlist   ions,
char    mode,
double *    coordsnew[]
 

Get value for total steric energy due to interaction of Born ion with explicit ions.

Coordinates for ions are taken from temporary/VEXTERNCal array

Author:
Andreas Vitalis
Parameters:
thee  Macromolecule object
types  Integer number specifiying the number of different ion types given by 'ions'
ions  Pointer to array of ionlist objects, indexing starts at '1'
mode  Character indicating the used expression for calculating steric interactions
coordsnew  Array of pointers used to hold previously modified coordinates to recalculate energy (first index for ion types, second one in form of {x1,y1,z1,x2,y2,z2,...,xn,yn,zn} (starting at '1') for explicit Cartesian coordinates in
Returns:
Value for the total steric interaction energy in J

double Born_vol macromolecule   thee
 

Volume calculation for Born ion.

Author:
Andreas Vitalis
Parameters:
thee  Macromolecule object
Returns:
Solvent-inaccessible volume in

int CYL_is_at macromolecule   thee,
double *    xyz,
double    rad
 

Accessibility check for a specified point (charged cylinder).

Author:
Andreas Vitalis
Parameters:
thee  Macromolecule object
xyz  pointer to coordinate array holding point to be tested (Cartesian in )
rad  Specifies the radius (in ) of 'xyz' (tests if xyz-sphere and cylinder are overlapping or not)
Returns:
'1' if point is not accessible, '0' otherwise

double CYL_one_steric macromolecule   thee,
ionlist   ions,
int    type,
int    pos,
char    mode
 

Get value for steric energy due to interaction of charged cylinder with specified ion.

Author:
Andreas Vitalis
Parameters:
thee  Macromolecule object
ions  Pointer to array of ionlist objects, indexing starts at '1'
type  Integer number specifying the type of the ion (in terms of 'ions'-indexing)
pos  Integer number specifying the position of the x-coordinate of the ion within the 'ions'-coordinates array
mode  Character indicating the used expression for calculating steric interactions (only 'S' is supported for charged cylinders)
Returns:
Value for the contribution to the steric interaction energy in J

double CYL_point_pot macromolecule   thee,
double *    point
 

Get value for electrostatic potential due to charged cylinder at given point.

Author:
Andreas Vitalis
Parameters:
thee  Macromolecule object
point  pointer to coordinate array, which specifies the point of interest (Cartesian in )
Returns:
Value for the elelctrostatic potential in J/e

double CYL_total_estatic macromolecule   thee,
int    types,
ionlist   ions
 

Get value for total electrostatic energy due to interaction of charged cylinder with explicit ions.

Author:
Andreas Vitalis
Parameters:
thee  Macromolecule object
types  Integer number specifiying the number of different ion types given by 'ions'
ions  Pointer to array of ionlist objects, indexing starts at '1'
Returns:
Value for the total electrostatic interaction energy in J

double CYL_total_estatic2 macromolecule   thee,
int    types,
ionlist   ions,
double *    coordsnew[]
 

Get value for total electrostatic energy due to interaction of charged cylinder with explicit ions.

Coordinates for ions are taken from temporary/external array

Author:
Andreas Vitalis
Parameters:
thee  Macromolecule object
types  Integer number specifiying the number of different ion types given by 'ions'
ions  Pointer to array of ionlist objects, indexing starts at '1'
coordsnew  Array of pointers used to hold previously modified coordinates to recalculate energy (first index for ion types, second one in form of {x1,y1,z1,x2,y2,z2,...,xn,yn,zn} (starting at '1') for explicit Cartesian coordinates in
Returns:
Value for the total electrostatic interaction energy in J

double CYL_total_steric macromolecule   thee,
int    types,
ionlist   ions,
char    mode
 

Get value for total steric energy due to interaction of charged cylinder with explicit ions.

Author:
Andreas Vitalis
Parameters:
thee  Macromolecule object
types  Integer number specifiying the number of different ion types given by 'ions'
ions  Pointer to array of ionlist objects, indexing starts at '1'
mode  Character indicating the used expression for calculating steric interactions
Returns:
Value for the total steric interaction energy in J

double CYL_total_steric2 macromolecule   thee,
int    types,
ionlist   ions,
char    mode,
double *    coordsnew[]
 

Get value for total steric energy due to interaction of charged cylinder with explicit ions.

Coordinates for ions are taken from temporary/external array

Author:
Andreas Vitalis
Parameters:
thee  Macromolecule object
types  Integer number specifiying the number of different ion types given by 'ions'
ions  Pointer to array of ionlist objects, indexing starts at '1'
mode  Character indicating the used expression for calculating steric interactions (only 'S' is supported for charged cylinders)
coordsnew  Array of pointers used to hold previously modified coordinates to recalculate energy (first index for ion types, second one in form of {x1,y1,z1,x2,y2,z2,...,xn,yn,zn} (starting at '1') for explicit Cartesian coordinates in
Returns:
Value for the total steric interaction energy in J

double CYL_vol macromolecule   thee
 

Volume calculation for cylinder.

Author:
Andreas Vitalis
Parameters:
thee  Macromolecule object
Returns:
Solvent-inaccessible volume in

macromolecule* macromolecule_ctor char    id
 

Constructor for the macromolecule object.

Assigns function pointers accroding to passed identification character

Author:
Andreas Vitalis
Parameters:
id  Character ID specifying the type of macromolecule
Returns:
Macromolecule object

void macromolecule_dtor macromolecule   thee,
char    id
 

Destructor for the macromolecule object.

Author:
Andreas Vitalis
Parameters:
thee  Macromolecule object
id  Character ID specifying the type of macromolecule

double PQR_cylinder_maxradius macromolecule   thee
 

Gives maximum cylindrical radius of a PQR-based macromolecule for a cylinder centered at {0.0,0.0,0.0}.

Author:
Andreas Vitalis
Parameters:
thee  Macromolecule object
Returns:
Maximum cylindrical radius in (maximum distance of any atom from z-axis)

int PQR_is_at macromolecule   thee,
double *    xyz,
double    rad
 

Accessibility check for a specified point (van-der-Waals surface of a PQR-file macromolecule).

Author:
Andreas Vitalis
Parameters:
thee  Macromolecule object
xyz  Pointer to coordinate array holding point to be tested (Cartesian in )
rad  Specifies the radius of 'xyz' (tests if xyz-sphere and PQR-union of spheres are overlapping or not)
Returns:
'1' if point is not accessible, '0' otherwise

double PQR_one_steric macromolecule   thee,
ionlist   ions,
int    type,
int    pos,
char    mode
 

Get value for steric energy due to interaction of PQR-based macromolecule with specified ion.

Author:
Andreas Vitalis
Parameters:
thee  Macromolecule object
ions  Pointer to array of ionlist objects, indexing starts at '1'
type  Integer number specifying the type of the ion (in terms of 'ions'-indexing)
pos  Integer number specifying the position of the x-coordinate of the ion within the 'ions'-coordinates array
mode  Character indicating the used expression for calculating steric interactions
Returns:
Value for the contribution to the steric interaction energy in J

double PQR_point_pot macromolecule   thee,
double *    point
 

Get value for electrostatic potential due to PQR-based macromolecule at given point.

Author:
Andreas Vitalis
Parameters:
thee  Macromolecule object
point  pointer to coordinate array, which specifies the point of interest (Cartesian in )
Returns:
Value for the elelctrostatic potential in J/e

void PQR_rotate macromolecule   thee
 

Rotates PQR-based macromolecule in case of cylindrical simulation systems.

Simply finds the two atoms, which have the longest distance and aligns the simulation system's z-axis to the resulting vector

Parameters:
thee  Macromolecule object
Author:
Andreas Vitalis

void PQR_shift macromolecule   thee,
double    xshift,
double    yshift,
double    zshift
 

Shifts coordinates in atom list of a PQR-based macromolecule by specified vector.

Author:
Andreas Vitalis
Parameters:
thee  Macromolecule object
xshift  First component of shift-vector
yshift  Second component of shift-vector
zshift  Third component of shift-vector

double PQR_sphere_maxradius macromolecule   thee
 

Gives maximum spherical radius of a PQR-based macromolecule for a sphere centered at {0.0,0.0,0.0}.

Author:
Andreas Vitalis
Parameters:
thee  Macromolecule object
Returns:
Maximum spherical radius in (maximum distance of any atom from center)

double PQR_total_estatic macromolecule   thee,
int    types,
ionlist   ions
 

Get value for total electrostatic energy due to interaction of PQR-based macromolecule with explicit ions.

Author:
Andreas Vitalis
Parameters:
thee  Macromolecule object
types  Integer number specifiying the number of different ion types given by 'ions'
ions  Pointer to array of ionlist objects, indexing starts at '1'
Returns:
Value for the total electrostatic interaction energy in J

double PQR_total_estatic2 macromolecule   thee,
int    types,
ionlist   ions,
double *    coordsnew[]
 

Get value for total electrostatic energy due to interaction of PQR-based macromolecule with explicit ions.

Coordinates for ions are taken from temporary/VEXTERNCal array

Author:
Andreas Vitalis
Parameters:
thee  Macromolecule object
types  Integer number specifiying the number of different ion types given by 'ions'
ions  Pointer to array of ionlist objects, indexing starts at '1'
coordsnew  Array of pointers used to hold previously modified coordinates to recalculate energy (first index for ion types, second one in form of {x1,y1,z1,x2,y2,z2,...,xn,yn,zn} (starting at '1') for explicit Cartesian coordinates in
Returns:
Value for the total electrostatic interaction energy in J

double PQR_total_steric macromolecule   thee,
int    types,
ionlist   ions,
char    mode
 

Get value for total steric energy due to interaction of PQR-based macromolecule with explicit ions.

Author:
Andreas Vitalis
Parameters:
thee  Macromolecule object
types  Integer number specifiying the number of different ion types given by 'ions'
ions  Pointer to array of ionlist objects, indexing starts at '1'
mode  Character indicating the used expression for calculating steric interactions
Returns:
Value for the total steric interaction energy in J

double PQR_total_steric2 macromolecule   thee,
int    types,
ionlist   ions,
char    mode,
double *    coordsnew[]
 

Get value for total steric energy due to interaction of PQR-based macromolecule with explicit ions.

Coordinates for ions are taken from temporary/VEXTERNCal array

Author:
Andreas Vitalis
Parameters:
thee  Macromolecule object
types  Integer number specifiying the number of different ion types given by 'ions'
ions  Pointer to array of ionlist objects, indexing starts at '1'
mode  Character indicating the used expression for calculating steric interactions
coordsnew  Array of pointers used to hold previously modified coordinates to recalculate energy (first index for ion types, second one in form of {x1,y1,z1,x2,y2,z2,...,xn,yn,zn} (starting at '1') for explicit Cartesian coordinates in
Returns:
Value for the total steric interaction energy in J

double PQR_vol macromolecule   thee
 

Volume calculation for PQR-file macromolecule.

Author:
Andreas Vitalis
Parameters:
thee  Macromolecule object
Returns:
Solvent-inaccessible volume in


Generated on Tue Jun 18 16:58:38 2002 for ISIM by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002