(Update 2014.02.12 Hinzugefügt über Neuinstallation von Boost und Installation von PIL) (Aktualisiert am 19. Februar 2014 Strukturformelzeichnung mit Kairo hinzugefügt) (Aktualisiert am 11. März 2014) Aktualisierte Strukturformelzeichnung mit Kairo)
Als Werkzeug für die chemische Informatik OpenBabel (C ++) und CDK (Java) sind als Open Source bekannt. RDKit kann in Python verwendet werden, sodass Sie nur ein relativ einfaches Skript schreiben müssen Dies ist praktisch, da Sie chemische Strukturformeln zeichnen, suchen und analysieren können.
Wenn Sie Homebrew Python verwenden, vergessen Sie nicht, es mit .bash_profile usw. in Ihren PATH einzufügen.
Wenn NumPy nicht enthalten ist, geben Sie es ein.
pip install numpy
Volunteer Homebrew formura ist für die Öffentlichkeit zugänglich. Tippen Sie darauf und installieren Sie es. https://github.com/edc/homebrew-rdkit
brew tap edc/homebrew-rdkit
brew install rdkit
Abhängige Module cmake, wget, swig, boost und rdkit sind installiert. Die Installation von boost und rdkit dauert einige Zeit.
Wenn Sie Homebrew Python verwenden, wird aufgrund von Boost ein schwerwiegender Python-Fehler angezeigt. Erstellen Sie Boost aus dem Quellcode und installieren Sie es mit dem folgenden Befehl neu:
brew uninstall boost
brew install boost --build-from-source
Über die Befehlszeile von rdkit import Chem Wenn Sie können, ist die Installation erfolgreich.
PIL ist erforderlich, um Strukturformelbilder anzuzeigen.
pip install pillow
Der folgende Code zeichnet beispielsweise eine chemische Strukturformel aus SMILES und gibt sie als PNG aus.
rdkittest.py
from rdkit import Chem
from rdkit.Chem import Draw
from rdkit.Chem import rdDepictor
mol = Chem.MolFromSmiles('CCC(CC)O[C@@H]1C=C(C[C@@H]([C@H]1NC(=O)C)[NH3+])C(=O)OCC')
rdDepictor.Compute2DCoords(mol)
Draw.MolToFile(mol, 'mol.png')
Ergebnis:
Der Code ist überwiegend kürzer als das CDK. Es scheint, dass viele Rechenfunktionen wie Zeichnen, Suchen und Analysieren in C ++ implementiert sind. Ich denke nicht, dass es zu langsam ist.
Wie Sie jedoch sehen können, ist die Bildqualität in diesem Stadium im Vergleich zu CDK sehr schlecht. In meinem Fall suche und analysiere ich also mit RDKit, und nur das Zeichnen wird an CDK übergeben.
Wenn Kairo und PyCairo verfügbar sind (dh der Import von Kairo ist möglich), wird die Bildqualität erheblich verbessert, da Kairo beim Zeichnen der Strukturformel mit Draw.MolToFile () automatisch verwendet wird.
Sowohl Cairo als auch PyCairo können mit Homebrew installiert werden.
brew install cairo
brew install py2cairo
(Für Python2.7 ist es py2cairo anstelle von pycairo.) Wenn Cairo in Homebrew installiert ist, widerspricht es dem X11-Standard Cairo, daher denke ich, dass es wahrscheinlich notwendig ist, den Bibliothekspfad festzulegen.
(Hinzugefügt am 2014.03.11) Installieren Sie Pango und Pygtk.
brew install pango
brew install pygtk
Es ist in Ordnung, wenn Sie Pango aus Python importieren können. Dies verbessert die Schriftart und zeigt den Atomnummern- und Ionenindex normal an.
Recommended Posts