化学分子Mol2文件格式与使用注意事项

欢迎浏览我的CSND博客! Blockbuater_drug …点击进入


前言

Mol2格式文件是一个ASCII 文件,由Tripos公司编制的用于表示化学分子的文件格式,在其药物设计软件套装SYBYL中使用。

Mol2格式文件被分子模拟的众多软件所支持,包括计算化学、分子对接,分子动力学软件,如Gaussian,VMD,UCSF DOCK,rDock,LeDock,MOE,Schrodinger,Openbabel,RDKit,Amber,Gromacs等。

Mol2格式文件可以通过关键词字段记录分子中常见的信息如原子坐标,原子类型,原子电荷,成键信息等,也可以记录晶胞常数、周期性边界条件信息和子结构信息等。

详细信息可参考: Mol2文件格式。

一、Mol2文件示例

在这里插入图片描述
以下是苯环的Mol2格式文件:

#	Name: benzene
#	Creating user name: tom
# 	Creation time: Wed Dec 28 00:18:30 1988
# 	Modifying user name: tom
# 	Modification time: Wed Dec 28 00:18:30 1988@<TRIPOS>MOLECULE
benzene
12 12 1 0 0
SMALL
NO_CHARGES@<TRIPOS>ATOM1 C1        1.0787     0.8803     0.0002 C.ar  1 BENZENE   0.0000 2 H1        1.9151     1.5635     0.0008 H     1 BENZENE   0.0000 3 C2       -1.3021     0.4939     0.0002 C.ar  1 BENZENE   0.0000 4 H2       -2.3118     0.8772     0.0008 H     1 BENZENE   0.0000 5 C3       -0.2231     1.3734    -0.0002 C.ar  1 BENZENE   0.0000 6 H3       -0.3962     2.4394    -0.0008 H     1 BENZENE   0.0000 7 C4       -1.0787    -0.8803    -0.0002 C.ar  1 BENZENE   0.0000 8 H4       -1.9151    -1.5635    -0.0008 H     1 BENZENE   0.0000 9 C5        1.3021    -0.4939    -0.0002 C.ar  1 BENZENE   0.0000 10 H5        2.3118    -0.8772    -0.0008 H     1 BENZENE   0.0000 11 C6        0.2231    -1.3734     0.0002 C.ar  1 BENZENE   0.0000 12 H6        0.3962    -2.4394     0.0008 H     1 BENZENE   0.0000 
@<TRIPOS>BOND1   1   2  1   2   1   5  ar  3   1   9  ar  4   3   4  1   5   3   5  ar  6   3   7  ar  7   5   6  1   8   7   8  1   9   7  11  ar  10   9  10  1   11   9  11  ar  12  11  12  1   
@<TRIPOS>SUBSTRUCTURE1 BENZENE  11 PERM 0 **** ****	0	ROOT

二、 Mol2文件主要结构解释及注意事项

Mol2文件结构特点及使用注意事项:

  1. 允许注释和空行:前5行是注释,第6行是空行
  2. 接下来是4组关键字定义的结构信息,关键字以@<TRIPOS>开头@<TRIPOS>MOLECULE @<TRIPOS>ATOM @<TRIPOS>BOND @<TRIPOS>SUBSTRUCTURE,分别是分子信息,原子,键和子结构。具体解释如后文。
  3. @<TRIPOS>MOLECULE @<TRIPOS>ATOM @<TRIPOS>BOND 对于描述一个分子的结构信息是必须的。
  4. Mol2文件格式相对自由,但在在不同关键字所在的组内有特定的编辑规则。
  5. 但不同软件对于原子类型描述可能有所不同,是某些软件读取出现错误的原因,如GaussView处理芳香系统,VMD里如果加载结构是采用xyz、gro、pdb等不含成键关系信息的坐标文件(虽然pdb有CONECT字段,但VMD不利用),保存出的mol2文件将没有BOND字段,缺失了成键信息,这种情况后续使用会有输入问题;如果在VMD同时加载相应的top或者prmtop等拓扑文件,再保存Mol2则可避免缺失BOND信息。

MOLECULE 字段解释

@<TRIPOS>MOLECULE 字段解释:
mol_name
num_atoms [num_bonds [num_subst [num_feat[num_sets]]]]
mol_type
charge_type
[status_bits
[mol_comment]]
每行信息解释:
第1行:mol_name体系的名字。OpenBabel把转换出mol2文件的源文件的名字作为体系的名字。
第2行:5个数字分别是体系中的原子数、化学键数、子结构数、特征数、set数。后三个可以省略。
子结构可以是体系中的一个部分,比如每个分子、每个残基、蛋白质的每条链等等都可以在@<TRIPOS>SUBSTRUCTURE字段里定义为一个子结构,不超过7个字符。
set是指基于体系中的一些原子/键/子结构根据特定规则和需要定义的集合,可以在@<TRIPOS>SET里具体定义,命名需要不重复。
第3行:mol_type体系的类型。可以为SMALL(小分子)、BIOPOLYMER(生物聚合物)、PROTEIN(蛋白)、NUCLEIC_ACID(核酸)、SACCHARIDE(糖)
第4行:原子电荷。没有计算就是NO_CHARGES,更具计算方法可以是GASTEIGER,MULLIKEN_CHARGES、MMFF94_CHARGES;其他情况USER_CHARGES。

方括号里面的信息项以及该项后面的项可以不提供。

ATOM 字段解释

@<TRIPOS>ATOM 字段,有10列:
atom_id atom_name x y z atom_type [subst_id [subst_name [charge [status_bit]]]]
每列信息解释:
(1)atom_id 原子序号(整数)
(2)atom_name 原子名(字符串)
(3)x坐标(埃)
(4)x坐标(埃)
(5)x坐标(埃)
(6)原子类型(字符串)
(7)原子所属的子结构序号(整数)
(8)原子所述的子结构名字(字符串)
(9)原子电荷(浮点数)
(10)状态位(status_bit):不可改动,由SYBYL根据原子产生,可省略:DSPMOD, TYPECOL, CAP, BACKBONE, DICT, ESSENTIAL, WATER 或者DIRECT.

方括号里面的信息可以不提供,不提供会被填充字符,保证至少9列。
第2列原子名称部分可以完全随意;但第6列原子类型Tripos有统一定义;

如下所示:
在这里插入图片描述

BOND 字段解释

@<TRIPOS>BOND 字段,有5列:
bond_id origin_atom_id target_atom_id bond_type [status_bits]
每列信息解释:
(1)bond_id键的序号(整数)
(2)origin_atom_id第1个原子的序号
(3)target_atom_id第2个原子的序号
(4)bond_type键的类型
(5)同ATOM可省略,用户不可修改。键的类型有以下这些:
• 1 = 单键
• 2 = 双键
• 3 = 三键
• am = 酰胺的N-C键(这种键有一定pi共轭作用,这是为什么mol2格式里特意用am来与单键区分)
• ar = 芳香环(aromatic)上的键,以下简称芳香键
• du = 虚键
• un = 未知/无法判断
• nc = 不相连(俩原子不成键就没必要在BOND字段出现,但可以靠nc强调某两个原子间就是没成键)
绝大多数程序产生的mol2文件里没有du、un、nc。 

SUBSTRUCTURE字段解释

@<TRIPOS>SUBSTRUCTURE:字段解释:
subst_id subst_name root_atom [subst_type [dict_type [chain [sub_type [inter_bonds [status [comment]]]]]]]
方括号里面的信息可以不提供。subst_id子结构编号 (整数)
subst_name (字符串) 
root_atom的编号 (整数)
subst_type:子结构类型(字符串)有:temp, perm, residue, group 或domain

Mol2文件所有关键词如下。进一步的信息可以参考 Mol2文件格式。
在这里插入图片描述


总结

本文提供了Mol2文件格式的解释,帮助初学者加深对结构文件的了解。

参考资料

  1. http://sobereva.com/655
  2. https://download.csdn.net/download/weixin_40192882/88872977?spm=1001.2014.3001.5503

欢迎浏览我的CSND博客! Blockbuater_drug …点击进入

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/702294.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【EAI 025】Ego4D: Around the World in 3,000 Hours of Egocentric Video

Paper Card 论文标题&#xff1a;Ego4D: Around the World in 3,000 Hours of Egocentric Video 论文作者&#xff1a;Kristen Grauman, Andrew Westbury, Eugene Byrne, et al. 作者单位&#xff1a;UC Berkeley, CMU, Google 论文原文&#xff1a;https://arxiv.org/abs/2110…

linux 文本编辑命令【重点】

目录 vi&vim介绍 vim安装 vim使用 查找命令 find grep 文本编辑的命令&#xff0c;主要包含两个: vi 和 vim vi&vim介绍 作用: vi命令是Linux系统提供的一个文本编辑工具&#xff0c;可以对文件内容进行编辑&#xff0c;类似于Windows中的记事本 语法: vi file…

在autodl搭建stable-diffusion-webui+sadTalker

本文介绍在autodl.com搭建gpu服务器&#xff0c;实现stable-diffusion-webuisadTalker功能&#xff0c;图片音频 可生成视频。 autodl租GPU 自己本地部署SD环境会遇到各种问题&#xff0c;网络问题&#xff08;比如huggingface是无法访问&#xff09;&#xff0c;所以最好的方…

中国象棋开源人工智能程序(带UI)搬运

我的老父亲一直想买一个人工智能象棋机器人陪他下棋&#xff0c;我就在Github上找了一个开源项目&#xff0c;带UI的中国象棋人工智能程序&#xff0c;其训练方法类似AlphaZero&#xff0c;因而叫Chinese Chess Zero (cczero)。虽然看起来很久没有维护了&#xff0c;但是棋力也…

SpringMVC 学习(六)之视图

目录 1 SpringMVC 视图介绍 2 JSP 视图 3 Thymeleaf 视图 4 FreeMarker 视图 5 XSLT 视图 6 请求转发与重定向 6.1 请求转发 (Forward) 6.2 重定向 (Redirect) 7 视图控制器 (view-controller) 1 SpringMVC 视图介绍 在 SpringMVC 框架中&#xff0c;视图可以是一个 J…

HTML+CSS+JS:轮播组件

效果演示 一个具有动画效果的卡片元素和一个注册表单,背景为渐变色,整体布局简洁美观。 Code <div class="card" style="--d:-1;"><div class="content"><div class="img"><img src="./img/果果k_01.jpg…

代码随想录算法训练营第二十六天 | 39. 组合总和,40.组合总和II, 131.分割回文串[回溯篇]

代码随想录算法训练营第二十六天 LeetCode 39. 组合总和题目描述思路参考代码总结 LeetCode 40.组合总和II题目描述思路参考代码 LeetCode 131.分割回文串题目描述思路切割问题回文判断 参考代码总结 LeetCode 39. 组合总和 题目链接&#xff1a;39. 组合总和 文章讲解&#xf…

Mysql5.7主从复制搭建

注意不适用Mysql8 Docker搭建Mysql主从复制 docker run -p 3307:3306 --name mysql-master \ -v /usr/local/develop/mysql-master/log:/var/log/mysql \ -v /usr/local/develop/mysql-master/data:/var/lib/mysql \ -v /usr/local/develop/mysql-master/conf:/etc/mysql/con…

10 在线逻辑分析仪的使用

在线逻辑分析仪简介 传统的 FPGA 板级调试是将逻辑分析仪连接到 FPGA 的 IO 引脚上 &#xff0c;然后将内部信号引出至 IO 引脚&#xff0c;再进行板级调试&#xff0c;这种方法的缺点是我们需要一个逻辑分析仪&#xff0c;且还要在 PCB 中预留测试点。在线逻辑分析仪克服了以…

博途PLC PID仿真(单容水箱液位高度控制含变积分变增益测试)

单容水箱和双荣水箱的微分方程和数值求解,可以参考下面文章链接: https://rxxw-control.blog.csdn.net/article/details/131139432https://rxxw-control.blog.csdn.net/article/details/131139432这篇博客我们利用欧拉求解器在PLC里完成单容水箱的数学建模。PLC也可以和MATL…

Python习题详解

练习&#xff1a; 1&#xff0c;计算100以内奇数的和 #计算100以内所有奇数的和 sum 0 # n 1 # while n < 100: # # sum sum n # sum n # # n n 2 # n 2 # print(sum) n 99 #求偶数时n 100 while n > 0:sum n# n n - 2n - 2 print(sum)2&#xff0c;打印直…

【办公类-22-08】周计划系列(4)“育儿知识(家园小报)“ (2024年调整版本)

作品展示 背景需求&#xff1a; 制作“育儿知识&#xff08;家园小报&#xff09;”&#xff0c;查询发现去年就没有做 因为“家园小报”基本没有段落文字&#xff0c;都是“文本框文字、艺术字“&#xff0c;很难用python提取文字。 由于只有6篇&#xff0c;因此去年采用的就…

【线程池项目(四)】项目的死锁问题分析和资源回收机制的改善

在上一篇 【线程池项目&#xff08;三&#xff09;】线程池CACHED模式的实现中我们大概说了说cached模式的基本实现&#xff0c;对于多线程编程&#xff0c;我们需要考虑的问题也较于单线程更多、更复杂&#xff0c;经常存在线程同步、资源竞争等复杂的并发控制问题&#xff0c…

【Java程序设计】【C00276】基于Springboot的就业信息管理系统(有论文)

基于Springboot的就业信息管理系统&#xff08;有论文&#xff09; 项目简介项目获取开发环境项目技术运行截图 项目简介 这是一个基于Springboot的就业信息管理系统 本系统分为前台功能模块、管理员功能模块、学生功能模块、企业功能模块以及导师功能模块。 前台功能模块&…

微服务知识02

1、九大高并发解决方案 2、系统架构图​​​​​​​ 3、分布式事务 本地事务、分布式事务 操作不同服务器的数据库&#xff08;垂直分库&#xff09; 4、分布式事务解决方案&#xff08;没有seata之前&#xff09; &#xff08;1&#xff09;XA协议&#xff08;强一致性&a…

PixPin:一键搞定截图、长截图、贴图、GIF

名人说&#xff1a;莫道桑榆晚&#xff0c;为霞尚满天。——刘禹锡&#xff08;刘梦得&#xff0c;诗豪&#xff09; 创作者&#xff1a;Code_流苏(CSDN)&#xff08;一个喜欢古诗词和编程的Coder&#x1f60a;&#xff09; 目录 一、什么是PixPin&#xff1f;①PixPin②核心功…

readproc.h

Ubuntu22.04系统中 编译自己写的程序的时候&#xff0c;报错&#xff0c;显示找不到readproc.h文件&#xff0c;通过安装libprocps-dev解决 sudo apt install libprocps-dev

项目解决方案:街道社区视频监控接入、汇聚和联网设计方案

目 录 一、客户需求 二、网络拓扑图 三、方案描述 四、系统配置 1、服务器配置 2、带宽配置 五、方案优势 1. 平台可堆叠使用 2. 支持主流接入协议 4. 多种终端显示 5. 客户端功能强大 6. 一机一档 一、客户需求 1&#xff0c;一个街道有十个社…

消息中间件篇之RabbitMQ-高可用机制

一、怎么保证高可用性 在生产环境下&#xff0c;使用集群来保证高可用性&#xff0c;一般我们采用普通集群、镜像集群、仲裁队列。 二、普通集群 普通集群&#xff0c;或者叫标准集群&#xff08;classic cluster&#xff09;&#xff0c;具备下列特征&#xff1a; 1. 会在集…

蓝桥杯DP算法——区间DP(C++)

根据题意要求的是将石子合并的最小权值&#xff0c;我们可以根据DP思想使用二维数组f[i,j]来存放所有从第i堆石子到第j堆石子合并成一堆石子的合并方式。 然后由第二个图所示&#xff0c;我们可以将i到j区间分成两个区间&#xff0c;因为将i到j合并成一个区间的前一步一定是合…