当前位置: 首页 > news >正文

基于Open Babel将SDF转为MOL2格式

基于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()> 来访问文件中的第一个(也可能是唯一一个)分子。

相关文章:

  • 前端带样式导出excel表格,html表格生成带样式的excel表格
  • PHP 文件与目录操作
  • gitte远程仓库修改后,本地没有更新,本地与远程仓库不一致
  • Ubuntu虚拟机NDK编译ffmpeg
  • 【Java】理解字符串拼接与数值运算的优先级
  • 解压包格式7z怎么解压?8种方法(Win/Mac/手机/网页端)
  • C++核心指导原则: 哲学部分
  • Deepseek-R1推理模型API接入调用指南 ChatGPT Web Midjourney Proxy 开源项目接入Deepseek教程
  • Linux 信号量
  • Python的那些事第二十四篇:Tornado:异步网络编程的“风火轮”
  • 【实战项目】BP神经网络识别人脸朝向----MATLAB实现
  • 蓝桥杯平方差(打表)
  • React创建项目实用教程
  • 使用DeepSeek建立一个智能聊天机器人0.11
  • 执行pnpm run dev报错:node:events:491 throw er; // Unhandled ‘error‘ event的解决方案
  • leetcode - hot100 - python - 专题一:哈希
  • 基于STM32、HAL库、MB85RC16PNF(I2C接口)驱动程序设计
  • python实现jaccard系数得出两个集合的相似度
  • deepseek-r1不同参数量的模型本地私有化部署,需要的硬件资源最低配置
  • [vs2017][qt]MSB4019 未找到导入的项目QtMsBuild\Qt.prop
  • 诗词文赋俱当歌,听一听古诗词中的音乐性
  • 外交部:对伊朗拉贾伊港口爆炸事件遇难者表示深切哀悼
  • 马上评|“AI神医宇宙”欺诈,连演员都不请了
  • 持续更新丨伊朗官员:港口爆炸已致5人死亡超700人受伤
  • 王毅会见瑞士联邦委员兼外长卡西斯
  • 中国海外宏洋集团:一季度经营溢利同比降48.6%,密切关注行业收并购机会等