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.
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; } }