BALL
BALL (
Biochemical Algorithms Library) is a
C++ library containing common algorithms used in
biochemistry and
bioinformatics. The library also has
Python bindings. Among the supported systems are
Linux,
Solaris,
Microsoft Windows. The library can be used for command-line utilities, but it also supports display with
Qt and
OpenGL.
A structure viewer
BALLView that allows viewing
PDB,
HIN and other formats.
BALL is available under
LGPL and
GPL licences.
It is developed and maintained by
Hans-Peter Lenhof,
Oliver Kohlbacher,
Andreas Hildebrandt and
Andreas Moll.
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;
}
* Project home page
* Tutorial (PDF)