前言

.mol 文件是常见的化学文件格式,主要包含分子的坐标、分子间的键等数据。

示例文件

下面是一个水分子的 .mol 文件

H2O
APtclcactv05052315543D 0 0.00000 0.00000 3 2 0 0 0 0 0 0 0 0999 V2000
-0.0000 -0.0589 -0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0
-0.8110 0.4677 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0
0.8110 0.4677 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0
1 2 1 0 0 0 0
1 3 1 0 0 0 0
M END

文件组成

文件头部

共有3行组成,第一行是文件名或者化学式,第二行是创建的程序名和相关的信息,第三行是注释行,默认为空。

计数行

计数行代表下面的原子数等,格式如下,如数字不够三位则前一位以空格填充

aaabbblllfffcccsssxxxrrrpppiiimmmvvvvvv
占位符 解释
aaa 原子个数,最大 255 个
bbb 化学键个数,最大 255 个
lll 原子列表个数,最大 30 个
fff 弃用
ccc 手性,0 代表无手性,1 代表有有手性
sss - iii 弃用
mmm 弃用,代表分子其他属性值行数,现在新文件默认为 999
aaa 原子个数,最大 255 个
vvvvvv 一般为 v2000,也有 v3000

原子块

下面数行(数量与 aaa 一致)为原子的位置信息,格式如下

xxxxx.xxxxyyyyy.yyyyzzzzz.zzzz aaaddcccssshhhbbbvvvHHHrrriiimmmnnneee
占位符 解释 备注
xyz 原子的位置信息,单位为埃,为5位整数(包含负号)和4位小数
aaa 元素类型
dd 原子质量差异(同位素),取值范围为[-3, 4]
ccc 电荷数,0 = 无电荷, 1 = +3, 2 = +2, 3 = +1, 4 = 双自由基, 5 = -1, 6 = -2, 7 = -3
sss - eee 其他参数,基本不用

化学键块

之后数行是化学键的信息,格式如下

111222tttsssxxxrrrccc
占位符 解释 备注
111 自 1 开始的原子序号
222 自 1 开始的原子序号
ttt 类型,1 = 单键, 2 = 双键, 3 = 三键, 4 = 芳香环
sss 手性,1 = 左手,2 = 右手
xxx - ccc 其他参数,基本不用

属性块

M 开头来表示一个属性,一行为一个属性,属性块最后一行用 M END 结尾,常用属性如 M CHG 8 aaa vvv 代表分子中某原子的带电属性,其中 8 该行可以写 1~8 个 aaa vvvaaa 代表原子序号,vvv 代表电荷值

参考

mol 文件格式简单解析(v2000)的更多相关文章

  1. EPUB文件格式简单解析

    最近热衷于看轻小说,奈何某些网站样式排版属实糟糕,移动端体验极度不友好,实在无法忍受,于是希望能将网站内容爬取下来制作成EPUB格式的电子书. 抛开爬取网站内容不谈,通过解析EPUB文件后,大致掌握了 ...

  2. MP4文件格式的解析

    MP4文件格式的解析,以及MP4文件的分割算法 mp4应该算是一种比较复杂的媒体格式了,起源于QuickTime.以前研究的时候就花了一番的功夫,尤其是如何把它完美的融入到视频点播应用中,更是费尽了心 ...

  3. 对 cloudwu 简单的 cstring 进行简单解析

    题外话 以前也用C写过字符串,主要应用的领域是,大字符串,文件读取方面.写的很粗暴,用的凑合着.那时候看见云风前辈的一个开源的 cstring 串. 当时简单观摩了一下,觉得挺好的.也没细看.过了较长 ...

  4. 基于DOM的XSS注入漏洞简单解析

    基于DOM的XSS注入漏洞简单解析http://automationqa.com/forum.php?mod=viewthread&tid=2956&fromuid=21

  5. PCM文件格式简单介绍

    PCM文件格式简单介绍 PCM文件:模拟音频信号经模数转换(A/D变换)直接形成的二进制序列,该文件没有附加的文件头和文件结束标志.Windows的Convert工具能够把PCM音频格式的文件转换成M ...

  6. 15.5 自学Zabbix之路15.5 Zabbix数据库表结构简单解析-其他 表

    点击返回:自学Zabbix之路 自学Zabbix之路15.5 Zabbix数据库表结构简单解析-其他 表  1. Actions表 actions表记录了当触发器触发时,需要采用的动作. 2.Aler ...

  7. 深度优先搜索DFS和广度优先搜索BFS简单解析(新手向)

    深度优先搜索DFS和广度优先搜索BFS简单解析 与树的遍历类似,图的遍历要求从某一点出发,每个点仅被访问一次,这个过程就是图的遍历.图的遍历常用的有深度优先搜索和广度优先搜索,这两者对于有向图和无向图 ...

  8. List<T>集合的Sort自定义排序用法简单解析

    List<T>集合的Sort自定义排序用法简单解析: 如下:一系列无序数字,如果想要他们倒序排列,则使用如下代码: 那么如何理解这段代码呢? (x,y)表示相邻的两个对象,如果满足条件:x ...

  9. Maven项目pom.xml文件简单解析

    Maven项目pom.xml简单解析 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="h ...

  10. 自学Zabbix之路15.1 Zabbix数据库表结构简单解析-Hosts表、Hosts_groups表、Interface表

    点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 自学Zabbix之路15.1 Zabbix数据库表结构简单解析-Hosts表.Hosts_grou ...

随机推荐

  1. 多模态大语言模型 LlaVA 论文解读:Visual Instruction Tuning

    代码:https://github.com/haotian-liu/LLaVA 总览 在这篇论文中,作者首次尝试使用纯语言 GPT-4 生成多模态语言图像指令遵循数据(insruction-follo ...

  2. Linux下C语言实现贪吃蛇

    简单记录下贪吃蛇小游戏. 以下是源码: 1 #include <curses.h> 2 #include <stdlib.h> 3 #include <pthread.h ...

  3. PostgreSQL 12 文档: PostgreSQL 服务端程序

    PostgreSQL 服务器应用   这一部分包含PostgreSQL服务器应用和支持工具的参考信息.这些命令只在数据库服务器所在的主机上运行才有用.其他工具程序在PostgreSQL 客户端应用中列 ...

  4. 【Python】万字长文,Locust 性能测试指北(上)

    Locust Locust 是比较常见的性能测试工具,底层基于 gevent.官方介绍 它是一款易于使用.可编写脚本且可扩展的性能测试工具,可以让我们使用常规 Python 代码定义用户的行为,而不必 ...

  5. sensor有点意思之RCCB传感器

    1.RCCB sensor 无意中看到一种特殊规格的传感器,RCCB (Red-Clear-Clear-Blue)sensor,第一次听到这个名词,咱不知道就查一查,检索到RCCB sensor是一种 ...

  6. git 访问仓库错误

    通过https访问git出现错误, failed: Error in the pull function 尝试将https改为http

  7. YUM histoy 与 RPM -qa --last

    查看Linux yum安装包的安装时间,可以使用以下命令: rpm -qa --last 该命令将显示已安装的所有rpm包及其安装日期和时间. 可以使用管道符 '|' 和 grep 命令来查找特定的包 ...

  8. Centos7制作本地yum仓库,共享给局域网其他设备

    环境准备: 准备好安装好Centos7的虚机A(服务端)和虚机B(客户端) 配置两台虚机网络使其互通,关闭selinux和firewalld等限制 下载完整的ISO镜像(CentOS-7-x86_64 ...

  9. VUE3、ElementPlus 重构若依vue2 表单构建功能

    Vue3 + ElementPlus + Vite 重构 若依Vue2 表单构建功能 若依官方的Vue3 版本发布已经有段时间了,就是这个表单构建功能一直没有安排计划去适配到Vue3! 前段时间公司需 ...

  10. html标签tr td是什么意思

    <table>代表表格</table><tr>代表表格中的一行</tr><td>代表表格中的一列</td>'tr'与'td'交成 ...