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 object-oriented approaches. We have designed and implemented BALL, the first object-oriented application framework for rapid prototyping inMolecular 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.
[1]
Ralph Johnson,et al.
design patterns elements of reusable object oriented software
,
2019
.
[2]
Stefan Schirra,et al.
Approximate Decision Algorithms for Point Set Congruence
,
1994,
Comput. Geom..
[3]
Paul J. Heffernan,et al.
Generalized Approzimate Algorithms for Point Set Congruence
,
1993,
WADS.
[4]
簡聰富,et al.
物件導向軟體之架構(Object-Oriented Software Construction)探討
,
1989
.
[5]
Geert-Jan Giezeman,et al.
On the design of CGAL a computational geometry algorithms library
,
2000
.
[6]
P. Kollman,et al.
A Second Generation Force Field for the Simulation of Proteins, Nucleic Acids, and Organic Molecules
,
1995
.
[7]
B. Honig,et al.
A rapid finite difference algorithm, utilizing successive over‐relaxation to solve the Poisson–Boltzmann equation
,
1991
.
[8]
Klaus Hermann,et al.
Object-oriented sequence analysis: SCL - a C++ class library
,
1996,
Comput. Appl. Biosci..
[9]
Hans-Peter Lenhof,et al.
New contact measures for the protein docking problem
,
1997,
RECOMB '97.
[10]
Bernard Coulange,et al.
Software Reuse
,
1997,
Springer London.
[11]
Haim J. Wolfson,et al.
Model-Based Object Recognition by Geometric Hashing
,
1990,
ECCV.
[12]
Calton Pu,et al.
Design and application of PDBlib, a C++ macromolecular class library
,
1994,
Comput. Appl. Biosci..