我正在处理 .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]
提前谢谢你。
最佳答案
参见 Open Babel .
Open Babel 网站上的有用链接
- "Guides "
- Capabilities
- Using Python with Open Babel
- Other tools , 包括一个工具 ( obprop )
另见,
This blog (作者:Casper Steinmann)关于 Chemistry with 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()
关于python - 从微笑文件中检索所有分子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14826373/