BALL

Biochemical Algorithms Library
Screenshot
Basisdaten
Entwickler BALL project team
Aktuelle Version 1.4.1
(28.11.2011)
Betriebssystem Linux, Mac OS X, Windows
Programmier­sprache C++, Python
Kategorie 3D-Computergrafik, Bibliothek or Framework
Lizenz Lesser GNU Public License LGPL
www.ball-project.org

Das Open Source-Projekt BALL umfasst das C++ Framework BALL (Biochemical Algorithms Library), eine Bibliothek von Algorithmen und Datenstrukturen für Molekulardesign und Computational Structural Bioinformatics, ein Python-Interface und die auf BALL aufbauende graphische Anwendung BALLView (ebenfalls open source).

Die Bibliothek BALL wird seit 1996 entwickelt und bietet in rund 730 Klassen (Stand 2010) Algorithmen und Datenstrukturen zum Einlesen, Analysieren und Bearbeiten von Molekülen im Kontext der strukturellen Bioinformatik, rationalem Wirkstoffentwurf und der Cheminformatik.

Die C++-Klassen in BALL werden durch eine Python-schnittstelle ergänzt. Die Bibliothek bietet außerdem Kommandozeilen-Hilfsprogramme an.

Zu den unterstützten Betriebssystemen gehören unter anderem Linux, Solaris, Microsoft Windows und Mac OS X. BALL verwendet sowohl Qt als auch OpenGL und ist unter der LGPL verfügbar.

Der Molekülviewer BALLView wird durch das gleiche Team entwickelt und ermöglicht die dreidimensionale Darstellung und Bearbeitung von Molekülen. Verschiedene molekulare Formate, wie zum Beispiel PDB, HIN, MOL2 können eingelesen werden und die Algorithmen der BALL-Bibliothek über eine graphische Benutzeroberfläche direkt angewendet werden. BALLView verwendet als Renderer OpenGL und den Echtzeit-Raytracer RTFact.

Außerdem unterstützt BALLView stereoskopische Darstellung für beide Renderer.

BALLView ist eine in C++ unter Verwendung von BALL geschriebene Anwendung und ist unter der GPL für Linux, Windows und Mac OS verfügbar.

BALL und BALLView werden von Gruppen an der Universität des Saarlandes, Universität Mainz und der Universität Tübingen entwickelt und gepflegt. Beide werden von zahlreichen Arbeitsgruppen in Forschung und Lehre eingesetzt. Seit April 2010 gibt es BALL-Pakete im Debian-Projekt.

Hauptmerkmale der Software

  • Interaktives molekulares Zeichnen und Bearbeiten von Konformationen (+)
  • Einlesen und Schreiben von verschiedensten molekularen Dateiformaten (PDB, MOL2, MOL, HIN, XYZ, KCF, SD, AC)
  • Einlesen sekundärer Datenquellen, z. B. (DCD, DSN6, GAMESS, JCAMP, SCWRL, TRR)
  • Generieren von Molekülen aus und Matchen von SMILES- und SMARTS-Ausdrücken auf Moleküle
  • Geometrieoptimierung
  • Energieminimierer- und Molekulardynamik-Klassen
  • Unterstützung von Kraftfeldern (MMFF94, AMBER, CHARMM) für Bewertung und Energieminimierung
  • Python-Interface und Skript-Funktionalität
  • Plugin Infrastruktur (3D Space-Navigator, WII-basiertes Headtracking*, OpenSim*)
  • Darstellung molekularer Grafiken (3D, stereoskopisches Sehen, Raytracing*)(+)
  • Umfangreiche Dokumentation (Wiki, Code-Beispiele, online Klassenbeschreibung, Bugtracker)
  • Umfangreiche Regressionstests
  • BALL-Projekt Dateiformat für Präsentationen und Datenaustausch(+)
  • QSAR und Docking (über das integrierte Paket CADDSuite)
  • NMR
  • editierbare Shortcuts(+)

/* in der Testphase befindliche Funktionalität der nächsten Version

+ Funktionalität beschränkt auf BALLView

Die Bibliothek BALL

Datei Lesen/Schreiben:

BALL unterstützt eine große Vielfalt von Moleküldateiformaten wie PDB, MOL2, MOL, HIN, XYZ, KCF, SD und darüber hinaus sekundäre Dateiformate wie DCD, DSN6, GAMESS, JCAMP, SCWRL, and TRR. Außerdem können Moleküle mittels BALLs Peptid Builder oder aus SMILES-Ausdrücken heraus erzeugt werden.

Strukturanalyse:

Die weitere Vorbereitung der Moleküle und Validierung ihrer Struktur unterstützt BALL durch z. B. Aromatizitäts- und Kekulisierer-, Wasserstoffbrückenbindungs- und Sekundärstruktur-Prozessoren. Eine Fragmentdatenbank ergänzt fehlende Informationen wie zum Beispiel Wasserstoffe und Bindungen in Proteinen automatisch. Eine Rotamerbibliothek erlaubt die Bestimmung, Zuweisung und den Wechsel zwischen Seitenkettenkonformationen von Proteinen. BALLs Transformationsprozessor unterstützt das räumliche Bauen von validen dreidimensionalen Strukturen. BALLs Selektionsmechanismus erlaubt eine Spezifizierung von einfachen Ausdrücken (SMILES, SMARTS, Elementtypen). Die so erzeugte Auswahl kann dann von allen Modelling Klassen wie Prozessoren und Kraftfeldern zur Definition von Anwendung benutzt werden.

Molekular Mechanik:

BALL bietet schnelle und stabile Implementierungen von bekannten Kraftfeldern wie CHARMM, Amber und MMFF94. Diese können mit BALL’s Minimierern und Simulationsklassen (steepest decent, conjugate gradient, L-BFGS, and shifted L-VMM) direkt verwendet werden.

Beispiel

Die Verwendung von BALL reduziert die Entwicklungszeit für neue Algorithmen und erleichtert das Programmieren, da fehleranfällige Nachimplementierungen komplexer Algorithmen durch einfache Bibliotheksaufrufe ersetzt werden können. BALL sichert die Stabilität und Korrektheit des enthaltenen Codes durch umfangreiche Regressionstests und eine sich selbst kontrollierende Benutzergemeinschaft.

Das folgende Programm liest eine PDB Datei ein, fügt fehlende Informationen, wie z. B. Wasserstoffatome und Bindungen hinzu, optimiert die Positionen der Wasserstoffatome und schreibt die so vervollständigte Datei wieder heraus.

<source lang="cpp">

using namespace BALL; ... // read a PDB file PDBFile file("test.pdb"); System S; file >> S; file.close();

// add missing information // e.g. hydrogens and bonds FragmentDB fragment_db(""); S.apply(fragment_db.normalize_names); S.apply(fragment_db.add_hydrogens); S.apply(fragment_db.build_bonds);

// check for charges, bond lengths, // and missing atoms ResidueChecker checker(fragment_db); S.apply(checker);

// create an AMBER force field AmberFF FF; S.deselect(); FF.setup(S); Selector selector("element(H)"); S.apply(selector);

// optimize the hydrogen's positions ConjugateGradientMinimizer minimizer; minimizer.setup(FF); minimizer.setEnergyOutputFrequency(1); minimizer.minimize(50);

// write a PDB File file.open("test_out.pdb", ios::out); file << S; file.close(); </source>

Python Interface

Für alle relevanten Klassen in BALL wird automatisch über SIP eine Python-Schnittstelle erzeugt. Das obige Beispiel lässt sich beinahe Eins zu Eins in die Python-Syntax übersetzen:

<source lang="python">

  1. read a PDB file

file = PDBFile("test.pdb") system = System() file.read(system) file.close()

  1. add missing information
  2. e.g. hydrogens and bonds

fragment_db = FragmentDB("") system.apply(fragment_db.normalize_names) system.apply(fragment_db.add_hydrogens) system.apply(fragment_db.build_bonds)

  1. check for charges, bond lengths,
  2. and missing atoms

checker = ResidueChecker(fragment_db) system.apply(checker)

  1. create an AMBER force field

FF = AmberFF() system.deselect() FF.setup(system) selector = Selector("element(H)") system.apply(selector)

  1. optimize the hydrogen's positions

minimizer = ConjugateGradientMinimizer() minimizer.setup(FF) minimizer.setEnergyOutputFrequency(1) minimizer.minimize(50)

  1. write a PDB File

outfile = PDBFile("test_out.pdb", File.MODE_OUT) outfile.write(system) outfile.close() </source>

Das Python-Interface ist vollständig in den Viewer BALLView integriert, so dass die Ergebnisse der Skripte direkt visualisiert werden können. Auf diese Weise lässt sich das Verhalten von BALLView steuern und automatisieren.

BALLView

BALLView bietet neben Standard-Visualisierungsmodellen für Atome, Bindungen und Oberflächen außerdem gitterbasierte Visualisierungen an. In BALLView können mehrere Strukturen gleichzeitig geladen und jederzeit aus- und wieder eingeblendet werden. Ein Großteil der Funktionalität von BALL kann direkt aus BALLView heraus verwendet werden.

BALLView unterstützt viele fortschrittliche Visualisierungs- und Eingabemethoden wie z.B. verschiedene Stereo-Modi, Space-Navigator und VRPN-gestützte Eingabegeräte.

Auf der CEBIT 2009 wurde mit Hilfe von BALLView die erste vollständige Integration von real-time raytracing in molekularer Visualisierung und Modellierung vorgeführt.[1]

Visualisierungen Färbungen
Line Atom Element
Stick Residue Index
Ball and Stick Residue Name
VDW Sekundärstruktur
SES Atom Ladung
SAS Atomabstand
Backbone Temperaturfaktor
Cartoon Occupancy
Ribbon Kräfte
HBond Residuetyp
Forces Kette
Molekül
Custom, Eigenschaft**

Literatur

Einzelnachweise

  1. BALLView with real time raytracing capabilities demonstrated at official Intel press conference. ballview.org. Abgerufen am 7. Juni 2011.

Weblinks

Newsmeldungen wie "BALL" auf cosmos-indirekt.de

09.06.2020
Teilchenphysik
Vom Rugbyball zum Frisbee - Forschungsteam entwickelt neuen Blick auf magisches Zinn
E
23.09.2019

Wie molekulare Fußbälle im Röntgenlaser zerplatzen
Ein internationales Forschungsteam hat in Echtzeit verfolgt, wie Fußballmoleküle aus Kohlenstoff im Strahl eines Röntgenlasers zerplatzen.
24.10.2018
Quantenphysik - Quantenoptik
Mehr Torerfolge beim Quantenfußball
Physiker der Universität Bonn haben eine Methode vorgestellt, die sich eventuell zur Herstellung so genannter Quanten-Repeater eignet.
05.06.2018
Teilchenphysik - Biophysik
Neutronentomographie: Einblick ins Innere von Zähnen, Wurzelballen, Batterien und Brennstoffzellen
Einen umfassenden Überblicksbeitrag über bildgebende Verfahren mit Neutronen hat ein Team am Helmholtz-Zentrum Berlin (HZB) und der Europäischen Spallationsquelle ESS im renommierten Fachjournal Materials Today (Impaktfaktor 21,6) publiziert.
23.05.2018
Galaxien
Rotierende Rugbybälle unter den massereichsten Galaxien
D

Diese Artikel könnten dir auch gefallen

Die letzten News aus den Naturwissenschaften

24.02.2021
Kometen_und_Asteroiden
Asteroidenstaub im „Dinosaurier-Killer-Krater“ gefunden
Ein internationales Forscherteam berichtet über die Entdeckung von Meteoriten-Staub in Bohrproben aus dem Chicxulub-Impaktkraters in Mexiko.
24.02.2021
Quantenphysik
Zwillingsatome: Eine Quelle für verschränkte Teilchen
Quanten-Kunststücke, die man bisher nur mit Photonen durchführen konnte, werden nun auch mit Atomen möglich. An der TU Wien konnte man quantenverschränkte Atomstrahlen herstellen.
19.02.2021
Quantenphysik
Auch in der Quantenwelt gilt ein Tempolimit
Auch in der Welt der kleinsten Teilchen mit ihren besonderen Regeln können die Dinge nicht unendlich schnell ablaufen.
22.02.2021
Sterne - Teilchenphysik
Erstes Neutrino von einem zerrissenen Stern
Ein geisterhaftes Elementarteilchen aus einem zerrissenen Stern hat ein internationales Forschungsteam auf die Spur eines gigantischen kosmischen Teilchenbeschleunigers gebracht.
23.02.2021
Satelliten - Raumfahrt
Unglaubliche Bilder vom Rover Perseverance auf dem Mars
19.02.2021
Milchstraße - Schwarze_Löcher
Schwarzes Loch in der Milchstraße massiver als angenommen
Ein internationales Team renommierter Astrophysikerinnen und -physiker hat neue Erkenntnisse über Cygnus X-1 gewonnen.
18.02.2021
Elektrodynamik - Teilchenphysik
Ultraschnelle Elektronendynamik in Raum und Zeit
In Lehrbüchern werden sie gerne als farbige Wolken dargestellt: Elektronenorbitale geben Auskunft über den Aufenthaltsort von Elektronen in Molekülen, wie eine unscharfe Momentaufnahme.
18.02.2021
Quantenphysik - Teilchenphysik
Mit schwingenden Molekülen die Welleneigenschaften von Materie überprüfen
Forschende haben mit einem neuartigen, hochpräzisen laser-spektroskopischen Experiment die innere Schwingung des einfachsten Moleküls vermessen.
18.02.2021
Quantenoptik
Quanten-Computing: Wenn Unwissenheit erwünscht ist
Quantentechnologien für Computer eröffnen neue Konzepte zur Wahrung der Privatsphäre von Ein- und Ausgabedaten einer Berechnung.
18.02.2021
Planeten
Hochdruckexperimente liefern Einblick in Eisplaneten
Per Röntgenlicht hat ein internationales Forschungsteam einen Blick ins Innere ferner Eisplaneten gewonnen.