Montag, 10. Mai 2010

Lösung

Puh, nahezu den ganzen Tag drauf verwendet, das Problem zu lösen, dass mein Programm abhängig von der Optimierung des Indols einmal 17 Strukturen optimiert und einmal 18. Das lag letztendlich irgendwie an dem Vergleich des Bead-Abstands, mit der Summe der van der Waals-Radien. Die Ausgabe zeigte zwar exakt die gleichen Werte für beide Variablen an, allerdings wurde die Bedingung

if(BeadDistance < vdW_Sum)

trotzdem ausgeführt und die entsprechenden Strukturen ignoriert. Das sollte natürlich nicht sein. Ich schätze mal das liegt daran, dass double kein exakter Datentyp ist. Jedenfalls habe ich deswegen einen kleinen Korrekturterm eingeführt, der von der vdW-Summe abgezogen wird und klein genug sein sollte, um nichts zu verfälschen.

Das was ich vorher als Fehler abgestämpelt hatte, dass einige Atome des Indols falsch rotiert werden, ist anscheinend nicht einmal ein Fehler meines Programms. PyMol kommt irgendwie nicht allzu gut mit den XYZ-Dateien zurecht. Molden zeigte die selbe Datei fehlerfrei an und PyMol nach Konvertierung in eine PDB-Datei auch.

Keine Kommentare:

Kommentar veröffentlichen