首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从微笑文件中检索所有分子

从微笑文件中检索所有分子
EN

Stack Overflow用户
提问于 2013-02-12 13:59:19
回答 5查看 2.6K关注 0票数 3

我正在处理.smiles文件。.smiles文件的文件结构为:http://en.wikipedia.org/wiki/Chemical_file_format#SMILES

我要拿到笑脸档案里所有的原子。这意味着如果有一个'C‘原子,就意味着将有4个'H’原子与它们相连。

在搜索过程中,我发现python中有一些模块可以解析微笑格式,但它们没有给出支持的氢原子。(例如:它们只给出'C‘,而不是连接到'C’原子的其他4个'H‘原子)

如何使用python找到所有原子,包括连接的'H‘原子。

需要转换为所有原子(包括连接的'H‘原子)的微笑文件示例:

代码语言:javascript
复制
[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]

提前谢谢你。

EN

回答 5

Stack Overflow用户

发布于 2013-02-12 17:38:43

参见Open Babel

Open Babel网站上的有用链接

  • "Guides"
  • Capabilities
  • Using Python with Open Babel
  • Other tools,包含一个工具(obprop)

另请参见

This blog ( Casper Steinmann)关于Python的化学(使用Open Babel,但不是全部)

更新请参阅此代码(未经测试):

代码语言:javascript
复制
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()
票数 6
EN

Stack Overflow用户

发布于 2013-02-12 15:07:15

我要拿到笑脸档案里所有的原子。这意味着如果有一个'C‘原子,就意味着将有4个'H’原子与它们相连。这个假设是不正确的,它可以是1,2,3氢。

尝试,openbabel,CDK或类似的化学信息学图书馆。

但是,为什么需要文件中的所有原子呢?

票数 3
EN

Stack Overflow用户

发布于 2013-06-12 15:24:02

对于化合物的分子量,以微笑的形式给出,Openbabel的Python绑定应该可以工作:

代码语言:javascript
复制
import pybel
mol = pybel.readfile("smi", "stuff.smi").next()
print mol.molwt
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14826373

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档