基于OpenBabel将SDF转为MOL2格式
- 软件开发
- 2025-09-05 19:48:01

基于Open Babel将SDF转为MOL2格式
SDF转为MOL2的格式转化步骤很简单,但是需要安装 Open Babel 软件,因为常用Python,索性Openbabel也支持Python,因此通过conda安装。Open Babel 总共包含了两个 Python 模块openbabel和Pybel,可用于访问 Open Babel 工具包的功能。
openbabel:openbabel 模块允许 Python 直接访问 C++ 的Open Babel 库。这种绑定是通过SWIG软件包生成的,它几乎提供了Open Babel所有接口的Python访问权限,包括基础类OBMol、OBAtom、OBBond 和OBResidue,以及转换框架 OBConversion。因此,C++ API中的几乎所有调用都可以在Python脚本中使用,且语法差异极小,详见:The openbabel module。Pybel:一个轻量级的封装,围绕openbabel模块中的类和方法。Pybel 提供了一些方便的函数和类,使得从Python中使用 Open Babel 库变得更加简单,尤其是在文件的输入/输出以及访问原子和分子属性方面。Pybel 使用的 Atom和 Molecule 类可以与openbabel模块使用的OBAtom和OBMol类相互转换,详见:Pybel。 1. 安装Openbebel (On Linux)使用conda安装。
conda install conda-forge::openbabel 2. 转格式(SDF→MOL2)使用 Open Babel 的 Python 接口 Pybel 模块,用于处理化学分子文件的读取和格式转换,将一个 SDF 格式的文件中读取第一个分子,并将其转换为 MOL2 格式后保存。
from openbabel import pybel # read compound (sdf fromat) cmd_1=next(pybel.readfile("sdf", "./cmd-1-3d.sdf")) # convert to mol2 format cmd_1.write("mol2", "./cmd-1-3d.mol2")‼️尽管cmd-1-3d.sdf文件中只保存了一个化学分子,仍然使用了 next()> 来访问文件中的第一个(也可能是唯一一个)分子。
基于OpenBabel将SDF转为MOL2格式由讯客互联软件开发栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“基于OpenBabel将SDF转为MOL2格式”
下一篇
Linux信号量