我想读取sdf文件(包含许多分子)并返回该分子的加权邻接矩阵。原子应视为顶点,键应视为边缘。如果i和j顶点通过单键、双键或三重键连接,则邻接矩阵中相应的条目分别为1、2和3。我需要进一步得到每个顶点的距离向量,其中列出了不同距离上的顶点数。
是否有任何python包可用于此操作?
发布于 2013-11-24 02:57:14
我建议使用皮贝尔来读取和操作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-03-22 20:40:44
看见
http://code.google.com/p/cinfony/
然而,对于您的确切问题,您需要查阅文档。
https://stackoverflow.com/questions/14921929
复制相似问题