2

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

有没有可用的python包来做到这一点?

4

2 回答 2

2

我会推荐Pybel在 Python 中读取和操作 SDF 文件。要获取绑定信息,您可能还需要使用功能更全面但 Pythonic 更少的openbabel 模块,它可以与 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
于 2013-11-24T02:57:14.933 回答
0

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

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

于 2013-03-22T20:40:44.783 回答