- BALL
BALL (Biochemical Algorithms Library) is a
C++ library containing common algorithms used inbiochemistry andbioinformatics . The library also has Python bindings. Among the supported systems areLinux , Solaris,Microsoft Windows . The library can be used for command-line utilities, but it also supports display withQt andOpenGL .There is a structure viewer developed by the same group of people, BALLView, which allows viewing PDB,
HIN , and other formats. It is the visulization component of BALL. Both BALL and BALLView are available under LGPL and GPL licences. The programs are developed and maintained byHans-Peter Lenhof ,Oliver Kohlbacher ,Andreas Hildebrandt andAndreas Moll . BALLView is an application written inC++ that uses BALL formolecular modeling and visualizingmolecular model s. It is available under theGPL license forLinux , Windows, andMac OS .Example
This small program reads PDB file and outputs names and positions of all atoms in
human-readable format.#include
using namespace std; using namespace BALL; int main() { // System is a basic data structure representing all molecules System sys; // Read a molecule from PDB file and add it to the system PDBFile pdb_file("input.pdb"); pdb_file >> sys; pdb_file.close(); // Iterate over all atoms in the system AtomIterator ai; for(ai = sys.beginAtom(); !ai.isEnd(); ++ai) { // Get atom's position Vector3 v = ai->getPosition(); // Print atom's name and atom's position cout << "Atom " << ai->getFullName() << " is located at position <" << v.x << ", " << v.y << ", " << v.z << ">" << endl; } return 0; } External links
* [http://www.ball-project.org Project home page]
* [http://www.ballview.org BALLView project page]
Wikimedia Foundation. 2010.