前言

.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. CH32V003使用ADC八通道转换注意事项

    本文以CH32V003_F4P6(20Pin)为模板 1.PA1.PA2为外部晶振输入引脚,同时也是ADC的CH1与CH0,所以需要先在system_ch32v00x.c文件中更改为内部48M的宏即可 ...

  2. 【SpringBoot】 集成 Ehcache

    SpringBoot ehcache 缓存 简介 EhCache 是一个纯 Java 的进程内缓存框架,具有快速.精干等特点, 是 Hibernate 中默认CacheProvider.Ehcache ...

  3. Tauri-Admin通用后台管理系统|tauri+vue3+pinia桌面端后台EXE

    基于tauri+vite4+pinia2跨端后台管理系统应用实例TauriAdmin. tauri-admin 基于最新跨端技术 Tauri Rust webview2 整合 Vite4 构建桌面端通 ...

  4. zabbix 可计算监控项使用 last() 与 avg() 的区别

    使用zabbix的可计算监控项时遇到的问题 在agent异常退出的情况下,使用last()的监控项依然在产出数据! 分析解决 last()函数会跳过空值,取最后一个有效值计算.遍查文档,只有用avg( ...

  5. 如何使用iptables防火墙模拟远程服务超时

    前言 超时,应该是程序员很不爱处理的一种状态.当我们调用某服务.某个中间件.db时,希望对方能快速回复,正确就正常,错误就错误,而不是一直不回复.目前在后端领域来说,如java领域,调用服务时以同步阻 ...

  6. go项目实现在配置文件实现配置项统一管理

    转载请注明出处: go项目中实现配置项统一管理,实现逻辑:将 配置项整理为一个json的数据结构,并保存到go.conf文件中,然后在go项目启动main方法中加载 go.conf 文件,读取go.c ...

  7. node:spawn npm ENOENT

    错误背景 封装脚手架时报错 错误原因 windows系统原因 解决方案 const createProjectAction = async (project) => { console.log( ...

  8. 遥遥领先 spring,中国人的 solon 来啦!10% 的体积,10倍的速度

    Solon 是什么? Java 生态型应用开发框架.它从零开始构建,有自己的标准规范与开放生态(历时五年,已有全球第二级别的生态规模).与其他框架相比,它解决了两个重要的痛点:启动慢,费内存.2023 ...

  9. 使用canvas(2d)+js实现一个简单的傅里叶级数绘制方波图

    先看效果 查看页面右下角,嘿嘿 简要说明 创建具有不同半径与角速度的圆集合:(截图中展现的效果为5个,代码是30个,运行后效果会不同) const getCircles = (N = 10) => ...

  10. 一行命令即可启动 Walrus丨入门教程

    应用管理平台 Walrus 已正式开源,本文将介绍如何上手安装 Walrus 以及如何借助 Walrus 进行应用部署. 开源地址:https://github.com/seal-io/walrus ...