Skip to content



The overall structure of BALL may be seen as consisting of several layers, each providing functionality for a well-defined area. In this layered architecture the layers higher up depend on the lower ones for their implementation.


The lowest layer contains the so-called Foundation Classes. These classes implement a set of general data structures like an extended string class, hash maps, or design patterns. The implementation of this layer is based on the standard template library.

The second layer consists of the kernel classes, implementing data structures for atoms, molecules, and the like.

The third layer consists of several basic components. Each of these components provides functionality for a clearly defined field of molecular modeling and is not physically dependent on any of the other basic components (well, at least not very much dependent :). The basic components are implemented using the kernel classes and the foundation classes. They provide support for file I/O in different formats, molecular mechanics, three-dimensional visualizaion, search for structural similarities, for the calculation of nuclear magnetic resonance (NMR) spectra, and solvation methods.

The visualization component relies on OpenGL for platform-independent 3D graphics and on QT for a portable graphical user interface (GUI).

BALL classes can also be used as extensions in the object-oriented scripting language Python and it is possible to embed this scripting language into BALL applications. Besides the rapid prototyping capabilities of the library itself, this provides a very efficient method to create software prototypes and improves the capabilities of BALL applications through the embedding of a scripting language.

Web Design MymensinghPremium WordPress ThemesWeb Development

Moved to GitHub

October 19, 2015October 19, 2015
Source code, bugtracker, and wiki moved to GitHub!

Developer Retreat 2015.1

February 22, 2015February 22, 2015
BALL_Dev_Retreat_2015 We met in Saarbrücken to plan the further development of BALL. In the near future you will find more information on our new website. Code and bugtracker will move to GitHub!

ballaxy Tools Released

August 7, 2014August 7, 2014

A new release of BALL and BALLView containing our new ballaxy tools is availably.

This new release offers, besides bugfixes, our new ballaxy workflow framework for structure based computational biology. The framework consists of command line tools, a ballaxy workflow server, based on the popular Galaxy workflow engine, offering those tools and a ballaxy plugin for BALLView which allows interaction with a ballaxy server instance. More information, e.g. a list of current tools, our live ballaxy server or instructions on how to set up your own ballaxy instance using docker can be found here. Enjoy!

BALL 1.4 Released

January 28, 2013January 28, 2013

A new stable release for BALL is now available.

This new release mainly focuses on compile and bug fixes. The most user visible changes are probably the rework of the Pubchem Downloader in BALLView, which now uses the new REST interface provided by Pubchem.