我正在处理.smiles文件。.smiles文件的文件结构为:http://en.wikipedia.org/wiki/Chemical_file_format#SMILES
我要拿到笑脸档案里所有的原子。这意味着如果有一个'C‘原子,就意味着将有4个'H’原子与它们相连。
在搜索过程中,我发现python中有一些模块可以解析微笑格式,但它们没有给出支持的氢原子。(例如:它们只给出'C‘,而不是连接到'C’原子的其他4个'H‘原子)
如何使用python找到所有原子,包括连接的'H‘原子。
需要转换为所有原子(包括连接的'H‘原子)的微笑文件示例:
[H]OC([H])([H])[C@@]1([H])C([H])=C([H])[C@@]([H])(n2c([H])nc3c(nc(nc23)N([H])[H])N([H])C2([H])C([H])([H])C2([H])[H])C1([H])[H]提前谢谢你。
发布于 2013-02-12 17:38:43
参见Open Babel。
Open Babel网站上的有用链接
另请参见
This blog ( Casper Steinmann)关于Python的化学(使用Open Babel,但不是全部)
更新请参阅此代码(未经测试):
mymol = pybel.readstring("smi",
"[H]OC([H])([H])[C@@]1([H])C([H])=C([H])[C@@]([H])(n2c([H])nc3c(nc(nc23)" + \
"N([H])[H])N([H])C2([H])C([H])([H])C2([H])[H])C1([H])[H")
print mymol.addh()发布于 2013-02-12 15:07:15
我要拿到笑脸档案里所有的原子。这意味着如果有一个'C‘原子,就意味着将有4个'H’原子与它们相连。这个假设是不正确的,它可以是1,2,3氢。
尝试,openbabel,CDK或类似的化学信息学图书馆。
但是,为什么需要文件中的所有原子呢?
发布于 2013-06-12 15:24:02
对于化合物的分子量,以微笑的形式给出,Openbabel的Python绑定应该可以工作:
import pybel
mol = pybel.readfile("smi", "stuff.smi").next()
print mol.molwthttps://stackoverflow.com/questions/14826373
复制相似问题