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