raw_mol = Chem.MolFromXYZFile('acetate.xyz')
mol = Chem.Mol(raw_mol)
rdDetermineBonds.DetermineBonds(mol,charge=-1)
เมื่อกำหนดพิกัดคาร์ทีเซียนในรูปแบบของไฟล์ .xyz
โค้ดจะสร้างรายการกราฟโมเลกุลตั้งแต่หนึ่งกราฟขึ้นไป ในกรณีที่มีรูปแบบเรโซแนนซ์ที่เป็นไปได้หลายรูปแบบ xyz2mol จะส่งคืนรายการทั้งหมด ไม่เช่นนั้นจะแสดงเพียงรายการเดียว
รหัสนี้อ้างอิงจากการทำงานของ 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
ขึ้นอยู่กับ rdkit
, numpy
และ networkx
ตั้งค่าง่ายที่สุดผ่าน anaconda/conda:
conda install -c conda-forge xyz2mol
การตั้งค่าสำหรับสภาพแวดล้อมแบบสแตนด์อโลนสามารถทำได้ผ่าน Makefile
หากต้องการตั้งค่าและทดสอบ เพียงโคลนโครงการแล้วสร้าง
git clone https://github.com/jensengroup/xyz2mol
จากนั้นเรียกใช้โฟลเดอร์ xyz2mol
ต่อไปนี้
make
make test
โปรดทราบว่า เป็นไปได้ที่จะเรียกใช้โค้ดโดยไม่ต้องพึ่งพา networkx
แต่จะช้ากว่า
อ่านในไฟล์ xyz และพิมพ์รอยยิ้มออกมา แต่อย่าเข้ารหัส chirality
xyz2mol.py examples/chiral_stereo_test.xyz --ignore-chiral
อ่านในไฟล์ xyz และพิมพ์ในรูปแบบ SDF บันทึกเป็นไฟล์
xyz2mol.py examples/chiral_stereo_test.xyz -o sdf > save_file.sdf
อ่านในไฟล์ xyz โดยมีค่าใช้จ่ายและพิมพ์รอยยิ้มออกมา
xyz2mol.py examples/acetate.xyz --charge -1
rdkit # (version 2019.9.1 or later needed for huckel option)
networkx