CAO FENGLEI (CN)
YANG MINGJUN (CN)
SUN GUANGXU (CN)
ZHANG PEIYU (CN)
MA JIAN (CN)
LAI LIPENG (CN)
WEN SHUHAO (CN)
CN101196963A | 2008-06-11 | |||
CN102609246A | 2012-07-25 | |||
CN102609604A | 2012-07-25 |
权利要求书 [权利要求 1] 原子类型定义系统, 其特征在于, 包括原子类型可视化 UI界面、 原子 类型匹配模块、 原子类型数据管理模块、 原子类型格式转换模块; 所 述的原子类型数据管理模块包括原子类型定义数据包; 原子类型定义数据包, 拥有原子类型定义方式, 承载了原子类型的全 部定义; 所述的原子类型定义包括了原子类型的名称、 元素、 符合这 种类型的原子周围化学环境的描述, 以及原子类型的层级依赖关系; 原子类型数据管理模块是整个系统的底层基础, 支持原子类型的增加 、 修改、 删除和各种维度的查询和统计; 原子类型匹配模块, 实现对给定分子中的每个原子高效、 精准的匹配 对应的原子类型; 原子类型格式转换模块, 现有各力场原子类型定义互相转换; 原子类型可视化 UI界面分别与原子类型匹配模块、 原子类型数据管理 模块、 原子类型格式转换模块通信连接, 原子类型匹配模块、 原子类 型格式转换模块分别与原子类型数据管理模块通信连接。 [权利要求 2] 根据权利要求 1所述的原子类型定义系统的原子类型匹配方法, 其特 征在于, 包括以下步骤: ( 1) 用户在原子类型可视化 UI界面选择需要匹配原子类型的分子文 件, 将原子类型文件和需要转换的格式传到原子类型格式转换模块, 然后将转换后的分子文件传到原子类型匹配模块; (2) 原子类型匹配模块将分子文件内所有的分子键按照标准化学键 类型逐一标记; 将标记好的分子键和带属性的原子连接成图的数据结 构。 (3) 用原子类型定义数据包中的原子类型的图与上述的图做子图匹 配; (4) 原子类型数据管理模块将匹配成功的原子类型加入分子中对应 原子的匹配列表中; (5) 全部原子类型匹配完成后, 原子类型匹配模块从每个原子的匹 配列表中找到层级最深的原子类型作为该原子的原子类型; (6) 原子类型格式转换模块会将匹配完成的原子类型列表转换后发 送给原子类型可视化 UI界面, 将类型标记在 2D分子图上展示给用户 [权利要求 3] 根据权利要求 2所述的原子类型定义系统的原子类型匹配方法, 其特 征在于, 步骤 (3) 所述的子图匹配, 匹配方法: 将有 n个原子的输入 分子转化成一个 n*n的矩阵, 矩阵中的点 P(i,j)是第 i个原子和第 j个原 子的边的类型, 0表示不成键、 1表示单键、 2表示双键、 3表示三键、 4表示芳香键、 5表示共轭键; 将这个矩阵扩增成 (n+l)*(n)的矩阵, 矩阵的第一列增加每个原子按属性转换的数值; 转换方法是: 元素编 号 +电荷 * 100+环边数 * 1000+芳香性 * 100000+共轭性 * 1000000, 芳香 性和共轭性 0表示没有、 1表示有; 然后将原子类型的图也按上述方法 转换成矩阵; 最后对原子类型的图按行遍历分子图的所有等长度组合 , 如果原子类型矩阵的每一行都能按相同的方式找到相同匹配, 则子 图匹配成功, 否则匹配失败。 |
[0001] 本发明属于力场技术领域, 具体为原子类型定义系统及原子类型匹配方法 。
背景技术
[0002] 力场技术是分子和晶体模拟中用来精确计算结 构和能量的计算技术。 原子类型 定义系统是力场技术中的核心系统, 现有的力场包括 Amber、 Charmm、 OPLS、 OpenFF等都有自己的原子类型定义系统, 而且各自的原子类型的个数、 原子周 围化学环境的定义方式、 数据格式和使用方式等都不尽相同。 原子类型定义系 统的优劣不但会影响力场构建的难度和成本, 也直接影响力场在使用过程中的 计算准确度。
[0003] 现有力场的原子类型定义系统的主要问题有以 下几个:
[0004] 1、 原子类型对原子周围化学环境的区分度不够, 很多不同类型的原子被归为 同一类型, 导致计算准确度下降;
[0005] 2、 原子类型的定义方法局限性大, 一般基于 SMARTS和通配符的定义方法在 描述环、 桥、 嵌套等负责化学环境时难道较大, 而且性能不好;
[0006] 3、 原子类型不易扩展, 当发现原子类型不够, 需要新增类型时没有完善的方 法和工具扩展, 导致每次升级都需要消耗大量的人力和时间成 本, 一般短则 2〜 3年, 长则 5〜 10年;
[0007] 4、 原子类型的查看和编辑困难, 没有友好的可视化工具辅助, 导致在查看和 修改时易出错。
[0008] 5、 互相之间格式转换困难, 各自都是基于文本行的数据模型来做存储和使 用
, 当用户希望交叉使用或相互对比时难度很大。
发明概述
技术问题
问题的解决方案
技术解决方案 [0009] 针对上述技术问题, 本发明提供一种效率更高效、 匹配的准确度更高的原子类 型定义系统及其定义方法。
[0010] 具体的技术方案为:
[0011] 原子类型定义系统, 包括原子类型可视化 UI界面、 原子类型匹配模块、 原子类 型数据管理模块、 原子类型格式转换模块; 所述的原子类型数据管理模块包括 原子类型定义数据包;
[0012] 原子类型定义数据包, 拥有原子类型定义方式, 承载了原子类型的全部定义; 所述的原子类型定义包括了原子类型的名称、 元素、 符合这种类型的原子周围 化学环境的描述, 以及原子类型的层级依赖关系;
[0013] 原子类型数据管理模块是整个系统的底层基础 , 支持原子类型的增加、 修改、 删除和各种维度的查询和统计;
[0014] 原子类型匹配模块, 实现对给定分子中的每个原子高效、 精准的匹配对应的原 子类型;
[0015] 原子类型格式转换模块, 现有各力场原子类型定义互相转换;
[0016] 原子类型可视化 UI界面分别与原子类型匹配模块、 原子类型数据管理模块、 原 子类型格式转换模块通信连接, 原子类型匹配模块、 原子类型格式转换模块分 别与原子类型数据管理模块通信连接。
[0017] 原子类型定义系统的原子类型匹配方法:
[0018] ( 1) 用户在原子类型可视化 UI界面选择需要匹配原子类型的分子文件, 将原 子类型文件和需要转换的格式传到原子类型格 式转换模块, 然后将转换后的分 子文件传到原子类型匹配模块;
[0019] (2) 原子类型匹配模块将分子文件内所有的分子键 按照标准化学键类型逐一 标记; 将标记好的分子键和带属性的原子连接成图的 数据结构。
[0020] (3) 用原子类型定义数据包中的原子类型的图与上 述的图做子图匹配;
[0021] 匹配方法: 将有 n个原子的输入分子转化成一个 n*n的矩阵, 矩阵中的点 P(i,j) 是第 i个原子和第 j个原子的边的类型, 0表示不成键、 1表示单键、 2表示双键、 3 表示三键、 4表示芳香键、 5表示共轭键; 将这个矩阵扩增成 (n+l)*(n)的矩阵, 矩阵的第一列增加每个原子按属性转换的数值 ; 转换方法是: 元素编号 +电荷 *1 00+环边数 * 1000+芳香性 * 100000+共轭性 * 1000000, 芳香性和共轭性 0表示没有 、 1表示有; 然后将原子类型的图也按上述方法转换成矩阵 ; 最后对原子类型的 图按行遍历分子图的所有等长度组合, 如果原子类型矩阵的每一行都能按相同 的方式找到相同匹配, 则子图匹配成功, 否则匹配失败。
[0022] (4) 原子类型数据管理模块将匹配成功的原子类型 加入分子中对应原子的匹 配列表中;
[0023] (5) 全部原子类型匹配完成后, 原子类型匹配模块从每个原子的匹配列表中 找到层级最深的原子类型作为该原子的原子类 型;
[0024] (6) 原子类型格式转换模块会将匹配完成的原子类 型列表转换后发送给原子 类型可视化 UI界面, 将类型标记在 2D分子图上展示给用户。
发明的有益效果
有益效果
[0025] 本发明提供的原子类型定义系统及其定义方法 , 具有技术效果:
[0026] 1、 本发明设计的原子类型定义方式可以描述嵌套 关系、 继承关系、 层级关系
、 树形关系和各种复杂的原子化学环境。 其能力远远超过现有的基于 SMARTS 的定义方式, SMARTS只能描述单一原子类型, 无法描述嵌套、 继承、 层级、 树等多种关系。 由于提升了描述能力, 这样就能描述更丰富、 更精确的原子类 型, 这样力场的计算就能更准确。
[0027] 2、 本发明的数据管理模块配合可视化 UI界面, 可以对原子类型实现便捷的操 作, 增、 删、 改、 查、 多维度统计都非常直观方便。 现在已有的原子类型系统 都没有实现相应的功能, 增、 删、 改只能手动编辑文本文件, 无法交互式操作 , 查看原子类型也只能看文本文件中的原始定义 , 非常晦涩, 可读性非常差。 而且没有对现有原子类型的统计功能, 使用者很难对原子类型有一个全面的认 识。 由于本发明能改善这些问题, 从而大幅提升了原子类型开发的效率,
[0028] 3、 本发明中的原子类型的算法比现有的方法效率 更高效, 匹配的准确度更高
[0029] 4、 本发明支持现有各力场原子类型定义的互相转 换, 比现有系统和工具支持 程度都全面。 对附图的简要说明
附图说明
[0030] 图 1本发明的原子类型定义系统模块架构图;
[0031] 图 2本发明的数据管理模块数据结构;
[0032] 图 3本发明的原子类型匹配流程;
[0033] 图 4本发明的可视化 UI界面说明;
[0034] 图 5本发明的原子化学环境 2D可视化标识;
[0035] 图 6本发明的原子类型格式转换流程。
发明实施例
本发明的实施方式
[0036] 本发明的一个具体实施例是用于药物分子和生 物蛋白结合计算模拟的系统中。
在生物和药物研发领域有大量的计算需求需要 模拟不同药物分子构象与生物蛋 白靶点结合的情况, 从而找到最合适的药物分子构象用于接下来的 药物开发。 业界已有商业的系统能完成模拟, 我们也在自研功能类似的系统。 这种系统中 的一个关键核心就是需要用力场算准药物分子 和蛋白的结合能, 而力场准确的 核心是有一套定义准确的原子类型。 所以本发明会运用在这个系统中, 用来创 建和优化原子类型定义, 从而为计算模拟提供更好的力场。
[0037] 本发明实施的技术方案是作为子系统嵌入药物 分子和生物蛋白结合计算模拟的 系统, 加入该系统后, 研究人员可以非常方便的优化现有力场, 也可以非常方 便的引入新的力场。 极大的优化了调优计算模拟系统的核心力场的 效率。
[0038] 如图 1所示, 这套系统由原子类型定义数据包、 原子类型数据管理模块、 原子 类型匹配模块、 原子类型可视化 UI界面、 原子类型格式转换模块。
[0039] 原子类型定义数据包, 拥有全新的原子类型定义方式, 具体的数据包承载了原 子类型的全部定义。 原子类型定义包括了原子类型的名称、 元素、 符合这种类 型的原子周围化学环境的描述, 以及原子类型的层级依赖关系。 数据包采用了 JS ON作为数据包的持久化格式。
[0040] 如图 2所示, 原子类型数据管理模块是整个系统的底层基础 。 我们采用了基于 面向对象的模块化设计, 能方便的支持原子类型的增加、 修改、 删除和各种维 度的查询和统计.
[0041] 如图 3所示, 原子类型匹配模块依托数据模块的底层设计, 可以实现对给定分 子中的每个原子高效、 精准的匹配对应的原子类型。
[0042] 如图 4所示, 原子类型可视化 UI界面可以让用户方便的与原子类型数据交互
本系统设计了全新的原子化学环境 2D可视化标识。 这套标识能将复杂的原子化 学环境定义直观的展现出来。 原子化学环境 2D可视化标识如图 5所示。
[0043] 如图 6所示, 原子类型格式转换模块支持将现有各力场原子 类型定义互相转换 , 支持各种格式的导入导出。
[0044] 原子类型定义系统以微服务的架构部署原子类 型数据管理模块、 原子类型匹配 模块和原子类型格式转换模块, 每个模块的核心功能都封装成用 Python开发的 模块包, 然后利用 Flask Webservice框架, 将每个模块部署在基于 Kubernetes的 微服务框架上, 各模块通过 https协议相互通信, 以及对外提供服务支持。
[0045] 原子类型数据管理模块使用 PostgreSQL作为底层数据库。 数据控制层逻辑也 是用 Flask框架封装起来, 部署在 Kubernetes上。
[0046] 原子类型可视化 UI界面用 HTML+CSS+ Javascript开发, 跟后台服务采用
Client/Server的架构模式, 通过 https协议请求数据、 发送命令。
[0047] 整个系统可以部署在公有云上、 本地集群上, 也可以部署在用户的个人电脑上
[0048] 系统运行硬件环境: Intel i7及以上处理器、 16G以上内存、 500G以上硬盘存 储空间;
[0049] 系统运行软件环境: Linux 4以上内核版本, Python2.7运行环境;
[0050] UI界面使用环境: 浏览器 IE8以上、 Chrome、 Safari。
[0051] 用本发明创建新的原子类型步骤如下:
[0052] ( 1) 打开原子类型可视化 UI界面, 在右侧树形导航控件中点击右键, 添加一 个新的原子类型。 这时系统会弹出窗口提示输入原子类型名称, 填写完成后点 击确定完成添加。 点击确定后, 系统会将当前的原子类型数据包 ID、 需要新建 原子类型的名称和其所在树形导航中的位置以 json的格式用 https协议发送到原 子类型数据管理模块的微服务, 数据管理模块将这些内容插入数据库, 完成添 加。
[0053] (2) 在左侧原子类型详情页面编辑修改原子类型的 化学环境, 填写元素、 电 荷、 环的边数、 芳香性、 周围连接原子数、 共轭性。 系统工作方式同上。
[0054] (3) 可以调整原子类型在定义树中的位置, 通过制定父节点和子节点完成。
系统工作方式同上。
[0055] 用本发明导入已有原子类型定义的步骤如下:
[0056] ( 1 ) 在可视化 UI界面右上角点击打开按钮, 在本地文件系统中选择原子类型 的 json文件。
[0057] (2) 可视化 UI界面会将用户选择的 json文件发送到数据管理模块的微服务, 数据管理模块会按结构解析 json文件, 并在按图 2的数据模型将数据加载到内存 中, 同时将 json文件存储到 PostgreSQL数据库里。
[0058] 用本发明匹配分子的原子类型步骤如下:
[0059] ( 1 ) 在可视化 UI界面右上角点击打开按钮, 在本地文件系统中选择需要匹配 原子类型的分子文件, 支持 xyz、 mol、 pdb等的分子文件。
[0060] (2) 可视化 UI界面会将分子文件传到原子类型匹配模块的 服务
[0061] (3) 原子类型匹配模块将分子内所有的分子键按照 单键、 双键、 芳香键、 共 轭键等标准化学键类型逐一标记。
[0062] (4) 匹配模块为分子内的每个原子标记属性, 属性包括元素、 电荷、 环的边 数、 芳香性、 周围连接原子数、 共轭性。
[0063] (5) 将标记好的分子键和带属性的原子连接成图的 数据结构。
[0064] (6) 用原子类型定义数据包中的原子类型的图与上 述分子的图做子图匹配。
匹配算法是将有 n个原子的输入分子转化成一个 n*n的矩阵, 矩阵中的点 P(i,j) 是第 i个原子和第 j个原子的边的类型 0表示不成键、 1表示单键、 2表示双键、 3表 示三键、 4表示芳香键、 5表示共轭键。 接下来将这个矩阵扩增成 (n+l)*(n)的矩 阵, 矩阵的第一列增加每个原子按属性转换的数值 。 转换方法是: 元素编号 +电 荷 * 100+环边数 * 1000+芳香性 * 100000+共轭性 * 1000000, 芳香性和共轭性 0表示 没有、 1表示有。 然后将原子类型的图也按上述方法转换成矩阵 。 最后对原子类 型的图按行遍历分子图的所有等长度组合, 如果原子类型矩阵的每一行都能按 相同的方式找到相同匹配, 则子图匹配成功, 否则匹配失败。
[0065] (7) 原子类型匹配模块将匹配成功的原子类型加入 分子中对应原子的匹配列 表中。
[0066] (8) 全部原子类型匹配完成后, 原子类型匹配模块会从每个原子的匹配列表 中找到层级最深的原子类型作为该原子的原子 类型。
[0067] (9) 原子类型匹配模块会将匹配完成的原子类型列 表以 json的方式发送给可 视化 UI界面, 界面会将类型标记在 2D分子图上展示给用户。
[0068] 其中, 用本发明转换原子类型格式的步骤如下:
[0069] ( 1) 在原子类型可视化 UI界面右上角点击打开按钮, 在本地文件系统中选择 需要转换的文件, 支持 Amber, Gromacs,Charmm,MacroModel和 json的数据格 式的文件。
[0070] (2) 原子类型可视化 UI界面会将原子类型文件和需要转换的格式传 原子类 型格式转换模块的微服务。
[0071] (3) 原子类型格式转换模块识别输入文件的类型, 根据类型调用对应文件的 解释器, 解释器为原子类型格式转换模块中的解释函数 ;
[0072] (4) 解释器会按照对应文件的解释规则解释文件中 的每一个原子类型, 并将 每个原子类型按图 2中的数据结构存储在内存中。 所述的内存是系统指分配给原 子类型格式转换模块的内存。
[0073] (5) 原子类型格式转换模块会调用需要输出的格式 的编码器, 编码器为原子 类型格式转换模块中的编码函数;
[0074] (6) 编码器会调用步骤 4中的内存中的数据, 将数据编码成需要输出的文件格 式; 原子类型格式转换模块将编码好的文件传到原 子类型可视化 UI界面供用户 使用。
[0075] 具体的使用实例:
[0076] 例子 1
[0077] 预测分子 CCCC的密度。 该分子 4个碳原子连接的氢原子的个数不同, 头尾两 个碳各连接 3个氢原子, 中间两个碳连接 2个氢原子。 现有的力场的原子类型都 不区分这两种碳的类型, 这样在预测密度的时候与实验值的误差大概在 5%左右 。 用本发明增加两种原子类型, 区分连接 3个氢原子的碳和连接 2个氢原子的碳 , 在这个基础上优化过的力场预测密度误差可以 达到 2%以内。 大幅提升了预测 的准确度。 不用本发明, 如果要增加原子类型只能依靠最初定义原子类 型的人 员手动修改, 效率低, 周期长, 实际用户完全没有自主性。
[0078] 例子 2
[0079] 预测分子 C(C=0)N的蒸发焓。 该分子中的氮原子在现有力场中是按胺分子中 的类型定义的, 这样预测蒸发焓与实验值的误差在 10%左右。 通过分析, 这个分 子中的氮是在酰胺基团中, 用本发明增加新的氮原子类型进行区分, 在这个基 础上优化力场, 预测蒸发焓的误差可以达到 5%以内, 提高了 1倍的精度。 不用本 发明, 如果要增加原子类型只能依靠最初定义原子类 型的人员手动修改, 效率 低, 周期长, 实际用户完全没有自主性。
[0080]
Next Patent: HIGH PRECISION ENERGY RANKING METHOD FOR ORGANIC MOLECULE CRYSTAL STRUCTURE PREDICTION