Molz3d  (MolekuelZeichner 3-Dimensional)
======

Hiermit kann man ein Molekuel zeichnen (in einem 3D-Raum konstruieren).
Zur schoenen Darstellung laesst es sich dann als Povray-Datei speichern
und mit dem freien Raytracerprogramm Povray darstellen.


Installation:
------------
Es wird xtekplot1 vorausgesetzt.
Eventuell makefile editieren (z.B. fuer MacOSX).
> make
> make install
erster Test:
> molz3d beispiele/L-Ala.xyz


Koordinatensystem:
-----------------

y ^
  |
  |
  |
  |   z
  |   /
  |  /
  | /
  |/
  +-----------------> x

Beim Starten befindet sich die virtuelle Kamera auf der negativen z-Achse
mit Blick auf den Koordinatenursprung. Der Bildschirm liegt somit auf einer
Ebene parallell zur x-y-Ebene. Koordinatenursprung ist in der Bildschirmmitte.
Mit den Pfeiltasten wird die Kamera in der x-y-Ebene gefahren (nicht gedreht).
Neu kann man auch mit der Maus im mittleren Bereich die Kamera fahren.
Mit dem Mausrad kann man zoomen (Abstand der Kamera zur xy-Ebene veraendert).


Menu-Erklaerungen:
-----------------
Load...	     Es koennen Dateien im xyz-Format (Dateiendung .xyz) und auch
	     Povraydateien (die mit Molz3d gespeichert wurden) geladen werden.
	     Auch PDB-Dateien (Endung .pdb) koennen hier geladen werden.
Save...      Eine Datei speichern im Format das mit der Datei-Endung gegeben 
	     wird: .pov fuer den Raytracer Povray, .pdb fuer GaussView,
	     und .xyz fuer das einfachste Format.
Save xyz...  Als einfache Textdatei speichern (xyz-Format)
Save pdb...  Als PDB-Datei speichern, wobei noch der Typ angegeben werden kann.
             (0=fuer GaussView, 1=nach Spezif. aber mit kleinerer Genauigkeit)
Molekuel anfuegen...  Hier kann eine xyz-, pdb- oder pov-Datei gewaehlt werden
                      (ev. Filter auf *.p* setzen). Beim naechsten Zeichnen
                      wird dann nicht ein einzelnes Atom sondern das ganze
		      entsprechende Molekuel angefuegt.
Stereobild...  Molekuel als Stereo-Bild darstellen
               (siehe weiter unten)


Aufbau einer xyz-Datei:
----------------------
Beispiel Formaldehyd.xyz:

4  3                                          ;Anzahl Atome  Anzahl Bindungen
 C      0.000000     0.000000     0.000000    ;Liste der Atome mit x y z-Werten
 O      0.000000     1.290000     0.000000
 H      0.926647    -0.535000    -0.000000
 H     -0.926647    -0.535000    -0.000000
0 1 2                                         ;Liste der Bindungen
0 2
0 3

Bei den Bindungen besteht jede Zeile aus 2 Nummern der beiden Atome die
verbunden sein sollen, und eventuell einer dritten Zahl fuer Dppel- und
Mehrfach-Bindungen. Also z.B. die Zeile "0 1 2" ist also eine Doppelbindung
zwischen dem C und dem O. (Nummerierung der Atome beginnt bei 0)

In Povray-Dateien wird fuer eine Bindung (die bisher auch bei Mehrfach-
bindungen nur durch einen Zylinder dargestellt wird) jeweils noch ein
Kommentar gesetzt der mit "//bond" beginnt und danach die 3 Nummern hat.

In PDB-Dateien koennen keine Mehrfachbindungen definiert werden. Diese
Information geht also verloren beim Speichern als .pdb Datei.


Stereo-Bilder:
-------------
Zwei mal das gleiche Molekuel nebeneinander gestellt ergibt ein Stereobild.
Das linke Bild sollte mit dem rechten Auge, das rechte Bild mit dem linken
Auge betrachtet werden. Es ergibt sich dann ein virtuelles Bild das vor dem
Bildschirm liegt (wenn ausgedruckt ueber dem Blatt).
Mit der Option fuer die zweite Darstellungsart ist es genau umgekehrt:
Das linke Bild mit dem linken, das rechte mit dem rechten Auge betrachten.
Dies ergibt ein virtuelles Bild das hinter dem Bildschirm liegt.


Einlesen von PDB-Dateien:
------------------------
Es werden bisher nur die Zeilen mit den Atompositionen (ATOM und HETATM)
und Zeilen mit Bindungen (CONECT) ausgewertet.
Falls in der PDB-Datei ein anderes Koordinatensystem vorausgesetzt ist,
kann dies noch mit dem Menupunkt "Spiegeln" korrigiert werden.

Es wird jetzt automatisch gespiegelt, indem beim Einlesen y und z vertauscht
wird. (ab Version 1.04)


Speichern als PDB-Datei: (ab Version 1.04)
-----------------------
Es wird so gespeichert, dass es von GaussView-5.0.9 eingelesen werden kann.
Da dort ein anderes Koordinatensystem verwendet wird, werden y und z
vertauscht gespeichert.
Beim ersten mal speichern und mit dem Menu "Save pdb..." wird zuerst noch
nach dem genauen PDB-Typ gefragt. (0=fuer GaussView, 1=nach Spezifikation)
Wenn 1 angegeben wird sollte es kompatibel zu allen Programmen sein, die
PDB verwenden. Die Genauigkeit ist aber etwas kleiner, da nur 3 Nachkomma-
stellen angegeben werden.


Reaktionen simulieren: (ab Version 1.05)
----------------------
Um zu testen ob z.B. bei einer Linking-Reaktion von einem Peptid die
Reaktion moeglich ist, werden alle frei drehbaren Bindungen (also alle
Diederwinkel) zufaellig veraendert. Das Programm prueft dann ob sich
die beiden Atome die reagieren koennten genuegend nahe kommen.
Dazu gibts die neuen Menupunkte:
 "Alle Diederwinkel aendern..."  damit koennen alle zufaellig gedreht werden
 "Reakton simulieren..."  hier werden noch 2 Atome angegeben die reagieren sollen
 "H-Bruecken simulieren"  hier koennen noch H-Brucken simuliert werden
 "H-Bruecken loesen"      bei simulierten H-Brucken diese wieder loesen

