Journal of Molecular Modeling

, Volume 16, Issue 3, pp 419–429

McVol - A program for calculating protein volumes and identifying cavities by a Monte Carlo algorithm

Original Paper


In this paper, we describe a Monte Carlo method for determining the volume of a molecule. A molecule is considered to consist of hard, overlapping spheres. The surface of the molecule is defined by rolling a probe sphere over the surface of the spheres. To determine the volume of the molecule, random points are placed in a three-dimensional box, which encloses the whole molecule. The volume of the molecule in relation to the volume of the box is estimated by calculating the ratio of the random points placed inside the molecule and the total number of random points that were placed. For computational efficiency, we use a grid-cell based neighbor list to determine whether a random point is placed inside the molecule or not. This method in combination with a graph-theoretical algorithm is used to detect internal cavities and surface clefts of molecules. Since cavities and clefts are potential water binding sites, we place water molecules in the cavities. The potential water positions can be used in molecular dynamics calculations as well as in other molecular calculations. We apply this method to several proteins and demonstrate the usefulness of the program. The described methods are all implemented in the program McVol, which is available free of charge from our website at


Cavities in proteins Molecular volume Monte Carlo Water placement inside proteins 

Copyright information

© Springer-Verlag 2009

Authors and Affiliations

  1. 1.Structural Biology/BioinformaticsUniversity of BayreuthBayreuthGermany

Personalised recommendations