介绍
此文章不完全翻译自官方文档,不定期更新,欢迎关注
Open Babel是一个非常优秀的支持多种分子格式的开源软件,同时可以进行2D 3D格式的转换,也可以编写脚本。编译安装方法可以查看我们之前的文章。
对于python,Open Babel是支持的很好的,其包括了两个Python包,分别为openbabel
模块和Pybel
模块。
1.Openbabel
模块
其包含标准的Python粘合,来自于C++API,通过SWIG自动生成
2.Pybel
模块
这是一个轻量级的openbabel
封装类和方法,其提供更多的便利和Pythonic方式来操控Open Babel工具
openbabel
模块
包含基本类 OBMol,OBAtom,OBBond和OBResidue,以及转换框架 OBConversion
示例
(以下均为python3测试通过)
普通的自编分子
当然也可以通过阅读SML码读取已有分子进行加氢,输出其他文件的操作,主要是使用OBConversion框架
|
|
当然也可以阅读文件模式进行阅读
使用迭代器
许多Open Babel工具包提供迭代器,其后缀为”iter”,所有的API可以在官网查询
Pybel模块
Pybel我觉得是更加好用更加容易理解的工具,使用的方法也很容易,就是import pybel
或者from pybel import *
原子和分子
分子可以通过三种方法进行创建:
1.使用OBMol
2.从文件中阅读(见下)
3.从字符串中阅读(见下)
原子可以通过两种方法创建:
1.使用OBAtom
2.分子中的原子
分子的话有如下属性:atoms,charge,data,dim,energy,exactmass,formula,molwt,spin,sssr,title和unitcell(这个需要晶体数据),atoms属性主要是提供分子中的所有原子列表,data属性可以看作一个字典,可以阅读和编辑数据。
以下为一个示例,让我们假设有一个SD文件包含数据的描述