raw_mol = Chem.MolFromXYZFile('acetate.xyz')
mol = Chem.Mol(raw_mol)
rdDetermineBonds.DetermineBonds(mol,charge=-1)
A partir de coordonnées cartésiennes sous la forme d'un fichier .xyz
, le code construit une liste d'un ou plusieurs graphiques moléculaires. Dans les cas où il existe plusieurs formes de résonance possibles, xyz2mol renvoie une liste de toutes, sinon une seule.
Ce code est basé sur les travaux de 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
Dépend de rdkit
, numpy
et networkx
. Le plus simple à configurer via anaconda/conda :
conda install -c conda-forge xyz2mol
La configuration pour un environnement autonome est disponible via Makefile
. Pour configurer et tester, clonez simplement le projet et créez-le.
git clone https://github.com/jensengroup/xyz2mol
puis exécutez ce qui suit dans le dossier xyz2mol
make
make test
Notez qu'il est également possible d'exécuter le code sans les dépendances networkx
, mais c'est plus lent.
Lisez le fichier xyz et imprimez les SMILES, mais n'encodez pas la chiralité.
xyz2mol.py examples/chiral_stereo_test.xyz --ignore-chiral
Lisez le fichier xyz et imprimez le format SDF, enregistrez-le dans un fichier
xyz2mol.py examples/chiral_stereo_test.xyz -o sdf > save_file.sdf
Lire dans un fichier xyz payant et imprimer les SMILES
xyz2mol.py examples/acetate.xyz --charge -1
rdkit # (version 2019.9.1 or later needed for huckel option)
networkx