Abstract
In the next century, virtual laboratories will play a key role in biotechnology. Computer experiments will not only replace time-consuming and expensive real-world experiments, but they will also provide insights that cannot be obtained using “wet” experiments. The field that deals with the modeling of atoms, molecules, and their reactions is called Molecular Modeling. The advent of Life Sciences gave rise to numerous new developments in this area. However, the implementation of new simulation tools is extremely time-consuming. This is mainly due to the large amount of supporting code that is required in addition to the code necessary to implement the new idea. The only way to reduce the development time is to reuse reliable code, preferably using objectoriented approaches. We have designed and implemented BALL, the first object-oriented application framework for rapid prototyping in Molecular Modeling. By the use of the composite design pattern and polymorphism we were able to model the multitude of complex biochemical concepts in a well-structured and comprehensible class hierarchy, the BALL kernel classes. The isomorphism between the biochemical structures and the kernel classes leads to an intuitive interface. Since BALL was designed for rapid software prototyping, ease of use, extensibility, and robustness were our principal design goals. Besides the kernel classes, BALL provides fundamental components for import/export of data in various file formats, Molecular Mechanics simulations, three-dimensional visualization, and more complex ones like a numerical solver for the Poisson-Boltzmann equation.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Jörg Becker. Allgemeine approximative Kongruenz zweier Punktmengen im R. Master’s thesis, Universität des Saarlandes, 1995.
W. Chang, I.N. Shindyalov, C. Pu, and P.E. Bourne. Design and application of PDBLib, a C++ macromolecular class library. CABIOS, 10(6):575–586, 1994.
Wendy D. Cornell, Piotr Cieplak, Christopher I. Bayly, Ian R. Gould, Kenneth M. Merz, Jr., David M. Ferguson, David C. Spellmeyer, Thomas Fox, James W. Caldwell, and Peter A Kollman. A second generation force field for the simulation of proteins, nucleic acids and organic molecules. J. Am. Chem. Soc., 117:5179–5197, 1995.
Bernard Coulange. Software reuse. Springer, London, 1997.
Andreas Fabri, Geert-Jan Giezeman, Lutz Kettner, Stefan Schirra, and Sven Schönherr. On the design of CGAL, the computational geometry algorithms library. Technical Report MPI-I-98-1-007, Max-Planck-Institut für Informatik, Saarbrücken, February 1998.
Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. Design patterns: elements of reusable object-oriented software. Addison-Wesley, Reading, MA, 1995.
Paul J. Heffernan. Generalized approximate algorithms for point set congruence. In WADS93, 1993.
Paul J. Heffernan and Stefan Schirra. Approximate decision algorithms for point set congruence. Computational Geometry: Theory and applications, 4(3):137–156, 1994.
Konrad Hinsen. The Molecular Modelling Toolkit: a case study of a large scientific application in python. In Proceedings of the 6th International Python Conference, pages 29–35, San Jose, Ca., October 1997.
HyperChem release 4.5. Hypercube Inc., 1995.
Hans-Peter Lenhof. New contact measures for the protein docking problem. In Proc. of the First Annual International Conference on Computational Molecular Biology RECOMB 97, pages 182–191, 1997.
Kurt Mehlhorn, Stefan Näher, Michael Seel, and Christian Uhrig. The LEDA user manual: version 3.6. Max-Planck-Institut für Informatik, Saarbrücken, 1998.
Bertrand Meyer. Object-Oriented Software Construction. Prentice Hall PTR, New Jersey, 2nd edition, 1997.
Anthony Nicholls and Barry Honig. A rapid finite difference algorithm, utilizing successive over-relaxation to solve the poisson-boltzmann equation. J. Comput. Chem., 12(4):435–445, 1991.
Wolfgang Vahrson, Klaus Hermann, Jürgen Kleffe, and Burghardt Wittig. Objectoriented sequence analysis: SCL-a C++ class library. CABIOS, 12(2):119–127, 1996.
Guido van Rossum. Python version 1.5.1. http://www.python.org.
Pat Walters and Matt Stahl. BABEL version 1.6. University of Arizona.
H. J. Wolfson. Model based object recognition by ‘geometric hashing’. In Proc. 1st European Conf. Comput. Vision, pages 526–536, 1990.
Malte Zöckler and Roland Wunderling. DOC++ version 3.2. http://www.zib.de/Visual/software/doc++/.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1999 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Boghossian, N., Kohlbacher, O., Lenhof, HP. (1999). BALL: Biochemical Algorithms Library. In: Vitter, J.S., Zaroliagis, C.D. (eds) Algorithm Engineering. WAE 1999. Lecture Notes in Computer Science, vol 1668. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-48318-7_26
Download citation
DOI: https://doi.org/10.1007/3-540-48318-7_26
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-66427-7
Online ISBN: 978-3-540-48318-2
eBook Packages: Springer Book Archive