Recent new interest in modelling the proteinsolvent interactions by continuum methods lead to several improvements for calculating the solvent accessible surface area and its derivative [1]. One of the most efficient analytical method is a parametric approach based on the GaussBonnet theorem. This approach has been implemented as molecular surface routine PARAREA [2] in the energy minimization and Monte Carlo simulation package FANTOM [3].
In this study we demonstrate that this approach can be further enhanced by avoiding the calculation of a relatively large number of potential intersection points in the GaussBonnet path. PARAREA finds them by a straightforward test of all atom pairs in the neighbor list of each atom. Numerical tests showed that this part of the routine consumes a significant portion of the execution time. The new surface routine GETAREA efficiently finds the solvent exposed vertices of the GaussBonnet path by calculating the intersection of halfspaces (IHS). These halfspaces are defined by the planes of twosphere intersection. Geometric inversion conveniently transforms intersection planes into a set points in dual space. Convex hull of these points corresponds to the desired IHS [4]. Finally, the vertices of GaussBonnet path are found by intersecting edges of IHS with the central atom sphere. Additionally, the list of neighbor atoms is obtained with the aid of a cubic lattice algorithm, as opposed to direct search in PARAREA.
Numerical tests with several conformations of the peptide Metenkephalin and the mediumsize protein tendamistat show the correctness of the area and gradient calculation. The CPU time spent in GETAREA has been significantly reduced by factors of 0.4 (Metenkephalin) and 0.6 (tendamistat) as compared to PARAREA. With the improved performance of the method we are currently performing search for low energy conformations of peptides in solution and apply the improved version of FANTOM in studies of protein folding.
ProteinSolvent Interaction Energy:
ASA and its derivatives can be calculated analytically from GaussBonnet theorem:
^{i} _{n,n+1} : angle between tangential vectors;

New Vector Parametrization of Accessible Arcs

Definitions:x_{i} : Cartesian coordinates of atom i; x^{i}_{k} = x_{k}x_{i} ; d^{i}_{k} = x^{i}_{k} : interatomic distance vector and its length; µ^{i}_{k} = x^{i}_{k}/d^{i}_{k} : unit vector along x^{i}_{k} ; g^{i}_{k} = [(d^{i}_{k})^{2} + r_{i}^{2} + r_{k}^{2}]/[2d^{i}_{k}]: distance to the center of the ikth intersection circle; n^{ik}_{j} = [µ^{i}_{k}×P^{i}_{kj}]/a^{ik} ; m^{ik}_{l} = [µ^{i}_{k}×Q^{i}_{kl}]/a^{ik} : tangential unit vectors; S^{ik}_{jl} = sign[µ^{i}_{k}· (n^{ik}_{j}×m^{ik}_{l})] : orientation of the tangential vectors. 
Flowchart illustrating algorithmic calculation of accessible surface area and its partial derivatives( denotes partial derivative with respect to the relative Cartesian coordinates)

Problem : find all accessible arcs = find all relevant intersection points P and Q Solution implemented in routine PARAREA: find all vectors P, Q and eliminate those that are buried by other neighbor atoms. Trouble : this algorithm is highly CPUtime consuming:

New solution implemented in routine GETAREA: relevant P, Q can be determined from 3D halfspace intersection. Simple 2D example illustrates this concept:


Two intersecting spheres, S and K_{i}, define a halfspace H_{i}. Surface of S, S, intersected with H_{i} gives accessible surface, A_{i} (marked in blue), i.e., part of S that is not buried in K_{i}:

If sphere S has N neighbors, then its accessible surface is given by S crossed with intersection of all N halfspaces:
Halfspace intersection is a polyhedron (called here the "IHS polyhedron") whose edges cross S at exactly the desired points P and Q. 
In 3D the vertices of GaussBonnet path are points where edges of the IHS polyhedron cross the sphere surface:

Finding the IHS polyhedron of N halfspaces from a convex hull using the power of computational geometry. Some useful definitions:




Step 1: find distance vectors (red) to every halfspace boundary and transform them by geometric inversion (blue). 

Step 2: find convex hull (blue) of transformed points. Find distance vectors (green) to the faces of convex hull. 

Step 3: geometric inversion of green vectors yields vertices (black) of the IHS polyhedron (red). 
Performance of Surface Routines


Molecule 
Metenkephalin 
Tendamistat 

Routine 
PARAREA 
PARAREA 

Total CPU time [s] 
33.4 
17.8 
823 
437 
CPU time spent in surface routine [s] 
26.0 
11.1 
573 
182 
Number of routine invocations 
1302 
1215 
1349 
1382 
CPU time per invocation [s] 
0.020 
0.009 
0.425 
0.132 
Ratio (P/G) 
2.22 
3.22 
Application: folding studies of the pheromone Er10 from Euplotes raikovi (38 amino acid residues).


Conclusions:
