ABSTRACT
Computing molecular surfaces is important to measure areas and volumes of molecules, as well as to infer useful information about interactions with other molecules. Over the years many algorithms have been developed to triangulate and to render molecular surfaces. However, triangulation algorithms usually are very expensive in terms of memory storage and time performance, and thus far from real-time performance. Fortunately, the massive computational power of the new generation of low-cost GPUs opens up an opportunity window to solve these problems: real-time performance and cheap computing commodities. This paper just presents a GPU-based algorithm to speed up the triangulation and rendering of molecular surfaces using CUDA. Our triangulation algorithm for molecular surfaces is based on a multi-threaded, parallel version of the Marching Cubes (MC) algorithm. However, the input of our algorithm is not the volume dataset of a given molecule as usual for Marching Cubes, but the atom centers provided by the PDB file of such a molecule. We also carry out a study that compares a serial version (CPU) and a parallel version (GPU) of the MC algorithm in triangulating molecular surfaces as a way to understand how real-time rendering of molecular surfaces can be achieved in the future.
References
- }}CUDA Programming Guide 2. Available at: http://developer.download.nvidia.com, 2008.Google Scholar
- }}Technical Brief: NVIDIA Geforce GTX 200 GPU Architectural Overview. Available at: http://developer.download.nvidia.com, 2008.Google Scholar
- }}J. F. Blinn. A generalization of algebraic surface drawing. ACM Trans. Graph., 1(3):235--256, July 1982. Google Scholar
Digital Library
- }}J. Bloomenthal and K. Shoemake. Convolution surfaces. Computer Graphics, 25(4):251--256, 1991. Google Scholar
Digital Library
- }}T. Can, C.-I. Chen, and Y.-F. Wang. Efficient molecular surface generation using level-set methods. Journal of Molecular Graphics and Modelling, 25:442--454, 2006.Google Scholar
Cross Ref
- }}M. Connolly. Analytical molecular surface calculation. Journal of Applied Crystallography, 16(5):548--558, October 1983.Google Scholar
Cross Ref
- }}M. Connolly. Solvent-accessible surfaces of proteins and nucleic acids. Science, 221(4612):709--713, August 1983.Google Scholar
Cross Ref
- }}D. D'Agostino, I. Merelli, A. Clematis, L. Milanesi, and A. Orro. A parallel workflow for the reconstruction of molecular surfaces. In C. Bischof, M. Bücker, P. Gibbon, G. Joubert, T. Lippert, B. Mohr, and F. Peters, editors, Parallel Computing: Architectures, Algorithms and Applications, volume 15 of Advances in Parallel Computing, pages 147--154. IOS Press, 2008.Google Scholar
- }}C. Dyken, G. Ziegler, C. Theobalt, and H.-P. Seidel. High-speed marching cubes using histopyramids. Computer Graphics Forum, 27(8):2028--2039, 2008.Google Scholar
Cross Ref
- }}R. Geiss. Generating complex procedural terrains using the GPU. In H. Nguyen, editor, GPU Gems 3. Addison-Wesley Professional, New Jersey, USA, 2007.Google Scholar
- }}M. Harris, S. Sengupta, and J. D. Owens. Parallel prefix sum scan with cuda. In G. G. 3, editor, Hubert Nguyen. Addison-Wesley Professional, Upper Saddle River, New Jersey, Aug 2007.Google Scholar
- }}W. Heiden and T. G. J. Brickmann. Fast generation of molecular surfaces from 3D data fields with an enhanced "marching cube" algorithm. Journal of Computational Chemistry, 14(2):246--250, 1993. Google Scholar
Digital Library
- }}M. C. Lawrence and P. Bourki. Conscript: a program for generating electron density isosurfaces for presentation in protein crystallography. Journal of Applied Crystallography, 33:990--991, 2000.Google Scholar
Cross Ref
- }}B. Lee and F. Richards. The interpretation of protein structures: Estimation of static accessibility. Journal of Molecular Biology, 55(3):379--380, February 1971.Google Scholar
Cross Ref
- }}C. Levinthal. Molecular model-building by computer. Scientific American, 214(6):42--52, June 1966.Google Scholar
Cross Ref
- }}W. Lorensen and H. Cline. Marching cubes: A high resolution 3d surface construction algorithm. ACM SIGGRAPH Computer Graphics, 21(4):163--169, July 1987. Google Scholar
Digital Library
- }}I. Merelli, L. Milanesi, D. D'Agostino, A. Clematis, M. Vanneschi, and M. Danelutto. Marching cubes: A high resolution 3d surface construction algorithm. In Proceedings of the 1st International Conference on Distributed Frameworks for Multimedia Applications (DFMA'05), pages 288--294, Washington, DC, USA, 2005. IEEE Computer Society.Google Scholar
Digital Library
- }}T. Newman, J. Byrd, P. Emani, A. Narayanan, and A. Dastmalchi. High performance simd marching cubes isosurface extraction on commodity computers. Computers & Graphics, 28:213--233, 2004.Google Scholar
Cross Ref
- }}J. D. Owens, M. Houston, D. Luebke, S. Green, J. E. Stone, and J. C. Phillips. GPU computing. Proceedings of the IEEE, 96(5):879--899, 2008.Google Scholar
Cross Ref
- }}F. Richards. Areas, volumes, packing, and protein structure. Annual Review of Biophysics and Bioengineering, 6(3):151--176, February 1977.Google Scholar
Cross Ref
- }}N. Tang and T. Newman. A vector-parallel realization of the marching cubes. Technical Report TR-UAH-CS-1996-01, Computer Science Department, The University of Alabama in Huntsville, USA, 1996.Google Scholar
- }}Y. Uralsky. DX 10: Pratical metaballs and implicit surfaces. In Game Developers Conference, 2006.Google Scholar
- }}Y. Vorobjev and J. Hermans. Sims: Computation of a smooth invariant molecular surface. Biophysical Journal, 73(2):722--732, 1997.Google Scholar
Cross Ref
- }}G. Wyvill, C. McPheeters, and B. Wyvill. Data Structure for Soft Objects. The Visual Computer, 2(4):227--234, February 1986.Google Scholar
Cross Ref
- }}Z. Yu, M. Holst, Y. Cheng, and J. McCammon. Feature-preserving adaptive mesh generation for molecular shape modeling and simulation. Journal of Molecular Graphics and Modelling, 26:1370--1380, 2008.Google Scholar
Cross Ref
Index Terms
CUDA-based triangulations of convolution molecular surfaces



Comments