raw_mol = Chem.MolFromXYZFile('acetate.xyz')
mol = Chem.Mol(raw_mol)
rdDetermineBonds.DetermineBonds(mol,charge=-1)
Dadas as coordenadas cartesianas na forma de um arquivo .xyz
, o código constrói uma lista de um ou mais gráficos moleculares. Nos casos em que existem várias formas de ressonância possíveis, xyz2mol retorna uma lista de todas, caso contrário, apenas uma lista de uma.
Este código é baseado no trabalho do 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
Depende de rdkit
, numpy
e networkx
. Mais fácil de configurar via anaconda/conda:
conda install -c conda-forge xyz2mol
A configuração para um ambiente independente está disponível via Makefile
. Para configurar e testar basta clonar o projeto e fazer.
git clone https://github.com/jensengroup/xyz2mol
e execute o seguinte na pasta xyz2mol
make
make test
Observe que também é possível executar o código sem as dependências networkx
, mas é mais lento.
Leia o arquivo xyz e imprima os SMILES, mas não codifique a quiralidade.
xyz2mol.py examples/chiral_stereo_test.xyz --ignore-chiral
Leia o arquivo xyz e imprima o formato SDF, salve-o em um arquivo
xyz2mol.py examples/chiral_stereo_test.xyz -o sdf > save_file.sdf
Leia o arquivo xyz com cobrança e imprima os SMILES
xyz2mol.py examples/acetate.xyz --charge -1
rdkit # (version 2019.9.1 or later needed for huckel option)
networkx