CN117275592B - 一种基于Python的RMD模拟结果裂解反应路径的统计方法 - Google Patents
一种基于Python的RMD模拟结果裂解反应路径的统计方法 Download PDFInfo
- Publication number
- CN117275592B CN117275592B CN202311532419.7A CN202311532419A CN117275592B CN 117275592 B CN117275592 B CN 117275592B CN 202311532419 A CN202311532419 A CN 202311532419A CN 117275592 B CN117275592 B CN 117275592B
- Authority
- CN
- China
- Prior art keywords
- list
- atomic
- dictionary
- reactant
- initial
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000006243 chemical reaction Methods 0.000 title claims abstract description 77
- 238000004088 simulation Methods 0.000 title claims abstract description 36
- 238000005336 cracking Methods 0.000 title claims abstract description 18
- 238000007619 statistical method Methods 0.000 title claims abstract description 16
- 238000000034 method Methods 0.000 claims abstract description 26
- 230000008569 process Effects 0.000 claims abstract description 17
- 238000012545 processing Methods 0.000 claims abstract description 8
- 239000000376 reactant Substances 0.000 claims description 59
- 238000013507 mapping Methods 0.000 claims description 41
- 238000003776 cleavage reaction Methods 0.000 claims description 12
- 238000004364 calculation method Methods 0.000 claims description 8
- 230000008859 change Effects 0.000 claims description 4
- 238000000197 pyrolysis Methods 0.000 claims description 4
- 238000004458 analytical method Methods 0.000 abstract description 10
- 230000008901 benefit Effects 0.000 abstract description 2
- SNRUBQQJIBEYMU-UHFFFAOYSA-N dodecane Chemical compound CCCCCCCCCCCC SNRUBQQJIBEYMU-UHFFFAOYSA-N 0.000 description 4
- 238000000329 molecular dynamics simulation Methods 0.000 description 4
- 238000012805 post-processing Methods 0.000 description 4
- 239000000126 substance Substances 0.000 description 3
- 230000007547 defect Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 1
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 229910052799 carbon Inorganic materials 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 239000003814 drug Substances 0.000 description 1
- 229940079593 drug Drugs 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000037361 pathway Effects 0.000 description 1
- 239000002861 polymer material Substances 0.000 description 1
- 238000004869 quantum mechanical method Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16C—COMPUTATIONAL CHEMISTRY; CHEMOINFORMATICS; COMPUTATIONAL MATERIALS SCIENCE
- G16C10/00—Computational theoretical chemistry, i.e. ICT specially adapted for theoretical aspects of quantum chemistry, molecular mechanics, molecular dynamics or the like
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16C—COMPUTATIONAL CHEMISTRY; CHEMOINFORMATICS; COMPUTATIONAL MATERIALS SCIENCE
- G16C20/00—Chemoinformatics, i.e. ICT specially adapted for the handling of physicochemical or structural data of chemical particles, elements, compounds or mixtures
- G16C20/70—Machine learning, data mining or chemometrics
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16C—COMPUTATIONAL CHEMISTRY; CHEMOINFORMATICS; COMPUTATIONAL MATERIALS SCIENCE
- G16C20/00—Chemoinformatics, i.e. ICT specially adapted for the handling of physicochemical or structural data of chemical particles, elements, compounds or mixtures
- G16C20/90—Programming languages; Computing architectures; Database systems; Data warehousing
Landscapes
- Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Crystallography & Structural Chemistry (AREA)
- Chemical & Material Sciences (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Organic Low-Molecular-Weight Compounds And Preparation Thereof (AREA)
Abstract
本发明属于计算理论化学技术领域,特别涉及一种基于Python的RMD模拟结果裂解反应路径的统计方法,通过进行RMD计算并得到bond.reaxc键序信息文件,并且利用python语言对文件中的时间、键序信息进行提取存储,通过递归、遍历、正则表达、深度拷贝和嵌套等技术手段以及字典、列表等数据结构,对模拟体系的第一步反应、裂解反应路径等核心关键问题进行统计分析,建立了包含多阶段信息化学模拟数据处理时的逻辑脉络。本发明基于Python对RMD模拟结果裂解反应路径进行统计,相较于人工处理分析,具备数个数量级的效率优势,同时该过程中体现的数据处理逻辑模式对于相似类型的模拟结果的处理具有极大的借鉴意义。
Description
技术领域
本发明属于计算理论化学技术领域,特别涉及一种基于Python的RMD模拟结果裂解反应路径的统计方法,尤其是涉及基于Python,在通过RMD模拟计算得到bond.reaxc文件后,基于Python对其中原子间键序信息进行提取统计进而得到模拟体系的裂解反应路径的方法。
背景技术
反应分子动力学RMD(reactive molecular dynamics)模拟方法已经广泛应用于聚合物材料润湿性、药物与生物分子相互作用的表面特性等物理化学性质研究中,其基于日趋成熟的ReaxFF(reactive force field)反应力场,克服了量子力学方法效率低和传统MD方法无法研究化学键断裂的缺点,能够在原子尺度上提供较为详细和准确的物理化学反应过程信息。
目前RMD的计算主要是将不同的ReaxFF反应力场数据嵌入传统的MD分子动力学求解器进行模拟,而针对相同的反应体系,不同的ReaxFF反应力场数据可能得到不同的模拟结果,因此需要发展统一的ReaxFF反应力场。同时,由于在原子键序层面进行模拟,RMD模拟会消耗大量的计算资源,因此需要优化计算过程以及计算架构,避免资源的浪费。此外,当前的RMD模拟大多采用开源计算平台LAMPPS等,其计算结果可导出微观层面的原子键信息以及宏观层面的简单的分子数信息,但对于研究者关心的裂解反应路径等关键统计信息缺乏完善的总结分析,因此亟需高效准确的后处理统计方法与工具。
针对RMD模拟结果裂解反应路径进行统计的现实需要,由于逻辑分析的复杂性,目前已发布的研究不多,但存在一些相近的统计分析技术。如LAMMPS的Reax tool分析模块可以得到每个时间步的体系组成,但该模块无法得到反应过程的细节,仍需要进一步的后处理;亚琛大学的分析程序模块可得到简单体系的单步反应路径,但对于物种碳数超过12个的模拟体系或者上千原子规模的体系,该模块无法有效处理;Material Studio的通用分析工具主要应用于非反应的传统MD模拟结果分析,对于存在断键的RMD反应体系无法有效识别。
上述现有的分析工具主要针对各自的单一统计目标进行数据分析处理,但对于裂解反应路径的统计提取这种难度较高的后处理任务来说,现有分析工具无法有效解决。
发明内容
为了克服现有技术的缺点,本发明的目的是提供一种基于Python对RMD模拟结果裂解反应路径统计的方法,用来解决传统后处理统计方式无法有效高效进行RMD模拟裂解反应路径分析的技术问题。
本发明的目的通过以下技术方案实现:
一种基于Python的RMD模拟结果裂解反应路径的统计方法,包括如下步骤:
步骤1:进行RMD计算并得到bond.reaxc键序信息文件,所述bond.reaxc键序信息文件包括多个时间步的信息;
步骤2:读取bond.reaxc键序信息文件,并判断当前行首是否为字符“#”,若为“#”,则直接进入步骤3;若不为“#”,则判断当前时间步是否为初始时间步,并按如下方式处理:
若当前时间步为初始时间步,则创建第一映射字典、第二映射字典和第三映射字典,所述第一映射字典记录原子序号和原子类型的对应关系、所述第二映射字典记录原子序号和原子链接数的对应关系,所述第三映射字典记录原子序号和原子链接原子列表的对应关系,并进入步骤3;
若当前时间步为后续时间步,则判断第二映射字典和第三映射字典中的元素是否发生变化,若发生变化则更新变化的元素,并将发生变化的原子序号加入总遍历列表,并进入步骤3;
步骤3:通过字符串“Timestep”确定当前时间步,并确定总遍历列表是否为空,
若总遍历列表为空,则转回步骤2读取bond.reaxc键序信息文件下一时间步的信息并继续进行;
若总遍历列表不为空,则遍历总遍历列表中的原子序号,并通过第一映射字典、第二映射字典和第三映射字典,分别递归得到单步生成物分子式列表、单步生成物分子式包含原子ID列表、单步原子ID与生成物分子式映射字典以及单步反应物分子式列表、单步反应物分子式包含原子ID列表、单步原子ID与反应物分子式映射字典,进入步骤4;其中所述包含原子ID为分子式中所包含的原子的序号,所述单步生成物分子式包含原子ID列表为单步生成物分子式所包含的所有原子序号的列表,所述单步反应物分子式包含原子ID列表为单步反应物分子式所包含的所有原子序号的列表;
步骤4:统计RMD模拟的第一步反应,创建总反应ID字典、总反应分子式字典、总反应描述字典、未统计初始分子索引列表、实质未反应初始分子索引与包含ID字典;当单步反应物分子式列表中存在RMD模拟体系的初始分子式时,通过单步反应物分子式包含原子ID列表检出初始分子式对应的包含原子ID,并通过包含原子ID中的原子序号判断当前初始分子式的序号索引;当生成物中同样有初始分子时,进入步骤4.1;当生成物中没有初始分子时,直接进入步骤4.2;
步骤4.1:若生成物中初始分子的包含原子ID没有直接对应反应物初始分子式的包含原子ID,进入步骤4.2,若生成物中初始分子的包含原子ID有直接对应反应物初始分子的包含原子ID,进入步骤4.3;
步骤4.2:若当前反应物初始分子在实质未反应初始分子索引与包含ID字典中,则将实质未反应初始分子索引与包含ID字典中对应的键值对删除;若当前反应物初始分子索引在未统计初始分子索引列表中,将该当前反应物初始分子索引从未统计初始分子索引列表中删除;随后通过包含原子ID从单步原子ID与反应物分子式映射字典遍历出第一步反应的生成物列表,将单步生成物分子式列表存储在总反应分子式字典,单步生成物分子式包含原子ID列表存储在总反应ID字典,单步生成物分子式列表与时间步存储在总反应描述字典,随后进入步骤5;
步骤4.3:若当前反应物初始分子在实质未反应初始分子索引与包含ID字典中,将键值对的值替换;若当前反应物初始分子索引在未统计初始分子索引列表中,将该当前反应物初始分子索引从未统计初始分子索引列表中删除,并将对应的包含原子ID与索引添加入实质未反应初始分子索引与包含id字典,进入步骤5;
步骤5:遍历总反应ID字典、总反应分子式字典,若单步反应物分子式列表中包含总反应分子式字典中元素值,且对应包含原子ID一致,则通过包含原子ID遍历单步原子ID与生成物分子式映射字典,得到对应的生成物;进入步骤5.1;
步骤5.1:利用正则表达式比较对应的生成物总原子数与对应反应物总原子数,若相等则为纯裂解过程,进入步骤5.2;若不相等则判断生成物中是否有与对应反应物相同的分子式,若没有与对应反应物相同的分子式,则回到步骤2并读取下一时间步的信息后继续进行;若有与对应反应物相同的分子式,则将总反应ID字典中对应的键值对进行替换后进入步骤2并读取下一时间步的信息后继续进行;
步骤5.2:若对应反应物分子式在总反应分子式字典中存在键,则加感叹号加以区分,将对应反应物分子式的生成物列表作为值加入总反应分子式字典,并将对应包含ID列表加入总反应ID字典,将裂解过程描述加入总反应描述字典,返回步骤2读取下一时间步的信息后继续进行;
步骤6:重复操作步骤2-步骤5直到遍历bond.reaxc键序信息文件中所有的时间步;
步骤7:提取总反应描述字典的键值对,将不同索引的第一步反应整合,得到不同第一步反应的对应概率,并通过对不同索引的键值对检索,统计出裂解反应路径以及不同裂解反应路径的概率。
进一步的,搭建Python环境,利用LAMPPS进行RMD计算并导出bond.reaxc键序信息文件。
进一步的,所述原子链接数为与单个原子相连接的原子数量,原子链接原子列表为单个原子连接的原子序号组成的列表。
进一步的,所述总遍历列表包括需要遍历处理的所有原子序号。
进一步的,所述实质未反应初始分子索引与包含ID字典为RMD模拟过程中实质未进行反应的初始分子的索引与该初始分子包含原子ID的映射字典。
进一步的,所述单步生成物分子式列表为单个时间步中生成物分子式字符串组成的列表,单步反应物分子式列表为单个时间步中反应物分子式字符串组成的列表。
进一步的,所述未统计初始分子索引列表为RMD模拟过程中未发生反应的初始分子的索引构成的列表。
进一步的,所述单步原子ID与生成物分子式映射字典包括单步反应原子序号和生成物的分子式,所述单步原子ID与反应物分子式映射字典包括单步反应的原子序号和反应物的分子式。
本发明的有益效果是:基于Python对RMD模拟结果裂解反应路径进行统计,相较于人工处理分析,具备数个数量级的效率优势,同时更加准确,不易出错。而这种统计裂解反应路径的方法因为逻辑较为复杂,在目前已知的后处理集成软件中以及工具中,都不具备该功能,因此该方法尚属首创。
附图说明
图1为本发明基于Python对RMD模拟结果裂解反应路径进行统计实例流程图。
具体实施方式
下面结合本发明的附图,对本发明的技术方案进行进一步的详细说明,显然,所描述的实施例仅作为例示,并非用于限制本次申请。
本发明基于Python对RMD模拟结果裂解反应路径进行统计,旨在应对在RMD计算后无法直接获得裂解反应路径,进而进行物理化学机理分析的问题。本领域技术人员可根据字面表述理解本实施方式技术术语含义,为进一步帮助理解,对本实施方式中涉及的部分技术术语及释义列出,如表1所示。
表1 部分技术术语及部分释义
如图1所示,以下针对80个C12H26十二烷初始分子的反应体系进行RMD计算的实例进行裂解反应路径统计分析:
步骤1:搭建Python环境,并导入正则表达式库re,利用LAMMPS对80个C12H26十二烷初始分子反应体系进行RMD计算,并得到bond.reaxc键序信息文件。
步骤2:读取bond.reaxc文件,判断当前行首是否为字符“#”,若不为“#”,则到步骤2.1;若为“#”,则到步骤3。
步骤2.1:若当前时间步为初始时间步,则分别建立原子序号与原子类型、原子序号与原子链接数、原子序号与原子链接原子列表的映射字典,形式分别为:ID_type{ID1:type1,ID2:type2,…},ID_nb{ID1:nb1,ID2:nb2,…},ID_bond{ID1:[bond_ID1,bond_ID2],ID2:[bond_ID3],…};若不为初始时间步,需判断ID_nb,ID_bond映射字典中的元素是否变化,若变化,则更新其中变化元素,并将对应变化的原子序号加入总遍历列表total_list[ID1,ID2,…]。
步骤3:通过字符串“Timestep”确定当前时间步,并判断总遍历列表total_list是否为空,若为空,则转至步骤2读取bond.reaxc键序信息文件下一时间步的信息并继续进行,若非空,则转至步骤3.1。
步骤3.1:遍历总遍历列表total_list中原子序号,通过检索字典ID_type,ID_nb,ID_bond,分别递归得到单步生成物分子式列表pro_list[“CH4”,“CH2”,…]、单步生成物分子式包含原子ID列表product_list[[ID1,ID2,…],[ID3,ID4,…],…]、原子序号与生成物分子式映射字典product_dict{ID1:“CH4”,ID2:“CH2”,…}以及单步反应物分子式列表reaction_list[“C12H26”,…],反应物分子式包含原子ID列表reaction_ID_list[[ID1,ID2,…],…],单步原子ID与反应物分子式映射字典reaction_dict{ID1:“C12H26”,…}。
步骤4:统计C12H26第一步反应,创建总反应ID字典total_reaction_ID_dict{0:{“C12H26”:[[ID1,ID2,…],…],…},…}、总反应分子式字典total_reaction_molecule_dict{0:{“C12H26”:[“C2H4”,…],…},…}、总反应描述字典total_reaction_description{0:{“C12H26”:[ “C2H4”,…],…},…}、未统计初始分子索引列表index_left[0,1,2,…]、实质未反应初始分子索引与包含ID字典store_dict{0:[ID1,ID2,…],…},当reaction_list列表中存在“C12H26”时,通过reaction_ID_list列表检出“C12H26”对应的包含原子ID,通过其中ID判断当前“C12H26”的序号索引,当pro_list列表中存在“C12H26”时,转至步骤4.1,pro_list中无“C12H26”时,转至步骤4.1.1。
步骤4.1:若product_list列表中与“C12H26”对应的包含原子ID未直接对应reaction_ID_list检出的“C12H26”对应的包含原子ID,转至步骤4.1.1;若有直接对应,转至步骤4.1.2。
步骤4.1.1:若当前reaction_list中的“C12H26”在store_dict字典中,则将对应的键值对删去;若当前reaction_list中的“C12H26”索引在index_left列表中,将该索引从列表中删去。之后通过reaction_ID_list检出的“C12H26”对应的包含原子ID从product_dict字典中遍历出第一步生成物列表second_list[“C2H4”,“C3H6”,…],将second_list存储在total_reaction_molecule_dict字典中,将second_list对应的包含原子ID列表存储在total_reaction_ID_dict字典中,将second_list与时间步存储在total_reaction_description字典中。
步骤4.1.2:若当前reaction_list中的“C12H26”在store_dict字典中,则将键值对的值替换;若当前reaction_list中的“C12H26”索引在index_left列表中,将该索引从列表中删去,并将对应的包含原子ID与索引添加到store_dict字典中。
步骤5:遍历total_reaction_ID_dict与total_reaction_molecule_dict字典,若reaction_list中包含total_reaction_molecule_dict字典中元素值,且对应的包含原子ID一致,则通过包含原子ID遍历product_dict字典,得到对应生成物列表second_list[“C2H4”,“C3H6”,…],并将total_reaction_ID_dict字典中对应元素设置为“-1”避免重复检索。
步骤5.1:利用re正则表达式库计算second_list中总原子数与步骤5中元素值总原子数,若相等则为纯裂解过程,转至步骤5.2;若不相等则判断second_list中是否包含步骤5中元素值,若没有包含与对应反应物相同的分子式,则回到步骤2并读取下一时间步的信息后继续进行;若包含,则将total_reaction_ID_dict元素值进行替换后进入步骤2并读取下一时间步的信息后继续进行。
步骤5.2:若步骤5中元素值在total_reaction_molecule_dict字典中对应位置已存在键,则加感叹号加以区分,将second_list作为值加入该字典,并将对应包含原子ID列表添加到total_reaction_ID_dict字典,将裂解过程描述加入total_reaction_description字典,返回步骤2读取下一时间步的信息后继续进行。
步骤6:重复操作步骤2-步骤5直到遍历bond.reaxc键序信息文件中所有的时间步。
步骤7:提取total_reaction_description字典键值对,将不同“C12H26”索引的第一步反应整合,得到不同第一步反应的对应概率,并通过对不同索引的键值对检索,统计出裂解反应路径以及不同反应路径的概率。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (8)
1.一种基于Python的RMD模拟结果裂解反应路径的统计方法,其特征在于,包括如下步骤:
步骤1:进行RMD计算并得到bond.reaxc键序信息文件,所述bond.reaxc键序信息文件包括多个时间步的信息;
步骤2:读取bond.reaxc键序信息文件,并判断当前行首是否为字符“#”,若为“#”,则直接进入步骤3;若不为“#”,则判断当前时间步是否为初始时间步,并按如下方式处理:
若当前时间步为初始时间步,则创建第一映射字典、第二映射字典和第三映射字典,所述第一映射字典记录原子序号和原子类型的对应关系、所述第二映射字典记录原子序号和原子链接数的对应关系,所述第三映射字典记录原子序号和原子链接原子列表的对应关系,并进入步骤3;
若当前时间步为后续时间步,则判断第二映射字典和第三映射字典中的元素是否发生变化,若发生变化则更新变化的元素,并将发生变化的原子序号加入总遍历列表,并进入步骤3;
步骤3:通过字符串“Timestep”确定当前时间步,并确定总遍历列表是否为空,
若总遍历列表为空,则转回步骤2读取bond.reaxc键序信息文件下一时间步的信息并继续进行;
若总遍历列表不为空,则遍历总遍历列表中的原子序号,并通过第一映射字典、第二映射字典和第三映射字典,分别递归得到单步生成物分子式列表、单步生成物分子式包含原子ID列表、单步原子ID与生成物分子式映射字典以及单步反应物分子式列表、单步反应物分子式包含原子ID列表、单步原子ID与反应物分子式映射字典,进入步骤4;其中所述包含原子ID为分子式中所包含的原子的序号,所述单步生成物分子式包含原子ID列表为单步生成物分子式所包含的所有原子序号的列表,所述单步反应物分子式包含原子ID列表为单步反应物分子式所包含的所有原子序号的列表;
步骤4:统计RMD模拟的第一步反应,创建总反应ID字典、总反应分子式字典、总反应描述字典、未统计初始分子索引列表、实质未反应初始分子索引与包含ID字典;当单步反应物分子式列表中存在RMD模拟体系的初始分子式时,通过单步反应物分子式包含原子ID列表检出初始分子式对应的包含原子ID,并通过包含原子ID中的原子序号判断当前初始分子式的序号索引;当生成物中同样有初始分子时,进入步骤4.1;当生成物中没有初始分子时,直接进入步骤4.2;
步骤4.1:若生成物中初始分子的包含原子ID没有直接对应反应物初始分子式的包含原子ID,进入步骤4.2,若生成物中初始分子的包含原子ID有直接对应反应物初始分子的包含原子ID,进入步骤4.3;
步骤4.2:若当前反应物初始分子在实质未反应初始分子索引与包含ID字典中,则将实质未反应初始分子索引与包含ID字典中对应的键值对删除;若当前反应物初始分子索引在未统计初始分子索引列表中,将该当前反应物初始分子索引从未统计初始分子索引列表中删除;随后通过包含原子ID从单步原子ID与反应物分子式映射字典遍历出第一步反应的生成物列表,将单步生成物分子式列表存储在总反应分子式字典,单步生成物分子式包含原子ID列表存储在总反应ID字典,单步生成物分子式列表与时间步存储在总反应描述字典,随后进入步骤5;
步骤4.3:若当前反应物初始分子在实质未反应初始分子索引与包含ID字典中,将键值对的值替换;若当前反应物初始分子索引在未统计初始分子索引列表中,将该当前反应物初始分子索引从未统计初始分子索引列表中删除,并将对应的包含原子ID与索引添加入实质未反应初始分子索引与包含id字典,进入步骤5;
步骤5:遍历总反应ID字典、总反应分子式字典,若单步反应物分子式列表中包含总反应分子式字典中元素值,且对应包含原子ID一致,则通过包含原子ID遍历单步原子ID与生成物分子式映射字典,得到对应的生成物;进入步骤5.1;
步骤5.1:利用正则表达式比较对应的生成物总原子数与对应反应物总原子数,若相等则为纯裂解过程,进入步骤5.2;若不相等则判断生成物中是否有与对应反应物相同的分子式,若没有与对应反应物相同的分子式,则回到步骤2并读取下一时间步的信息后继续进行;若有与对应反应物相同的分子式,则将总反应ID字典中对应的键值对进行替换后进入步骤2并读取下一时间步的信息后继续进行;
步骤5.2:若对应反应物分子式在总反应分子式字典中存在键,则加感叹号加以区分,将对应反应物分子式的生成物列表作为值加入总反应分子式字典,并将对应包含ID列表加入总反应ID字典,将裂解过程描述加入总反应描述字典,返回步骤2读取下一时间步的信息后继续进行;
步骤6:重复操作步骤2-步骤5直到遍历bond.reaxc键序信息文件中所有的时间步;
步骤7:提取总反应描述字典的键值对,将不同索引的第一步反应整合,得到不同第一步反应的对应概率,并通过对不同索引的键值对检索,统计出裂解反应路径以及不同裂解反应路径的概率。
2.根据权利要求1所述的一种基于Python的RMD模拟结果裂解反应路径的统计方法,其特征在于,搭建Python环境,利用LAMPPS进行RMD计算并导出bond.reaxc键序信息文件。
3.根据权利要求1所述的一种基于Python的RMD模拟结果裂解反应路径的统计方法,其特征在于,原子链接数为与单个原子相连接的原子数量,原子链接原子列表为单个原子连接的原子序号组成的列表。
4.根据权利要求1所述的一种基于Python的RMD模拟结果裂解反应路径的统计方法,其特征在于,所述总遍历列表包括需要遍历处理的所有原子序号。
5.根据权利要求1所述的一种基于Python的RMD模拟结果裂解反应路径的统计方法,其特征在于,所述实质未反应初始分子索引与包含ID字典为RMD模拟过程中实质未进行反应的初始分子的索引与该初始分子包含原子ID的映射字典。
6.根据权利要求1所述的一种基于Python的RMD模拟结果裂解反应路径的统计方法,其特征在于,所述单步生成物分子式列表为单个时间步中生成物分子式字符串组成的列表,单步反应物分子式列表为单个时间步中反应物分子式字符串组成的列表。
7.根据权利要求1所述的一种基于Python的RMD模拟结果裂解反应路径的统计方法,其特征在于,所述未统计初始分子索引列表为RMD模拟过程中未发生反应的初始分子的索引构成的列表。
8.根据权利要求1所述的一种基于Python的RMD模拟结果裂解反应路径的统计方法,其特征在于,所述单步原子ID与生成物分子式映射字典包括单步反应原子序号和生成物的分子式,所述单步原子ID与反应物分子式映射字典包括单步反应的原子序号和反应物的分子式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311532419.7A CN117275592B (zh) | 2023-11-17 | 2023-11-17 | 一种基于Python的RMD模拟结果裂解反应路径的统计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311532419.7A CN117275592B (zh) | 2023-11-17 | 2023-11-17 | 一种基于Python的RMD模拟结果裂解反应路径的统计方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117275592A CN117275592A (zh) | 2023-12-22 |
CN117275592B true CN117275592B (zh) | 2024-02-09 |
Family
ID=89214607
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311532419.7A Active CN117275592B (zh) | 2023-11-17 | 2023-11-17 | 一种基于Python的RMD模拟结果裂解反应路径的统计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117275592B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103765212A (zh) * | 2011-06-27 | 2014-04-30 | 杰克逊实验室 | 治疗癌症和自体免疫性疾病的方法和组合物 |
CN110767267A (zh) * | 2019-09-30 | 2020-02-07 | 华中科技大学 | 一种基于Python对ReaxFF力场计算结果数据处理的方法 |
CN112201310A (zh) * | 2020-10-22 | 2021-01-08 | 华中科技大学 | 一种基于lammps模拟煤与生物质共热解体系中C、H、O元素的标记方法 |
CN113808676A (zh) * | 2021-08-27 | 2021-12-17 | 北京航空航天大学 | 一种对反应分子动力学催化重组机制发生次数的统计方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7996369B2 (en) * | 2008-11-14 | 2011-08-09 | The Regents Of The University Of California | Method and apparatus for improving performance of approximate string queries using variable length high-quality grams |
EP3628226A1 (de) * | 2018-09-27 | 2020-04-01 | Siemens Healthcare GmbH | Verfahren zur überwachung einer gewebeentnahme mittels eines röntgen-bildgebungssystems |
-
2023
- 2023-11-17 CN CN202311532419.7A patent/CN117275592B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103765212A (zh) * | 2011-06-27 | 2014-04-30 | 杰克逊实验室 | 治疗癌症和自体免疫性疾病的方法和组合物 |
CN110767267A (zh) * | 2019-09-30 | 2020-02-07 | 华中科技大学 | 一种基于Python对ReaxFF力场计算结果数据处理的方法 |
CN112201310A (zh) * | 2020-10-22 | 2021-01-08 | 华中科技大学 | 一种基于lammps模拟煤与生物质共热解体系中C、H、O元素的标记方法 |
CN113808676A (zh) * | 2021-08-27 | 2021-12-17 | 北京航空航天大学 | 一种对反应分子动力学催化重组机制发生次数的统计方法 |
Non-Patent Citations (3)
Title |
---|
"EZFF: Python Library for Multi-Objective Parameterization and Uncertainty Quantification of Interatomic Forcefields for Molecular Dynamics";Aravind Krishnamoorthy.et al;《web of science》;全文 * |
"This is a repository copy of Atomistic-scale investigations of hyperthermal oxygen– graphene interactions via reactive molecular dynamics simulation: The gas effect";Guice Yao.et al;《web of science》;全文 * |
"基于ReaxFF 反应分子动力学模拟的正十二烷醇的热 裂解特性研究";孙浩等;《工程热物理学报》;第44卷(第2期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN117275592A (zh) | 2023-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Turakhia et al. | Ultrafast Sample placement on Existing tRees (UShER) enables real-time phylogenetics for the SARS-CoV-2 pandemic | |
CN108717470B (zh) | 一种具有高准确度的代码片段推荐方法 | |
Navarro | Spaces, trees, and colors: The algorithmic landscape of document retrieval on sequences | |
Stuart et al. | Integrated gene and species phylogenies from unaligned whole genome protein sequences | |
CN102713834B (zh) | 管理记录格式信息 | |
US20070156749A1 (en) | Detection of patterns in data records | |
Korostensky et al. | Using traveling salesman problem algorithms for evolutionary tree construction | |
CN113254507B (zh) | 一种数据资产目录智能构建盘点方法 | |
CN111814442A (zh) | 一种基于SpringBoot的excel数据处理方法 | |
CN117275592B (zh) | 一种基于Python的RMD模拟结果裂解反应路径的统计方法 | |
US20070276827A1 (en) | Method and device for generating reference structural patterns adapted to represent hierarchized data | |
CN115762654A (zh) | 一种基于smiles的化学反应产率预测的方法 | |
Mignosi et al. | Forbidden factors and fragment assembly | |
Chen et al. | CGAP-align: a high performance DNA short read alignment tool | |
Goremykin | A novel test for absolute fit of evolutionary models provides a means to correctly identify the substitution model and the model tree | |
US20190073450A1 (en) | Heterogeneous Method for Modelling a Biochemical Environment | |
Jansson et al. | Local gapped subforest alignment and its application in finding RNA structural motifs | |
Rousset | Package ‘spaMM’ | |
Hřivňák et al. | Towards Faster Matching Algorithm Using Ternary Tree in the Area of Genome Mapping | |
Bodlaender et al. | Finite-state computability of annotations of strings and trees | |
Torgo | Data mining with R | |
CN117954040A (zh) | 一种基于大模型的高精度dna分析报告生成方法 | |
CN115099414A (zh) | 一种基于索引表达式的梯度下降算法的建模方法 | |
CN115630611A (zh) | 一种标准文档指标自动抽取的方法、装置和系统 | |
이정환 | ASSESSMENT PROGRAM FOR SYSTEMATIC ERROR CAUSING PHYLOGENETIC INCONGRUENCE OF GENE MARKERS |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |