<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=BALL</id>
	<title>BALL - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=BALL"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=BALL&amp;action=history"/>
	<updated>2026-05-27T02:38:28Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=BALL&amp;diff=2049518&amp;oldid=prev</id>
		<title>imported&gt;Matthias M.: HC: Entferne Kategorie:Bioinformatik; Ergänze Kategorie:Freie Biosoftware</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=BALL&amp;diff=2049518&amp;oldid=prev"/>
		<updated>2025-06-03T20:13:21Z</updated>

		<summary type="html">&lt;p&gt;&lt;a href=&quot;/index.php?title=WP:HC&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;WP:HC (Seite nicht vorhanden)&quot;&gt;HC&lt;/a&gt;: Entferne &lt;a href=&quot;/index.php/Kategorie:Bioinformatik&quot; title=&quot;Kategorie:Bioinformatik&quot;&gt;Kategorie:Bioinformatik&lt;/a&gt;; Ergänze &lt;a href=&quot;/index.php?title=Kategorie:Freie_Biosoftware&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Kategorie:Freie Biosoftware (Seite nicht vorhanden)&quot;&gt;Kategorie:Freie Biosoftware&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Dieser Artikel|beschreibt die Grafiksoftware. Zu andere Bedeutungen siehe [[Ball (Begriffsklärung)]].}}&lt;br /&gt;
&lt;br /&gt;
{{Infobox Software&lt;br /&gt;
| Name                         = &lt;br /&gt;
| Logo                         = &lt;br /&gt;
| Screenshot                   = [[Datei:Ballview 1pma raytraced.png|275px|Screenshot]]&lt;br /&gt;
| Beschreibung                 = BALLView mit der PDB-Struktur 1PMA im real time ray tracing Modus&lt;br /&gt;
| Hersteller                   = BALL project team&lt;br /&gt;
| AktuelleVersion              = &amp;lt;!-- Wikidata --&amp;gt;&lt;br /&gt;
| AktuelleVersionFreigabeDatum = &amp;lt;!-- Wikidata --&amp;gt;&lt;br /&gt;
| Betriebssystem               = [[Linux]], [[macOS]], [[Microsoft Windows|Windows]]&lt;br /&gt;
| Programmiersprache           = [[C++]], [[Python (Programmiersprache)|Python]]&lt;br /&gt;
| Kategorie                    = 3D-[[Computergrafik]], [[Programmbibliothek|Bibliothek]] oder [[Framework]]&lt;br /&gt;
| Lizenz                       = [[GNU Lesser General Public License|Lesser General Public License]] (LGPL)&lt;br /&gt;
| Deutsch                      = &lt;br /&gt;
| Website                      = [http://www.ball-project.org/ www.ball-project.org]&lt;br /&gt;
}}&lt;br /&gt;
Die (&amp;#039;&amp;#039;Biochemical Algorithms Library&amp;#039;&amp;#039;) &amp;#039;&amp;#039;&amp;#039;BALL&amp;#039;&amp;#039;&amp;#039; ist ein umfassendes [[Open Source|Open-Source]]-[[Framework]] zur schnellen Anwendungsentwicklung für die strukturelle [[Bioinformatik]]. Sie stellt eine umfangreiche C++-Klassenbibliothek von Datenstrukturen und Algorithmen für die [[molekulare Modellierung]] zur Verfügung. Die Verwendung von BALL als Programmier-Toolbox soll nicht nur eine erhebliche Verkürzung der Anwendungsentwicklungszeiten ermöglichen, sondern auch zur Gewährleistung von Stabilität und Korrektheit beitragen, indem die fehleranfällige Neuimplementierung komplexer [[Algorithmus|Algorithmen]] vermieden und durch Aufrufe in die Bibliothek ersetzt wird, die von einer großen Anzahl von Entwicklern gut getestet wurde. In den zehn Jahren seit seiner ursprünglichen Veröffentlichung hat BALL eine erhebliche Steigerung der Funktionalität und zahlreiche andere Verbesserungen erfahren.&lt;br /&gt;
&lt;br /&gt;
Auf der Grundlage von BALL wurde &amp;#039;&amp;#039;&amp;#039;BALLView&amp;#039;&amp;#039;&amp;#039; entwickelt, ein eigenständiges Werkzeug für die molekulare Visualisierung. &amp;#039;&amp;#039;&amp;#039;BALLView&amp;#039;&amp;#039;&amp;#039; stellt die breite Funktionalität über eine integrierte benutzerfreundliche GUI zur Verfügung.&lt;br /&gt;
&lt;br /&gt;
== Geschichte ==&lt;br /&gt;
&lt;br /&gt;
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]], dem rationalen Wirkstoffentwurf und der [[Cheminformatik]].&lt;br /&gt;
&lt;br /&gt;
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 (Betriebssystem)|Solaris]], [[Windows]] und [[macOS]]. BALL verwendet sowohl [[Qt (Bibliothek)|Qt]] als auch [[OpenGL]] und ist unter der [[GNU Lesser General Public License|LGPL]] verfügbar.&lt;br /&gt;
&lt;br /&gt;
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 [[Protein Data Bank|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 [[Bildsynthese|Renderer]]. BALLView ist eine in C++ unter Verwendung von BALL geschriebene Anwendung und ist unter der [[GNU General Public License|GPL]] für Linux, Windows und Mac OS verfügbar.&lt;br /&gt;
&lt;br /&gt;
BALL und BALLView werden von Gruppen an der [[Universität des Saarlandes]], [[Johannes Gutenberg-Universität Mainz|Universität Mainz]] und der [[Eberhard Karls Universität Tübingen|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, wodurch BALL auch relativ einfach unter [[Ubuntu (Betriebssystem)|Ubuntu]] installiert werden kann.&lt;br /&gt;
&lt;br /&gt;
== Hauptmerkmale der Software ==&lt;br /&gt;
* Interaktives molekulares Zeichnen und Bearbeiten von [[Konformation]]en (+)&lt;br /&gt;
* Einlesen und Schreiben von verschiedensten molekularen Dateiformaten (PDB, MOL2, MOL, HIN, [[Xyz-Format|XYZ]], KCF, SD, AC)&lt;br /&gt;
* Einlesen sekundärer Datenquellen, z.&amp;amp;nbsp;B. (DCD, DSN6, [[GAMESS]], [[JCAMP-DX]], SCWRL, TRR)&lt;br /&gt;
* Generieren von Molekülen aus und Matchen von [[SMILES]]- und [[SMARTS]]-Ausdrücken auf Moleküle&lt;br /&gt;
* Geometrieoptimierung&lt;br /&gt;
* Energieminimierer- und Molekulardynamik-Klassen&lt;br /&gt;
* Unterstützung von [[Kraftfeld (Computerphysik)|Kraftfeldern]] (MMFF94, AMBER, [[CHARMM]]) für Bewertung und Energieminimierung&lt;br /&gt;
* Python-Interface und Skript-Funktionalität&lt;br /&gt;
* Plugin Infrastruktur (3D Space-Navigator, [[Wii]]-basiertes Headtracking, OpenSim)&lt;br /&gt;
* Darstellung molekularer Grafiken (3D, stereoskopisches Sehen, [[Raytracing]])(+)&lt;br /&gt;
* Umfangreiche Dokumentation (Wiki, Code-Beispiele, online Klassenbeschreibung, Bugtracker)&lt;br /&gt;
* Umfangreiche Regressionstests&lt;br /&gt;
* BALL-Projekt Dateiformat für Präsentationen und Datenaustausch(+)&lt;br /&gt;
* [[QSAR]] und Docking (über das integrierte Paket CADDSuite)&lt;br /&gt;
* NMR&lt;br /&gt;
* editierbare Shortcuts(+)&lt;br /&gt;
&lt;br /&gt;
+ Funktionalität beschränkt auf BALLView&lt;br /&gt;
&lt;br /&gt;
== Die Bibliothek BALL ==&lt;br /&gt;
&lt;br /&gt;
=== Datei Lesen/Schreiben ===&lt;br /&gt;
BALL unterstützt eine große Vielfalt an 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.&lt;br /&gt;
&lt;br /&gt;
=== Strukturanalyse ===&lt;br /&gt;
Die weitere Vorbereitung der Moleküle und Validierung ihrer Struktur unterstützt BALL durch z.&amp;amp;nbsp;B. Aromatizitäts- und Kekulisierer-, Wasserstoffbrückenbindungs- und Sekundärstruktur-Prozessoren.&lt;br /&gt;
Eine Fragmentdatenbank ergänzt fehlende Informationen wie zum Beispiel Wasserstoffe und Bindungen in Proteinen automatisch.&lt;br /&gt;
Eine Rotamerbibliothek erlaubt die Bestimmung, Zuweisung und den Wechsel zwischen Seitenkettenkonformationen von Proteinen.&lt;br /&gt;
BALLs Transformationsprozessor unterstützt das räumliche Bauen von validen dreidimensionalen Strukturen.&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Molekulare Mechanik ===&lt;br /&gt;
BALL bietet schnelle und stabile Implementierungen von bekannten Kraftfeldern wie CHARMM, Amber und MMFF94. Diese können mit BALLs Minimierern und Simulationsklassen (steepest decent, conjugate gradient, L-BFGS, and shifted L-VMM) direkt verwendet werden.&lt;br /&gt;
&lt;br /&gt;
== Beispiel ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Das folgende Programm liest eine PDB Datei ein, fügt fehlende Informationen, wie z.&amp;amp;nbsp;B. Wasserstoffatome und Bindungen hinzu, optimiert die Positionen der Wasserstoffatome und schreibt die so vervollständigte Datei wieder heraus.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using namespace BALL;&lt;br /&gt;
...&lt;br /&gt;
// read a PDB file&lt;br /&gt;
PDBFile file(&amp;quot;test.pdb&amp;quot;);&lt;br /&gt;
System S;&lt;br /&gt;
file &amp;gt;&amp;gt; S;&lt;br /&gt;
file.close();&lt;br /&gt;
&lt;br /&gt;
// add missing information&lt;br /&gt;
// e.g. hydrogens and bonds&lt;br /&gt;
FragmentDB fragment_db(&amp;quot;&amp;quot;);&lt;br /&gt;
S.apply(fragment_db.normalize_names);&lt;br /&gt;
S.apply(fragment_db.add_hydrogens);&lt;br /&gt;
S.apply(fragment_db.build_bonds);&lt;br /&gt;
&lt;br /&gt;
// check for charges, bond lengths,&lt;br /&gt;
// and missing atoms&lt;br /&gt;
ResidueChecker checker(fragment_db);&lt;br /&gt;
S.apply(checker);&lt;br /&gt;
&lt;br /&gt;
// create an AMBER force field&lt;br /&gt;
AmberFF FF;&lt;br /&gt;
S.deselect();&lt;br /&gt;
FF.setup(S);&lt;br /&gt;
Selector selector(&amp;quot;element(H)&amp;quot;);&lt;br /&gt;
S.apply(selector);&lt;br /&gt;
&lt;br /&gt;
// optimize the hydrogen&amp;#039;s positions&lt;br /&gt;
ConjugateGradientMinimizer minimizer;&lt;br /&gt;
minimizer.setup(FF);&lt;br /&gt;
minimizer.setEnergyOutputFrequency(1);&lt;br /&gt;
minimizer.minimize(50);&lt;br /&gt;
&lt;br /&gt;
// write a PDB File&lt;br /&gt;
file.open(&amp;quot;test_out.pdb&amp;quot;, ios::out);&lt;br /&gt;
file &amp;lt;&amp;lt; S;&lt;br /&gt;
file.close();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Python Interface ==&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# read a PDB file&lt;br /&gt;
file = PDBFile(&amp;quot;test.pdb&amp;quot;)&lt;br /&gt;
system = System()&lt;br /&gt;
file.read(system)&lt;br /&gt;
file.close()&lt;br /&gt;
&lt;br /&gt;
# add missing information&lt;br /&gt;
# e.g. hydrogens and bonds&lt;br /&gt;
fragment_db = FragmentDB(&amp;quot;&amp;quot;)&lt;br /&gt;
system.apply(fragment_db.normalize_names)&lt;br /&gt;
system.apply(fragment_db.add_hydrogens)&lt;br /&gt;
system.apply(fragment_db.build_bonds)&lt;br /&gt;
&lt;br /&gt;
# check for charges, bond lengths,&lt;br /&gt;
# and missing atoms&lt;br /&gt;
checker = ResidueChecker(fragment_db)&lt;br /&gt;
system.apply(checker)&lt;br /&gt;
&lt;br /&gt;
# create an AMBER force field&lt;br /&gt;
FF = AmberFF()&lt;br /&gt;
system.deselect()&lt;br /&gt;
FF.setup(system)&lt;br /&gt;
selector = Selector(&amp;quot;element(H)&amp;quot;)&lt;br /&gt;
system.apply(selector)&lt;br /&gt;
&lt;br /&gt;
# optimize the hydrogen&amp;#039;s positions&lt;br /&gt;
minimizer = ConjugateGradientMinimizer()&lt;br /&gt;
minimizer.setup(FF)&lt;br /&gt;
minimizer.setEnergyOutputFrequency(1)&lt;br /&gt;
minimizer.minimize(50)&lt;br /&gt;
&lt;br /&gt;
# write a PDB File&lt;br /&gt;
outfile = PDBFile(&amp;quot;test_out.pdb&amp;quot;, File.MODE_OUT)&lt;br /&gt;
outfile.write(system)&lt;br /&gt;
outfile.close()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
== BALLView ==&lt;br /&gt;
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.&amp;amp;nbsp;B. verschiedene Stereo-Modi, Space-Navigator und VRPN-gestützte Eingabegeräte.&lt;br /&gt;
&lt;br /&gt;
Auf der [[Cebit]] 2009 wurde mit Hilfe von BALLView die erste vollständige Integration von Echtzeit-Raytracing in molekularer Visualisierung und Modellierung vorgeführt.&amp;lt;ref&amp;gt;{{Cite web| title = BALLView with real time raytracing capabilities demonstrated at official Intel press conference| publisher = ballview.org| accessdate = 2011-06-07| url = http://www.ballview.org/news/ballview-with-real-time-raytracing-capabilities-demonstrated-at-official-intel-press-conference-3-march-2009| offline = yes| archiveurl = https://web.archive.org/web/20110725034738/http://www.ballview.org/news/ballview-with-real-time-raytracing-capabilities-demonstrated-at-official-intel-press-conference-3-march-2009| archivedate = 2011-07-25 | language=en}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Visualisierungen !! Färbungen&lt;br /&gt;
|-&lt;br /&gt;
| Line || Atom Element&lt;br /&gt;
|-&lt;br /&gt;
| Stick || Residue Index&lt;br /&gt;
|-&lt;br /&gt;
| Ball and Stick || Residue Name&lt;br /&gt;
|-&lt;br /&gt;
| VDW || Sekundärstruktur&lt;br /&gt;
|-&lt;br /&gt;
| SES || Atom Ladung&lt;br /&gt;
|-&lt;br /&gt;
| SAS || Atomabstand&lt;br /&gt;
|-&lt;br /&gt;
| Backbone || Temperaturfaktor&lt;br /&gt;
|-&lt;br /&gt;
| Cartoon || Occupancy&lt;br /&gt;
|-&lt;br /&gt;
| Ribbon || Kräfte&lt;br /&gt;
|-&lt;br /&gt;
| HBond || Residuetyp&lt;br /&gt;
|-&lt;br /&gt;
| Forces || Kette&lt;br /&gt;
|-&lt;br /&gt;
| || Molekül&lt;br /&gt;
|-&lt;br /&gt;
| || Custom, Eigenschaft**&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Literatur ==&lt;br /&gt;
* Andreas Hildebrandt, Anna Katharina Dehof, Alexander Rurainski, Andreas Bertsch, Marcel Schumann, Nora C Toussaint, Andreas Moll, Daniel Stockel, Stefan Nickels, Sabine C Mueller, Hans-Peter Lenhof, Oliver Kohlbacher: [http://www.biomedcentral.com/1471-2105/11/531 &amp;#039;&amp;#039;BALL - Biochemical Algorithms Library 1.3&amp;#039;&amp;#039;.] In: &amp;#039;&amp;#039;BMC Bioinformatics&amp;#039;&amp;#039;, 2010, 11, S. 531&lt;br /&gt;
* {{Cite journal|issn = 1367-4803| volume = 16| issue = 9| pages = 815–824| last = Kohlbacher| first = O| coauthors = H P Lenhof| title = BALL--rapid software prototyping in computational molecular biology. Biochemicals Algorithms Library| journal = Bioinformatics (Oxford, England)| date = 2000-09| pmid=11108704 | language=en}}&lt;br /&gt;
* {{Cite journal|doi = 10.1093/bioinformatics/bti818| issn = 1367-4803| volume = 22| issue = 3| pages = 365–366| last = Moll| first = Andreas| coauthors = Andreas Hildebrandt, Hans-Peter Lenhof, Oliver Kohlbacher| title = BALLView: a tool for research and education in molecular modeling| journal = Bioinformatics (Oxford, England)| date = 1. Februar 2006| pmid=16332707 | language=en}}&lt;br /&gt;
* {{Cite journal|doi = 10.1007/s10822-005-9027-x| issn = 0920-654X| volume = 19| issue = 11| pages = 791–800| last = Moll| first = Andreas| coauthors = Andreas Hildebrandt, Hans-Peter Lenhof, Oliver Kohlbacher| title = BALLView: an object-oriented molecular visualization and modeling framework| journal = Journal of Computer-Aided Molecular Design| date = November 2005| pmid=16470421 | language=en}}&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* [http://www.ball-project.org/ Offizielle Website]&lt;br /&gt;
* [http://www.ballview.org/ BALLView-Website]&lt;br /&gt;
* [http://ball-trac.bioinf.uni-sb.de/wiki/CodeLibrary Code Library] (englisch)&lt;br /&gt;
* [http://www.ballview.org/raytracing/gallery Gallery] (englisch)&lt;br /&gt;
* [http://ball-trac.bioinf.uni-sb.de/wiki/Tutorials Tutorials] (englisch)&lt;br /&gt;
* [http://www.ball-project.org/caddsuite CADDSuite] (englisch)&lt;br /&gt;
&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Normdaten|TYP=s|GND=4642044-7}}&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Chemiesoftware]]&lt;br /&gt;
[[Kategorie:Biochemie-Onlinedatenbank]]&lt;br /&gt;
[[Kategorie:Freie Biosoftware]]&lt;br /&gt;
[[Kategorie:Freie Grafiksoftware]]&lt;br /&gt;
[[Kategorie:3D-Grafiksoftware]]&lt;br /&gt;
[[Kategorie:C++-Bibliothek]]&lt;br /&gt;
[[Kategorie:Abkürzung]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Matthias M.</name></author>
	</entry>
</feed>