前言

.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. Java使用joml计算机图形学库,将3D坐标旋转正交投影转为2D坐标

    最近遇到了一个困扰我许久的难题,现将解决方案分享出来 由于我们的项目侧重点在前端绘图,导致了前后端工作量不协调,我后端接口很快就能写完,而前端一个图要画好久,领导见状将前端的任务分到后端一部分用Jav ...

  2. 【原创】xenomai内核解析-xenomai实时线程创建流程

    版权声明:本文为本文为博主原创文章,未经同意,禁止转载.如有错误,欢迎指正,博客地址:https://www.cnblogs.com/wsg1100/ 目录 问题概述 1 libCobalt中调用非实 ...

  3. 微信小程序 - WXML 模板语法

    [黑马程序员前端微信小程序开发教程,微信小程序从基础到发布全流程_企业级商城实战(含uni-app项目多端部署)] https://www.bilibili.com/video/BV1834y1676 ...

  4. 浅谈REFS文件系统数据恢复研发经历(1)

    作为80后技术员, 我一直很喜欢李玟, 是我们那个时代的偶像, 一直也很喜欢听他的歌, 看到她的噩耗, 还是很那么的无法理解, 一个那么好的人怎么会得抑郁症呢, 心里多少还是无法接受. 不过联想到自己 ...

  5. Java 中怎样将 bytes 转换为 long 类型?

    将bytes 转换为long类型: 第一种方式: String 接收 bytes 的构造器转成 String,再 Long.parseLong: 但此种情况需要注意:字节数组中的每个字节都必须是有效的 ...

  6. 洛谷 T356695 文字处理软件(重置版)

    很简单了啊! 说普及- 我都不信 作者(也就是我)链接:https://www.luogu.com.cn/problem/T356695 好好想想!!!! 题目! 文字处理软件(重置版) 题目背景 A ...

  7. Powe AutoMate: 条件判断语句

    大纲 学习使用条件判断语句 使用条件判断 功能描述 判断用户输入的年龄,并显示对应的信息 使用if 判断是否是未成年人: 使用else if 判断大于18岁,小于28岁的人群 运行效果 使用else ...

  8. python: linux使用多版本python

    安装python3.6 $ sudo add-apt-repository ppa:deadsnakes/ppa $ sudo apt update $ sudo apt install python ...

  9. Django: django.core.exceptions.ImproperlyConfigured: Could not resolve URL for hyperlinked relationship using view name "game-detail".

    错误原因:在序列化时,使用了参数`url`,但在`urls.py`文件中,没有使用命名 # urls.py from django.urls import path from RESTSerializ ...

  10. .NET ORM 鉴别器 和 TDengine 使用 -SqlSugar

    SqlSugar ORM SqlSugar 是一款 老牌 .NET 开源多库架构ORM框架 ,一套代码能支持多种数据库像像Admin.net.Blog.Core.CoreShop等知名开源项目都采用了 ...