# PyMOL

PyMOL ist eine freie 3D-Grafiksoftware, die zur Darstellung von Biomolekülen in der Biochemie und Bioinformatik dient. Neben der Verwendung der wichtigsten in der Strukturbiologie gebräuchlichen Datenformate erlaubt PyMOL auf verschiedenen Betriebssystemen das Rendern von Grafiken mit hoher Qualität.

## Geschichte

Der amerikanische Biophysiker Warren L. DeLano entwickelte PyMOL ab 1998 und stellte es im Jahr 2000 im Internet vor. Seine Absicht war es, ein frei verfügbares benutzerfreundliches Programm für die akademische Forschung und die pharmazeutische Industrie zu schaffen, das 3D-Grafiken von Kleinmolekülen und großen Proteinen oder Nukleinsäuren mit hoher Auflösung erzeugen kann. Eine Voraussetzung für den Erfolg von PyMOL war die Auslegung für verschiedene Computer-Betriebssysteme. Mit der Gründung der Firma DeLano Scientific LLC im Jahr 2003 wurde PyMOL erstmals vermarktet, ohne die Open-Source-Strategie aufzugeben, die DeLano als wichtige Grundlage wissenschaftlichen Arbeitens in Forschung und Lehre ansieht. Im August 2006 führte DeLano Scientific das sogenannte kontrollierte Herunterladen (controlled-access download) vorkompilierter Versionen von PyMOL ein. Der Zugang zu diesen Versionen wird über den Erwerb von Lizenzen geregelt. Die Preise sind je nach Anwendertyp gestaffelt, beispielsweise zahlt ein akademischer Forscher 50 $ pro Jahr, hingegen ein Benutzer aus der Industrie 1000 $. Daneben ist die neueste PyMOL-Version auch frei erhältlich, wobei der Anwender zu einem freiwilligen Beitrag (Sponsoring) gebeten wird. Generell ist die kostenlose Verwendung durch Studenten und Lehrer an Schulen und Universitäten gestattet. Am 8. Januar 2010 wurde das PyMOL-Projekt nach dem Tod von DeLano von der Firma Schrödinger LLC gekauft und soll in seinem Sinne weitergeführt werden.

## Programmbeschreibung

PyMOL ist in seinen Funktionen mit den als Freeware erhältlichen Programmen DeepView (früher Swiss-PDBViewer) und VMD vergleichbar und vereint die Vorteile einiger in den 1990er Jahren entstandener Programme, wie Molscript, Bobscript oder GRASP, die aber beinahe ausschließlich für Unix verfügbar waren. Das Py in PyMOL bezieht sich darauf, dass ein Python-Interpreter eingebunden ist, mit dem sich auch die Funktionen von PyMOL erweitern lassen. Neben Versionen für Linux, Windows und macOS gibt es auch solche für IRIX und Solaris. Das Programm wird normalerweise auf einzelnen Rechnern eingerichtet, kann aber besonders unter Linux und UNIX auch auf einem Dateiserver für ein lokales Netzwerk installiert werden.

### Kommunikation mit anderen Programmen

Wird PyMOL mit der Option -p gestartet, kann es Kommandos von der Standardeingabe empfangen. Dieser Mechanismus erlaubt es anderen Programmen, PyMOL direkt zu steuern. Als Beispiel für diese Art der Interprozesskommunikation sei die Kopplung von PyMOL mit einem Sequenzalignment-Programm genannt. Die Java-Klasse, die für die Installation von PyMOL und die Kommunikation beider Programme zuständig ist, darf frei verwendet werden.

### Eine PyMOL-Session

Zur dreidimensionalen Darstellung von Molekülen braucht es grundsätzlich eine Moleküldatei mit den Informationen zur Art und Lage der Atome und Bindungen sowie das Moleküldarstellungsprogramm. Nach dem Start des Programms öffnet sich die graphische Benutzeroberfläche, die in zwei Hauptsegmente unterteilt ist: Das eigentliche Grafikfenster (PyMOL Viewer) und ein Fenster, das sowohl durch Mausklick aktivierbare Menüs, als auch eine Eingabezeile für die PyMOL-Befehle besitzt (PyMOL Tcl/Tk GUI). Anschließend werden die gewünschten Datenfiles geladen, z. B. Atomkoordinaten einer Proteinstruktur im PDB-Format oder CIF-Format der und eine Elektronendichtekarte. PyMOL unterstützt die meisten relevanten Datenformate und erlaubt eine rasche interaktive Visualisierung der molekularen Modelle. Hervorzuheben sind dabei vielfältige Möglichkeiten, die einzelnen Atome, Aminosäuren und die Sekundärstruktur eines Proteins bis zur molekularen Oberfläche mit Form und Farbe zu gestalten. Sehr einfach ist hierbei auch die Auswahl geeigneter Ansichten des Moleküls durch Drehung, Verschiebung und Vergrößerung des Modells. Schließlich wird der ausgewählte Bildausschnitt gerendert, d. h. durch die Berechnung einer dreidimensionalen Szenerie mit Licht- und Schatteneffekten wiedergegeben. Diese Bilder lassen sich im PNG-Format speichern und gegebenenfalls mit anderen Grafikprogrammen wie Adobe Photoshop oder GIMP bearbeiten und dann in TIFF- oder JPEG-Grafiken umwandeln. Bemerkenswert ist auch die Eigenschaft von PyMOL, auf recht einfachem Wege anspruchsvolle 3D-Animationen der dargestellten Moleküle und entsprechende Filme erzeugen zu können.

### MacPyMOL

Die Mac OS X-Versionen von PyMOL nutzen entweder direkt das X Window System von OS X Tiger oder einen sogenannten Hybrid-X11-Modus. Erstere startet OpenGL mit GUI und Tcl/Tk direkt in X11 und ist deshalb vollständig kompatibel zu den Linux- oder UNIX-Versionen. Dagegen ist MacPyMOL der graphischen Benutzeroberfläche Aqua des Mac OS X angepasst. MacPyMOL kann auf Rechnern mit Panther (MAC OS X 10.3) und Tiger (OS X 10.4) installiert werden. Damit PyMOL ohne Einschränkungen auf einem Macintosh läuft, ist eine Maus mit drei Tasten erforderlich, bei der man die Tasten neu konfigurieren sollte.

## Entwicklung

Aufgeführt sind Hauptversionen für mehrere Betriebssysteme.
* 1998: Erstes PyMOL
* 2000: PyMOL als Open-Source-Software im Internet zugänglich
* 6. Februar 2002: v0.78 mit RPM Package Manager für Linux, (16.06.) v0.82 mit Cross-eye-Stereofunktion, Hardware-Stereo unter Linux
* 1. Juni 2003: v0.88 erlaubt Stand-Alone-Installation ohne externes Python für MS Windows, elektrostatische Oberflächendarstellung (.phi-Format), CMYK-Farbcode, (1.11.) v0.93 mit verbessertem Rendern und Sekundärstrukturberechnung
* 3. April 2004: v0.95 zusätzlich erstes MacPyMOL v0.95, (15.07.) v0.97 mit Sequenzdarstellung zur Auswahl von Moleküleinheiten
* 5. Mai 2005: v0.98
* 14. Februar 2006: v0.99
* 24. Juli 2018: v2.20
* 11. Februar 2019: v2.30
* 17. Mai 2019: v2.3.2
* 4. Oktober 2019: v2.3.3
* 26. Februar 2020: v2.3.4
* 20. Mai 2020: v2.4.0
* 18. November 2020: v2.4.1
* 25. Jänner 2021: v2.4.2
* 10. Mai 2021: v2.5.0
* 1. Juli 2021: v2.5.1
* 20. August 2021: v2.5.2
* 7. Juli 2022: v2.5.3