Python程序读取SDF(化学)文件

时间:2013-02-17 14:10:17

标签: python chemistry

我想阅读sdf文件(包含许多分子)并返回分子的加权邻接矩阵。应将原子视为顶点并将其视为边。如果 i j 顶点通过单键,双键或三键连接,则邻接矩阵中的相应条目应分别为1,2和3。我需要为每个顶点进一步获得距离矢量,列出不同距离的顶点数。

有没有可用的python包呢?

2 个答案:

答案 0 :(得分:2)

我建议使用Pybel来阅读和操作Python中的SDF文件。要获得绑定信息,您可能还需要使用更全功能但更少pythonic openbabel module,它可以与Pybel(作为pybel.ob)一起使用。

首先,你会写这样的东西:

import pybel

for mol in pybel.readfile('sdf', 'many_molecules.sdf'):
  for atom in mol:
    coords = atom.coords
    for neighbor in pybel.ob.OBAtomAtomIter(atom.OBAtom):
      neighbor_coords = pybel.atom(neighbor).coords

答案 1 :(得分:0)

http://code.google.com/p/cinfony/

但是,对于您的确切问题,您需要查阅文档。