raw_mol = Chem.MolFromXYZFile('acetate.xyz')
mol = Chem.Mol(raw_mol)
rdDetermineBonds.DetermineBonds(mol,charge=-1)
Mengingat koordinat Cartesian dalam bentuk file .xyz
, kode tersebut membuat daftar satu atau lebih grafik molekul. Dalam kasus di mana ada beberapa kemungkinan bentuk resonansi, xyz2mol mengembalikan daftar semuanya, jika tidak, hanya satu daftar.
Kode ini didasarkan pada karya 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
Tergantung pada rdkit
, numpy
, dan networkx
. Paling mudah untuk diatur melalui anaconda/conda:
conda install -c conda-forge xyz2mol
Pengaturan untuk lingkungan mandiri tersedia melalui Makefile
. Untuk mengatur dan menguji cukup mengkloning proyek dan membuatnya.
git clone https://github.com/jensengroup/xyz2mol
dan kemudian jalankan folder xyz2mol
berikut ini
make
make test
Catatan, kode juga dapat dijalankan tanpa ketergantungan networkx
, namun lebih lambat.
Baca dalam file xyz dan cetak SMILES, tetapi jangan mengkodekan kiralitasnya.
xyz2mol.py examples/chiral_stereo_test.xyz --ignore-chiral
Baca dalam file xyz dan cetak format SDF, simpan dalam file
xyz2mol.py examples/chiral_stereo_test.xyz -o sdf > save_file.sdf
Baca dalam file xyz dengan biaya dan cetak SMILES
xyz2mol.py examples/acetate.xyz --charge -1
rdkit # (version 2019.9.1 or later needed for huckel option)
networkx