raw_mol = Chem.MolFromXYZFile('acetate.xyz')
mol = Chem.Mol(raw_mol)
rdDetermineBonds.DetermineBonds(mol,charge=-1)
Bei gegebenen kartesischen Koordinaten in Form einer .xyz
Datei erstellt der Code eine Liste mit einem oder mehreren Moleküldiagrammen. In Fällen, in denen es mehrere mögliche Resonanzformen gibt, gibt xyz2mol eine Liste aller zurück, andernfalls nur eine Liste.
Dieser Code basiert auf der Arbeit von DOI: 10.1002/bkcs.10334
Yeonjoon Kim and Woo Youn Kim
"Universal Structure Conversion Method for Organic Molecules:
From Atomic Connectivity to Three-Dimensional Geometry"
Bull. Korean Chem. Soc.
2015, Vol. 36, 1769-1777
Hängt von rdkit
, numpy
und networkx
ab. Am einfachsten über Anaconda/Conda einzurichten:
conda install -c conda-forge xyz2mol
Das Setup für eine eigenständige Umgebung ist über Makefile
verfügbar. Zum Einrichten und Testen einfach das Projekt klonen und erstellen.
git clone https://github.com/jensengroup/xyz2mol
und führen Sie dann Folgendes im Ordner xyz2mol
aus
make
make test
Beachten Sie, dass es auch möglich ist, den Code ohne die networkx
Abhängigkeiten auszuführen, dies ist jedoch langsamer.
Lesen Sie die xyz-Datei ein und drucken Sie die SMILES aus, aber kodieren Sie die Chiralität nicht.
xyz2mol.py examples/chiral_stereo_test.xyz --ignore-chiral
xyz-Datei einlesen und SDF-Format ausdrucken, in einer Datei speichern
xyz2mol.py examples/chiral_stereo_test.xyz -o sdf > save_file.sdf
Lesen Sie die xyz-Datei mit einer Gebühr ein und drucken Sie die SMILES aus
xyz2mol.py examples/acetate.xyz --charge -1
rdkit # (version 2019.9.1 or later needed for huckel option)
networkx