Skip to Main Content
We present faster sequential and parallel algorithms for computing the solvent accessible surface area (ASA) of protein molecules. The ASA can be obtained by calculating the exposed surface area of the spheres obtained by increasing the van der Waals' radii of the atoms with the van der Waals' radius of the solvent. Using domain specific knowledge, we show that the number of sphere intersections is O(n) and present algorithms to compute the same in O(nlogn) sequential time and O(nlogn/p) parallel time, where n is the number of atoms and p is the number of processors. We also present a heuristic based on space-filling curves to improve performance in practice. These are significant improvements over previously known algorithms which take /spl Omega/(n/sup 2/) time sequentially and /spl Omega/(n/sup 2//p) time in parallel. While existing parallel algorithms achieve their run-time by dynamic load balancing, our algorithms are faster and do not need load balancing.