Help Guide Disclaimer Contact us Login
  Advanced SearchBrowse





BALL: Biochemical Algorithms Library


Boghossian,  Nicolas
Algorithms and Complexity, MPI for Informatics, Max Planck Society;

Kohlbacher,  Oliver
Algorithms and Complexity, MPI for Informatics, Max Planck Society;

Lenhof,  Hans-Peter
Algorithms and Complexity, MPI for Informatics, Max Planck Society;

There are no locators available
Fulltext (public)

(Any fulltext), 12KB

Supplementary Material (public)
There is no public supplementary material available

Boghossian, N., Kohlbacher, O., & Lenhof, H.-P.(1999). BALL: Biochemical Algorithms Library (MPI-I-1999-1-002). Saarbrücken: Max-Planck-Institut für Informatik.

Cite as:
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 ({\eg} for data import/export, visualization, and so on) 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 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 and flexibility 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. The usefulness of {\Ball} was shown by the implementation of an algorithm that checks proteins for similarity. Instead of the five months that an earlier implementation took, we were able to implement it within a day using {\Ball}.