Solvent_Accessible_Surface contains a procedure calculating the solvent accessible surface area of a system and its coordinate derivatives.
The subroutine in this module uses the public domain code of L. Wesson and D. Eisenberg, Protein Science, 1, 227-235, 1992.
Module | Variables |
---|---|
CONSTANTS | PI |
DEFINITIONS | DP |
IO_UNITS | OUTPUT |
STATUS | ERROR |
ATOMS | ATMCRD, NATOMS |
None.
There is a single public subroutine in this module.
Subroutine | Purpose |
---|---|
SURFACE_CALCULATE | Calculate the solvent accessible surface for a system. |
Argument | Type | Intent | Optional | Purpose |
---|---|---|---|---|
RADIUS | Real(1:NATOMS) | Pointer | No | The atomic radii. |
PROBE_RADIUS | Real | In | Yes | The probe radius. |
SELECTION | Logical(1:NATOMS) | In | Yes | An atom selection array. |
WEIGHTS | Real(1:NATOMS) | In | Yes | An atom weights array. |
TOTAL_AREA | Real | Out | Yes | The total surface area. |
AREA_DERIVATIVES | Real(1:3,1:NATOMS) | Out | Yes | The surface area coordinate derivatives. |
AREA_SURFACES | Real(1:NATOMS) | Out | Yes | The atomic surface areas. |
Logical | Out | Yes | The print flag. |
There are quite a number of simple things that can be done to speed up the calculation in this subroutine which will be done in due course. Some modifications are also necessary for atoms which have zero radii.