CN113140261A - 化学分子合成仿真方法及装置 - Google Patents
化学分子合成仿真方法及装置 Download PDFInfo
- Publication number
- CN113140261A CN113140261A CN202110448407.0A CN202110448407A CN113140261A CN 113140261 A CN113140261 A CN 113140261A CN 202110448407 A CN202110448407 A CN 202110448407A CN 113140261 A CN113140261 A CN 113140261A
- Authority
- CN
- China
- Prior art keywords
- shape
- splicing
- molecules
- synthesized
- information
- 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.)
- Granted
Links
Images
Classifications
-
- 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/10—Analysis or design of chemical reactions, syntheses or processes
Landscapes
- Chemical & Material Sciences (AREA)
- Analytical Chemistry (AREA)
- Chemical Kinetics & Catalysis (AREA)
- Crystallography & Structural Chemistry (AREA)
- Life Sciences & Earth Sciences (AREA)
- Engineering & Computer Science (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种化学分子合成仿真方法及装置,该方法包括:针对每一个输入组合中每一个初始形状,执行下述方法:通过遍历确定初始形状可拼接的引导分子,并进行拼接后得到第一合成形状;通过遍历确定第一合成形状上可拼接的基础分子,作为拼接分子;将其中一个拼接分子与第一合成形状拼接,得到第二合成形状,将第二合成形状作为新的初始形状,重新执行上述合成第二合成形状的方法,直至达到预设条件;选择另一个拼接分子,重复上述方法,得到初始形状可合成的所有合成形状,将所有合成形状划分为有限形状或无限形状;存储有限形状和无限形状的形状信息。本发明可以快速确定基础分子和引导分子能够合成的有限形状的数量和形状信息。
Description
技术领域
本发明涉及化学分子合成技术领域,尤其涉及一种化学分子合成仿真方法及装置。
背景技术
本部分旨在为权利要求书中陈述的本发明实施例提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
在化学分子合成中,存在多种具有类似结构的分子,被称为基础分子,基础分子之间可以以特定的规则进行结合,同时考虑到分子之间弱连接方式的存在,容忍分子之间一定程度上的非规则连接,例如,两个由分子组成的形状之间,大部分相接区域是按照规则连接的,只有小部分是未能按照规则连接的,但是由于大分子之间的连接作用非常紧密,从而容忍了这部分冲突区域的存在。此外,也存在一些相对较小,不计形状的分子,被称为引导分子,这些分子可以阻断或更改基础分子之间的结合关系。当将一部分基础分子和引导分子放置在同一环境中,最终可以合成一种或多种有限形状或无限形状(即可以以规律或不规律的方式无限合成下去)。
对于化学分子合成的研究目的之一在于知道在已知的基础分子和引导分子类别下的全部组合方式(也即合成分子种类的全部子集合),在各种分子的数量充足、反应时间足够长的理想情况下,最终能够合成的有限形状和无限形状的数量。
但是,在实际的化学反应中,分子的合成往往是缓慢的,通常需要数天乃至数月的时间才能够达到理想反应情况。并且,最终形成的分子形状越大、数量越多,所需时间越长;分子形状越大,最终能够观察到的概率越小。这样一来,研究人员往往需要耗费较长的时间和较多的精力来观察分子合成过程,实验效率较低。
发明内容
本发明实施例提供一种化学分子合成仿真方法,用以利用计算机仿真技术模拟化学分子合成过程,快速确定不同种类的基础分子和引导分子最终能够合成的有限形状的数量和形状,大幅度缩减化实际学反应所带来的时间成本,该方法包括:
生成预设种类的基础分子和引导分子组成的所有输入组合,其中,每个输入组合中包含至少一种基础分子和零至多种引导分子;
针对每一个输入组合,依次选择该输入组合中每一个基础分子作为初始形状,针对每个初始形状,执行下述第一方法:
遍历输入组合中的引导分子,确定初始形状各可拼接位置上可拼接的引导分子,将所有可拼接的引导分子与初始形状进行拼接,得到第一合成形状;
遍历输入组合中的基础分子,将第一合成形状各可拼接位置上可拼接的基础分子确定为拼接分子;
将第一合成形状的可拼接位置和该可拼接位置的一个拼接分子作为一条拼接方案,将所有拼接方案存储在选择列表中;
从选择列表中随机选择一条拼接方案,作为目标方案;删除拼接列表中的目标方案,将删除后的选择列表和第一合成形状的形状信息的对应关系存储在信息栈中;
按照目标方案拼接第一合成形状和拼接分子,得到第二合成形状;
将第二合成形状确定为新的初始形状,重新执行上述方法,直至得到的第二合成形状拥有的基础分子的数量达到设定阈值,或者未达到设定阈值时,第二合成形状不能与任意一个基础分子进行拼接,存储得到的该第二合成形状;
判断信息栈是否为空;
如果信息栈不为空,则从信息栈中取出最后存储的选择列表和第一合成形状的形状信息,从选择列表中随机选择一条拼接方案,作为新的目标方案,执行上述得到目标方案后的方法,直至信息栈为空,得到第一个被作为初始形状的基础分子可合成的所有合成形状;
根据设定阈值,将所有得到的第二合成形状划分为有限形状或无限形状,分别存储有限形状的形状信息和当前合成的无限形状的形状信息。
本发明实施例还提供一种化学分子合成仿真装置,用以利用计算机仿真技术模拟化学分子合成过程,快速确定不同种类的基础分子和引导分子最终能够合成的有限形状的数量,大幅度缩减化实际学反应所带来的时间成本,该装置包括:
组合生成模块,用于生成预设种类的基础分子和引导分子组成的所有输入组合,其中,每个输入组合中包含至少一种基础分子和零至多种引导分子;
选择模块,用于针对每一个输入组合,依次选择该输入组合中每一个基础分子作为初始形状,针对每个初始形状,由分子拼接模块执行下述第一方法:
遍历输入组合中的引导分子,确定初始形状各可拼接位置上可拼接的引导分子,将所有可拼接的引导分子与初始形状进行拼接,得到第一合成形状;
遍历输入组合中的基础分子,将第一合成形状各可拼接位置上可拼接的基础分子确定为拼接分子;
将第一合成形状的可拼接位置和该可拼接位置的一个拼接分子作为一条拼接方案,将所有拼接方案存储在选择列表中;
从选择列表中随机选择一条拼接方案,作为目标方案;删除拼接列表中的目标方案,将删除后的选择列表和第一合成形状的形状信息的对应关系存储在信息栈中;
按照目标方案拼接第一合成形状和拼接分子,得到第二合成形状;
将第二合成形状确定为新的初始形状,重新执行上述方法,直至得到的第二合成形状拥有的基础分子的数量达到设定阈值,或者未达到设定阈值时,第二合成形状不能与任意一个基础分子进行拼接,存储得到的该第二合成形状;
判断信息栈是否为空;
如果信息栈不为空,则从信息栈中取出最后存储的选择列表和第一合成形状的形状信息,从选择列表中随机选择一条拼接方案,作为新的目标方案,执行上述得到目标方案后的方法,直至信息栈为空,得到第一个被作为初始形状的基础分子可合成的所有合成形状;
划分模块,用于根据设定阈值,将所有得到的第二合成形状划分为有限形状或无限形状,分别存储有限形状的形状信息和当前合成的无限形状的形状信息。
本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述化学分子合成仿真方法。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述化学分子合成仿真方法的计算机程序。
本发明实施例中,通过计算机仿真模拟实际化学反应过程,通过仿真得到预设种类的基础分子和引导分子组成的所有输入组合可合成的有限形状的数量与形状信息,以及部分无限性状的形状信息,与现有技术中通过实际化学反应观察形成的有限形状和无限形状相比,大幅度降低了化学反应带来的时间成本;并且,计算机仿真不会遗漏任何一种可合成的有限形状,与实际化学反应中,具有更多数量基础分子的形状被观察到的概率很低相比,保证了得到有限分子的全面性;同时,也得到的无限形状的形状信息,为未来推断无限形状的特征做更充足的准备。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1为本发明实施例中一种化学分子合成仿真方法的流程图;
图2为本发明实施例中另一种化学分子合成仿真方法的流程图;
图3为本发明实施例中另一种化学分子合成仿真方法的流程图;
图4为本发明实施例中一种化学分子合成仿真装置的结构示意图;
图5为本发明实施例中一种计算机设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
下面将先对本发明中的技术术语进行简要解释。
1)基础分子:合成环境中的、具有类似结构的、用于拼接的最小单元分子;
2)引导分子:合成环境中的、相对基础分子较小从而可在形状合成中忽略形状的、对基础分子的合成起到引导作用(如阻碍或更改合成方式)的小分子;
3)输入组合:某些基础分子和引导分子种类组成的分子种类集合;
4)可拼接位置:基础分子上可以和其他基础分子进行合成的位置,如矩形分子中有上下左右四个可拼接位置;
5)信息栈:遵循先入后出的原则,在本发明实施例中用于存储选择列表、合成形状的形状信息等信息。
本发明实施例提供了一种化学分子合成仿真方法,如图1所示,该方法包括步骤101至步骤111:
步骤101、生成预设种类的基础分子和引导分子组成的所有输入组合。
其中,基础分子的种类和引导分子的种类由用户设定,两类型分子的种类可以相等或不等。每个输入组合中包含至少一种基础分子和零至多种引导分子。示例性的,用户设定了基础分子包括A、B两种,引导分子包括C、D两种,则总共可以生成9个输入组合,包括(A,C)、(A,D)、(A,C,D)、(B,C)、(B,D)、(B,C,D)、(A,B,C)、(A,B,D)、(A,B,C,D)。
需要说明的是,输入组合中只包含基础分子和引导分子的种类,认为每种基础分子和每种引导分子的数量均是无限的。
步骤102、针对每一个输入组合,依次选择该输入组合中每一个基础分子作为初始形状,针对每个初始形状,执行步骤103至步骤110中第一方法。
示例性的,针对包含A、B、C、D四个基础分子的输入组合(A、B、C、D、E),先选择A作为初始形状,执行步骤103至步骤110中的第一方法。在执行完步骤103至步骤110之后,再依次选择B、C、D作为基础分子,执行步骤103至步骤110中第一方法,由于A、B、C、D执行下述方法的过程相似,对于B、C、D执行后续方法的过程,在此不做赘述。
或者,还可以同时将A、B、C、D分别作为初始形状,同时执行下述方法,下述实施例中,以四个初始形状先后执行为例,对A分子的合成仿真过程进行介绍。
步骤103、遍历输入组合中的引导分子,确定初始形状各可拼接位置上可拼接的引导分子,将所有可拼接的引导分子与初始形状进行拼接,得到第一合成形状。
具体的,遍历输入组合中的引导分子,确定初始形状各可拼接位置上可拼接的引导分子,可以执行为如下方法:获取输入组合中每个引导分子的可拼接位置信息;将每个引导分子的可拼接位置信息逐一与可拼接位置列表中各个可拼接位置信息相匹配;将匹配成功的引导分子确定为初始形状相应可拼接位置上可拼接的引导分子。
需要说明的是,如果输入组合中引导分子的种类为0,则可以不执行步骤103。
本发明实施例中,遍历采用的是基于深度优先遍历搜索得到可拼接的引导分子或可拼接的基础分子。在另一种可能的实现方案中,还可以使用宽度搜索的方法来遍历,但是宽度搜索的效率没有比深度搜索的效率有本质性的提高,同时在运行过程中需要更大的存储空间,因此优先采用基于深度优先搜索的方法进行遍历。
由于引导分子的拼接机制是,当分子(包括基础分子和合成后的分子)上任意可拼接位置可与引导分子进行拼接时,则引导分子将与分子进行拼接,且能与引导分子进行拼接的所有可拼接位置均与引导分子进行拼接。也就是说,若分子上有3个可拼接位置可与引导分子进行拼接时,该3个可拼接位置均与引导分子进行拼接。
一个引导分子与分子拼接时,可能占用分子的一个可拼接位置,不产生新的可拼接位置,也可能占用分子的一个拼接位置,同时转换出一个新的可拼接位置。
需要说明的是,在本步骤中,也可能出现任意一个引导分子均不能与初始形状进行拼接的情况,在这种情况下,直接将初始形状作为第一合成形状。
步骤104、遍历输入组合中的基础分子,将第一合成形状各可拼接位置上可拼接的基础分子确定为拼接分子。
具体的,遍历输入组合中的基础分子,将第一合成形状各可拼接位置上可拼接的基础分子确定为拼接分子,可以执行为如下方法:获取输入组合中每个基础分子的可拼接位置信息;将每个基础分子的可拼接位置信息逐一与第一合成形状的各个可拼接位置信息进行匹配;将匹配成功的基础分子确定为与第一合成形状相应可拼接位置上的拼接分子。
沿用步骤102中示例,比如说,初始形状A合成引导分子后得到的第一合成形状上包括3个可拼接位置,则分别确定每个可拼接位置上可拼接的基础分子,设可拼接位置1可与A、B两个基础分子拼接,可拼接位置2可与A、C、D三个基础分子拼接,可拼接位置3可与B、D三个基础分子拼接,则将A、B、C、D均确定为拼接分子。
步骤105、将第一合成形状的可拼接位置和该可拼接位置的一个拼接分子作为一条拼接方案,将所有拼接方案存储在选择列表中。
比如说,第一合成形状上包括3个可拼接位置,则分别确定每个可拼接位置上可拼接的基础分子,设可拼接位置1可与A、B两个基础分子拼接,可拼接位置2可与A、C、D三个基础分子拼接,可拼接位置3可与B、D三个基础分子拼接,则将可拼接位置1与A作为一条拼接方案,可拼接位置1与B作为一条拼接方案,可拼接位置2与A作为一条拼接方案,依次类推,总共得到7条拼接方案,将该7条拼接方案存储在选择列表中。
步骤106、从选择列表中随机选择一条拼接方案,作为目标方案;删除拼接列表中的目标方案,将删除后的选择列表和第一合成形状的形状信息的对应关系存储在信息栈中。
示例性的,随机选择步骤105中的可拼接位置2与A作为目标方案,将剩余的6条拼接方案和第一合成形状的形状信息的对应关系存储到信息栈中,这样就可以明确该6条拼接方案是用于向哪个第一合成形状上进行拼接的。
步骤107、按照目标方案拼接第一合成形状和拼接分子,得到第二合成形状。
示例性的,将A拼接到第一合成形状的可拼接位置2上,得到一个第二合成形状。
步骤108、将第二合成形状确定为新的初始形状,重新执行上述步骤103至步骤107,直至得到的第二合成形状拥有的基础分子的数量达到设定阈值,或者未达到设定阈值时,第二合成形状不能与任意一个基础分子进行拼接,存储得到的该第二合成形状。
示例性的,将A和第一合成形状上的可拼接位置2拼接得到的第二合成形状作为新的初始形状,再次遍历输入组合中的引导分子,将所有可拼接的引导分子与新的初始形状进行拼接,得到新的第一合成形状,再遍历输入组合中的基础分子,设新的第一合成形状包括2个可拼接位置,可拼接位置a上可拼接基础分子B、C,可拼接位置b上可拼接基础分子A、B、C,则得到(a,B)、(a、C)、(b,A)、(b,B)、(b,C)5条拼接方案。从中随机选择(b,B)作为目标方案,其余的4条拼接方案仍存储在选择列表中,将选择列表与对应的新的第一合成形状的形状信息存储到信息栈中。按照目标方案(b,B)将B与可拼接位置b进行拼接后,得到新的第二合成形状,将该新的第二合成形状再作为新的初始形状,重新执行步骤103至步骤107,如此循环,直至得到的第二合成形状所拥有的的基础分子的数量达到设定阈值,或者未达到设定阈值时,第二合成形状不能与任意一个基础分子进行拼接,终止本次合成过程,存储最终得到的第二合成形状。
步骤109、判断信息栈是否为空。
由于本发明实施例的目的在于得到所有输入组合可合成的有限形状的数量的形状信息,因此,需要将存储在信息栈中的所有拼接方案均进行拼接。如果信息栈为空,则停止拼接过程。
步骤110、如果信息栈不为空,则从信息栈中取出最后存储的选择列表和第一合成形状的形状信息,从选择列表中随机选择一条拼接方案,作为新的目标方案,执行上述得到目标方案后的方法,直至信息栈为空,得到第一个被作为初始形状的基础分子可合成的所有合成形状。
信息栈遵循先进后出的原则,因此先取出的是最后一次存储的选择列表和第一合成形状的形状信息,如果该选择列表中有多条选择方案,则再选择一条目标方案之后,将删除目标方案的选择列表和第一合成形状在此存储到信息栈中;如果目标方案和该第一合成形状合成的第二合成形状在拼接引导分子之后,还能和多个基础分子进行拼接,则再选择目标方案之后,将其他拼接方案以选择列表的形式存储在信息栈中,同时存储的还有第二合成形状拼接引导分子后的第一合成形状,如此循环,直至信息栈为空。此时,则合成了作为初始形状的基础分子可合成的所有有限形状,得到了有限形状的数量和形状信息,以及部分无限形状的形状信息。
图2为本发明实施例中另一种化学分子合成仿真方法的流程图,其实质与图1相同,对于其具体流程,在此不再赘述。
步骤111、根据设定阈值,将所有得到的第二合成形状划分为有限形状或无限形状,分别存储有限形状的形状信息和当前合成的无限形状的形状信息。
其中,所有得到的第二合成形状包括所有输入组合中所有基础分子合成后的第二合成形状。这样就得到了设定种类的基础分子和引导分子组成的所有输入组合可得到的所有有限形状的数量和形状信息,以及部分无限性状的形状信息。
在本发明实施例的另一种实现方法中,参见图3,还可以以如下步骤303至步骤306中的第二方法替代步骤103至步骤110中第一方法,得到第一个被作为初始形状的基础分子可合成的所有合成形状。
步骤303、遍历输入组合中的引导分子,确定初始形状各可拼接位置上可拼接的引导分子,将所有可拼接的引导分子与初始形状进行拼接,得到第一合成形状。
需要说明的是,如果输入组合中没有引导分子,则可以不执行步骤303。
步骤304、遍历输入组合中的基础分子,将第一合成形状各可拼接位置上可拼接的基础分子确定为拼接分子。
步骤305、将每个拼接分子分别与第一合成形状相应可拼接位置进行拼接,得到多个第二合成形状。
沿用步骤104中示例,将A、B分别与可拼接位置1拼接,得到两个第二合成形状;将A、C、D分别与可拼接位置2拼接,得到三个第二合成形状;将B、D分别与可拼接位置3拼接,得到两个第二合成形状,则执行完本步骤中方法后,总共得到7个第二合成形状。
步骤306、将每个第二合成形状作为新的初始形状,重新执行步骤303至步骤305,直至得到的第二合成形状拥有的基础分子数量达到设定阈值,或者未达到设定阈值时,第二合成形状不能与任意一个基础分子进行拼接时,得到第一个被作为初始形状的基础分子可合成的所有合成形状。
沿用步骤305中示例,将得到的7个第二合成形状分别作为新的初始形状,再次遍历输入组合中的引导分子,确定初始形状各可拼接位置上可拼接的引导分子,将所有可拼接的引导分子与初始形状进行拼接,得到7个第一合成形状;之后,再遍历输入组合中的基础分子,将第一合成形状各可拼接位置上可拼接的基础分子确定为拼接分子,设该7个第一合成形状中,每个第一合成形状上有2个可拼接位置,每个可拼接位置上可拼接2个基础分子,则,该7个第一合成形状中每个第一合成形状得到4个第二合成形状,总共得到28个第二合成形状,再将每个第二合成形状作为新的初始形状,如此循环,直至得到的第二合成形状拥有的基础分子数量达到设定阈值,或者在拥有的基础分子的数量没有达到设定阈值时,第二合成形状就不能再与任何一个基础分子进行拼接时,终止该第二合成形状的合成过程。
当每个第二合成形状都终止合成过程之后,就得到了基础分子A可合成的所有合成形状。
在本发明实施例中,设定阈值是用于划分有限形状和无限形状的基础分子数量界限。如果第二合成形状拥有的基础分子数量大于等于设定阈值,则认为该第二合成形状为无限形状,如果第二合成形状拥有的基础分子数量小于设定阈值,则将该第二合成形状确定为有限形状。由于无限形状可以无限合成下去,为了节省计算资源,当第二合成形状被确定为无限形状之后,就不再继续合成。
本发明实施例的一种实现方式中,在每一次得到初始形状/第一合成形状之后,还可以将初始形状/第一合成形状的所有可拼接位置信息更新在可拼接位置列表中,以方便后续确定每个可拼接位置可拼接的引导分子或基础分子。
考虑到当存在相同种类的基础分子和引导分子时,合成的有限形状可能相同,为了节省存储空间,同时更加清楚的确定合成的有限形状的种类数量,本发明实施例中,在分别存储有限形状和无限形状的形状信息之前,还可以两两比对得到的有限形状的形状信息,将得到的有限形状信息进行去重;之后,分别存储去重后的有限形状的形状信息和无限形状的形状信息。
本发明实施例中,通过计算机仿真模拟实际化学反应过程,通过仿真得到预设种类的基础分子和引导分子组成的所有输入组合可合成的有限形状的数量与形状信息,以及部分无限性状的形状信息,与现有技术中通过实际化学反应观察形成的有限形状和无限形状相比,大幅度降低了化学反应带来的时间成本;并且,计算机仿真不会遗漏任何一种可合成的有限形状,与实际化学反应中,具有更多数量基础分子的形状被观察到的概率很低相比,保证了得到有限分子的全面性;同时,也得到的无限形状的形状信息,为未来推断无限形状的特征做更充足的准备。
本发明实施例中还提供了一种化学分子合成仿真装置,如下面的实施例所述。由于该装置解决问题的原理与化学分子合成仿真方法相似,因此该装置的实施可以参见化学分子合成仿真方法的实施,重复之处不再赘述。
如图4所示,该装置400包括组合生成模块401、选择模块402、分子拼接模块403和划分模块404。
组合生成模块401,用于生成预设种类的基础分子和引导分子组成的所有输入组合,其中,每个输入组合中包含至少一种基础分子和零至多种引导分子。
选择模块402,用于针对每一个输入组合,依次选择该输入组合中每一个基础分子作为初始形状,针对每个初始形状,由分子拼接模块403执行下述第一方法:
遍历输入组合中的引导分子,确定初始形状各可拼接位置上可拼接的引导分子,将所有可拼接的引导分子与初始形状进行拼接,得到第一合成形状;
遍历输入组合中的基础分子,将第一合成形状各可拼接位置上可拼接的基础分子确定为拼接分子;
将第一合成形状的可拼接位置和该可拼接位置的一个拼接分子作为一条拼接方案,将所有拼接方案存储在选择列表中;
从选择列表中随机选择一条拼接方案,作为目标方案;删除拼接列表中的目标方案,将删除后的选择列表和第一合成形状的形状信息的对应关系存储在信息栈中;
按照目标方案拼接第一合成形状和拼接分子,得到第二合成形状;
将第二合成形状确定为新的初始形状,重新执行上述方法,直至得到的第二合成形状拥有的基础分子的数量达到设定阈值,或者未达到设定阈值时,第二合成形状不能与任意一个基础分子进行拼接,存储得到的该第二合成形状;
判断信息栈是否为空;
如果信息栈不为空,则从信息栈中取出最后存储的选择列表和第一合成形状的形状信息,从选择列表中随机选择一条拼接方案,作为新的目标方案,执行上述得到目标方案后的方法,直至信息栈为空,得到第一个被作为初始形状的基础分子可合成的所有合成形状;
划分模块404,用于根据设定阈值,将所有得到的第二合成形状划分为有限形状或无限形状,分别存储有限形状的形状信息和当前合成的无限形状的形状信息。
本发明实施例的一种实现方式中,针对每个初始形状,还可以由分子拼接模块403执行下述第二方法:
遍历输入组合中的引导分子,确定初始形状各可拼接位置上可拼接的引导分子,将所有可拼接的引导分子与初始形状进行拼接,得到第一合成形状;
遍历输入组合中的基础分子,将第一合成形状各可拼接位置上可拼接的基础分子确定为拼接分子;
将每个拼接分子分别与第一合成形状相应可拼接位置进行拼接,得到多个第二合成形状;
将每个第二合成形状作为新的初始形状,重新执行上述方法,直至得到的第二合成形状拥有的基础分子数量达到设定阈值,或者未达到设定阈值时,第二合成形状不能与任意一个基础分子进行拼接时,得到第一个被作为初始形状的基础分子可合成的所有合成形状。
本发明实施例的一种实现方式中,装置400还包括:
更新模块405,用于在每一次得到初始形状/第一合成形状之后,将初始形状/第一合成形状的所有可拼接位置信息更新在可拼接位置列表中;
分子拼接模块403,用于:获取输入组合中每个引导分子的可拼接位置信息;将每个引导分子的可拼接位置信息逐一与可拼接位置列表中各个可拼接位置信息相匹配;将匹配成功的引导分子确定为初始形状相应可拼接位置上可拼接的引导分子;
分子拼接模块403,用于:获取输入组合中每个基础分子的可拼接位置信息;将每个基础分子的可拼接位置信息逐一与第一合成形状的各个可拼接位置信息进行匹配;将匹配成功的基础分子确定为与第一合成形状相应可拼接位置上的拼接分子。
本发明实施例的一种实现方式中,装置400还包括:
去重模块406,用于两两比对得到的有限形状的形状信息,将得到的有限形状信息进行去重;
划分模块403,用于:
分别存储去重后的有限形状的形状信息和无限形状的形状信息。
本发明实施例中,通过计算机仿真模拟实际化学反应过程,通过仿真得到预设种类的基础分子和引导分子组成的所有输入组合可合成的有限形状的数量与形状信息,以及部分无限性状的形状信息,与现有技术中通过实际化学反应观察形成的有限形状和无限形状相比,大幅度降低了化学反应带来的时间成本;并且,计算机仿真不会遗漏任何一种可合成的有限形状,与实际化学反应中,具有更多数量基础分子的形状被观察到的概率很低相比,保证了得到有限分子的全面性;同时,也得到的无限形状的形状信息,为未来推断无限形状的特征做更充足的准备。
本发明实施例还提供一种计算机设备,图5为本发明实施例中计算机设备的示意图,该计算机设备能够实现上述实施例中的化学分子合成仿真中全部步骤,该计算机设备具体包括如下内容:
处理器(processor)501、存储器(memory)502、通信接口(CommunicationsInterface)503和通信总线504;
其中,所述处理器501、存储器502、通信接口503通过所述通信总线504完成相互间的通信;所述通信接口503用于实现相关设备之间的信息传输;
所述处理器501用于调用所述存储器502中的计算机程序,所述处理器执行所述计算机程序时实现上述实施例中的化学分子合成仿真方法。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述化学分子合成仿真方法的计算机程序。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、只读光盘(Compact Disc Read-Only Memory,CD-ROM)、光学存储器等介质)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种化学分子合成仿真方法,其特征在于,所述方法包括:
生成预设种类的基础分子和引导分子组成的所有输入组合,其中,每个输入组合中包含至少一种基础分子和零至多种引导分子;
针对每一个输入组合,依次选择该输入组合中每一个基础分子作为初始形状,针对每个初始形状,执行下述第一方法:
遍历输入组合中的引导分子,确定初始形状各可拼接位置上可拼接的引导分子,将所有可拼接的引导分子与初始形状进行拼接,得到第一合成形状;
遍历输入组合中的基础分子,将第一合成形状各可拼接位置上可拼接的基础分子确定为拼接分子;
将第一合成形状的可拼接位置和该可拼接位置的一个拼接分子作为一条拼接方案,将所有拼接方案存储在选择列表中;
从选择列表中随机选择一条拼接方案,作为目标方案;删除拼接列表中的目标方案,将删除后的选择列表和第一合成形状的形状信息的对应关系存储在信息栈中;
按照目标方案拼接第一合成形状和拼接分子,得到第二合成形状;
将第二合成形状确定为新的初始形状,重新执行上述方法,直至得到的第二合成形状拥有的基础分子的数量达到设定阈值,或者未达到设定阈值时,第二合成形状不能与任意一个基础分子进行拼接,存储得到的该第二合成形状;
判断信息栈是否为空;
如果信息栈不为空,则从信息栈中取出最后存储的选择列表和第一合成形状的形状信息,从选择列表中随机选择一条拼接方案,作为新的目标方案,执行上述得到目标方案后的方法,直至信息栈为空,得到第一个被作为初始形状的基础分子可合成的所有合成形状;
根据设定阈值,将所有得到的第二合成形状划分为有限形状或无限形状,分别存储有限形状的形状信息和当前合成的无限形状的形状信息。
2.根据权利要求1所述的方法,其特征在于,针对每个初始形状,还可以执行下述第二方法:
遍历输入组合中的引导分子,确定初始形状各可拼接位置上可拼接的引导分子,将所有可拼接的引导分子与初始形状进行拼接,得到第一合成形状;
遍历输入组合中的基础分子,将第一合成形状各可拼接位置上可拼接的基础分子确定为拼接分子;
将每个拼接分子分别与第一合成形状相应可拼接位置进行拼接,得到多个第二合成形状;
将每个第二合成形状作为新的初始形状,重新执行上述方法,直至得到的第二合成形状拥有的基础分子数量达到设定阈值,或者未达到设定阈值时,第二合成形状不能与任意一个基础分子进行拼接时,得到第一个被作为初始形状的基础分子可合成的所有合成形状。
3.根据权利要求1或2所述的方法,其特征在于,
在每一次得到初始形状/第一合成形状之后,所述方法还包括:将初始形状/第一合成形状的所有可拼接位置信息更新在可拼接位置列表中;
遍历输入组合中的引导分子,确定初始形状各可拼接位置上可拼接的引导分子,包括:获取输入组合中每个引导分子的可拼接位置信息;将每个引导分子的可拼接位置信息逐一与可拼接位置列表中各个可拼接位置信息相匹配;将匹配成功的引导分子确定为初始形状相应可拼接位置上可拼接的引导分子;
遍历输入组合中的基础分子,将第一合成形状各可拼接位置上可拼接的基础分子确定为拼接分子,包括:获取输入组合中每个基础分子的可拼接位置信息;将每个基础分子的可拼接位置信息逐一与第一合成形状的各个可拼接位置信息进行匹配;将匹配成功的基础分子确定为与第一合成形状相应可拼接位置上的拼接分子。
4.根据权利要求1所述的方法,其特征在于,在分别存储有限形状和无限形状的形状信息之前,所述方法还包括:
两两比对得到的有限形状的形状信息,将得到的有限形状信息进行去重;
所述分别存储有限形状的形状信息和无限形状的形状信息,包括:
分别存储去重后的有限形状的形状信息和无限形状的形状信息。
5.一种化学分子合成仿真装置,其特征在于,所述装置包括:
组合生成模块,用于生成预设种类的基础分子和引导分子组成的所有输入组合,其中,每个输入组合中包含至少一种基础分子和零至多种引导分子;
选择模块,用于针对每一个输入组合,依次选择该输入组合中每一个基础分子作为初始形状,针对每个初始形状,由分子拼接模块执行下述第一方法:
遍历输入组合中的引导分子,确定初始形状各可拼接位置上可拼接的引导分子,将所有可拼接的引导分子与初始形状进行拼接,得到第一合成形状;
遍历输入组合中的基础分子,将第一合成形状各可拼接位置上可拼接的基础分子确定为拼接分子;
将第一合成形状的可拼接位置和该可拼接位置的一个拼接分子作为一条拼接方案,将所有拼接方案存储在选择列表中;
从选择列表中随机选择一条拼接方案,作为目标方案;删除拼接列表中的目标方案,将删除后的选择列表和第一合成形状的形状信息的对应关系存储在信息栈中;
按照目标方案拼接第一合成形状和拼接分子,得到第二合成形状;
将第二合成形状确定为新的初始形状,重新执行上述方法,直至得到的第二合成形状拥有的基础分子的数量达到设定阈值,或者未达到设定阈值时,第二合成形状不能与任意一个基础分子进行拼接,存储得到的该第二合成形状;
判断信息栈是否为空;
如果信息栈不为空,则从信息栈中取出最后存储的选择列表和第一合成形状的形状信息,从选择列表中随机选择一条拼接方案,作为新的目标方案,执行上述得到目标方案后的方法,直至信息栈为空,得到第一个被作为初始形状的基础分子可合成的所有合成形状;
划分模块,用于根据设定阈值,将所有得到的第二合成形状划分为有限形状或无限形状,分别存储有限形状的形状信息和当前合成的无限形状的形状信息。
6.根据权利要求5所述的装置,其特征在于,针对每个初始形状,还可以由分子拼接模块执行下述第二方法:
遍历输入组合中的引导分子,确定初始形状各可拼接位置上可拼接的引导分子,将所有可拼接的引导分子与初始形状进行拼接,得到第一合成形状;
遍历输入组合中的基础分子,将第一合成形状各可拼接位置上可拼接的基础分子确定为拼接分子;
将每个拼接分子分别与第一合成形状相应可拼接位置进行拼接,得到多个第二合成形状;
将每个第二合成形状作为新的初始形状,重新执行上述方法,直至得到的第二合成形状拥有的基础分子数量达到设定阈值,或者未达到设定阈值时,第二合成形状不能与任意一个基础分子进行拼接时,得到第一个被作为初始形状的基础分子可合成的所有合成形状。
7.根据权利要求5或6所述的装置,其特征在于,所述装置还包括:
更新模块,用于在每一次得到初始形状/第一合成形状之后,将初始形状/第一合成形状的所有可拼接位置信息更新在可拼接位置列表中;
分子拼接模块,用于:获取输入组合中每个引导分子的可拼接位置信息;将每个引导分子的可拼接位置信息逐一与可拼接位置列表中各个可拼接位置信息相匹配;将匹配成功的引导分子确定为初始形状相应可拼接位置上可拼接的引导分子;
分子拼接模块,用于:获取输入组合中每个基础分子的可拼接位置信息;将每个基础分子的可拼接位置信息逐一与第一合成形状的各个可拼接位置信息进行匹配;将匹配成功的基础分子确定为与第一合成形状相应可拼接位置上的拼接分子。
8.根据权利要求5所述的装置,其特征在于,所述装置还包括:
去重模块,用于两两比对得到的有限形状的形状信息,将得到的有限形状信息进行去重;
划分模块,用于:
分别存储去重后的有限形状的形状信息和无限形状的形状信息。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至4任一所述方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有执行权利要求1至4任一所述方法的计算机程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110448407.0A CN113140261B (zh) | 2021-04-25 | 2021-04-25 | 化学分子合成仿真方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110448407.0A CN113140261B (zh) | 2021-04-25 | 2021-04-25 | 化学分子合成仿真方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113140261A true CN113140261A (zh) | 2021-07-20 |
CN113140261B CN113140261B (zh) | 2022-05-06 |
Family
ID=76811970
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110448407.0A Active CN113140261B (zh) | 2021-04-25 | 2021-04-25 | 化学分子合成仿真方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113140261B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170121852A1 (en) * | 2015-10-28 | 2017-05-04 | Samsung Electronics Co., Ltd | Method and device for in silico prediction of chemical pathway |
US20180253453A1 (en) * | 2017-03-01 | 2018-09-06 | International Business Machines Corporation | Iterative widening search for designing chemical compounds |
CN110390997A (zh) * | 2019-07-17 | 2019-10-29 | 成都火石创造科技有限公司 | 一种化学分子式拼接方法 |
US20200294630A1 (en) * | 2019-03-12 | 2020-09-17 | California Institute Of Technology | Systems and Methods for Determining Molecular Structures with Molecular-Orbital-Based Features |
CN111899807A (zh) * | 2020-06-12 | 2020-11-06 | 中国石油天然气股份有限公司 | 一种分子结构生成方法、系统、设备及存储介质 |
CN112509644A (zh) * | 2020-12-18 | 2021-03-16 | 深圳先进技术研究院 | 一种分子优化方法、系统、终端设备及可读存储介质 |
-
2021
- 2021-04-25 CN CN202110448407.0A patent/CN113140261B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170121852A1 (en) * | 2015-10-28 | 2017-05-04 | Samsung Electronics Co., Ltd | Method and device for in silico prediction of chemical pathway |
US20180253453A1 (en) * | 2017-03-01 | 2018-09-06 | International Business Machines Corporation | Iterative widening search for designing chemical compounds |
US20200294630A1 (en) * | 2019-03-12 | 2020-09-17 | California Institute Of Technology | Systems and Methods for Determining Molecular Structures with Molecular-Orbital-Based Features |
CN110390997A (zh) * | 2019-07-17 | 2019-10-29 | 成都火石创造科技有限公司 | 一种化学分子式拼接方法 |
CN111899807A (zh) * | 2020-06-12 | 2020-11-06 | 中国石油天然气股份有限公司 | 一种分子结构生成方法、系统、设备及存储介质 |
CN112509644A (zh) * | 2020-12-18 | 2021-03-16 | 深圳先进技术研究院 | 一种分子优化方法、系统、终端设备及可读存储介质 |
Non-Patent Citations (2)
Title |
---|
HUA JIANG ETC.: "A synthesis flow for digital signal processing with biomolecular reactions", 《2010 IEEE/ACM INTERNATIONAL CONFERENCE ON COMPUTER-AIDED DESIGN (ICCAD)》 * |
郭世豪: "基于深度学习的化合物逆合成系统设计与实现", 《中国优秀博硕士学位论文全文数据库(硕士) 工程科技Ⅰ辑》 * |
Also Published As
Publication number | Publication date |
---|---|
CN113140261B (zh) | 2022-05-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109146081B (zh) | 一种用于机器学习平台中创建模型项目的方法及装置 | |
US8799878B2 (en) | Multi level virtual function tables | |
JP5950285B2 (ja) | 予め決められた複数のビット幅のデータに対して操作を行う命令を使用してツリーの検索を行うための方法、並びに、当該命令を使用してツリーの検索を行うためのコンピュータ及びそのコンピュータ・プログラム | |
KR100996443B1 (ko) | 고집적인덱스 데이터베이스 및 쿼리 데이터의 검색과 연산기능 분할에 의한 그래픽 프로세서 기반 병렬분산 처리 시스템 및 방법 | |
CN113283613B (zh) | 深度学习模型的生成方法、优化方法、装置、设备及介质 | |
EP4105793A1 (en) | Signature-based cache optimization for data preparation | |
Acar et al. | Adaptive inference on general graphical models | |
EP3362808B1 (en) | Cache optimization for data preparation | |
JPS6267634A (ja) | 入力デ−タを出力デ−タ構造に一致させるオブジエクト・コ−ドを生成する方法 | |
CN110990051B (zh) | 软件包依赖关系的维护方法、装置、介质和设备 | |
CN115358397A (zh) | 一种基于数据采样的并行图规则挖掘方法及装置 | |
CN106294530B (zh) | 规则匹配的方法和系统 | |
CN113140261B (zh) | 化学分子合成仿真方法及装置 | |
CN108629026A (zh) | 一种全文索引的更新方法、装置、设备和存储介质 | |
CN113140262B (zh) | 化学分子合成仿真方法及装置 | |
DeLaVina | Some history of the development of Graffiti | |
CN106547548B (zh) | 一种软件版本的编译方法和装置 | |
CN109271413A (zh) | 一种数据查询的方法、装置及计算机存储介质 | |
CN114564208A (zh) | 安卓应用程序的反编译方法、电子设备和介质 | |
CN114594960A (zh) | 一种递归函数解析执行方法、装置及存储介质 | |
CN114625903A (zh) | 一种图像检索方法和装置、图像检索设备 | |
CN111400050A (zh) | 一种分配资源执行任务的方法及装置 | |
US8335755B1 (en) | Derived contexts for computational experiments | |
US7747635B1 (en) | Automatically generating efficient string matching code | |
US20120330878A1 (en) | Conventions for inferring data models |
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 |