System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种实现化学分子结构数据自动扩增的方法和系统技术方案_技高网

一种实现化学分子结构数据自动扩增的方法和系统技术方案

技术编号:41220529 阅读:3 留言:0更新日期:2024-05-09 23:40
本发明专利技术公开了一种实现化学分子结构数据自动扩增的方法和系统,所述方法包括:读取所输入的化学分子结构数据,并识别特征结构和获取特征结构数据;分别创建化学分子结构和特征结构的原子编号列表,并获得特征结构以外的原子编号列表;通过使特征结构的原子编号列表与随机打乱原子编号排列顺序的特征结构以外的原子编号列表相组合,得到扩增的特征结构对齐的化学分子结构的SMILES数据,重复尝试,直至达到用户设定的最大尝试次数阈值或数据扩增倍数阈值停止,然后输出化学分子结构的扩增数据。本发明专利技术能使扩增的化学分子结构数据具有明确结构特征,所得到的SMILES字符串中的字符顺序和字符组合规整,对化学人工智能研究具有应用价值。

【技术实现步骤摘要】

本专利技术涉及一种实现化学分子结构数据自动扩增的方法和系统,属于计算机信息处理。


技术介绍

1、化学分子结构数据是描述化学物质分子结构的信息。所谓分子结构,是指分子的原子组成、排列和连接关系,分子结构在很大程度上影响了化学物质的反应性、极性、相态、颜色、磁性和生物活性,因此是化学科学重要的基础研究对象。化学分子结构数据一般可以通过实验测定或通过计算得到,对于理解化学物质的性质和行为非常重要。在化学数据库中,通常会存储大量的化学分子结构数据,以便进行检索和分析,这些化学分子结构数据也是化学人工智能的基础资源。

2、目前,获取大量化学分子结构数据的方法之一为数据扩增,通过数据扩增可以增加训练数据的数量和质量,提高人工智能模型的性能和泛化能力,从而更好地应用于化学结构数据的分析和处理。在化学分子结构数据中,数据扩增可以通过以下方式实现:通过采集更多的化学物质分子结构数据以增加样本数量;变换数据,通过对原始数据进行变换,使生成新的数据样本,例如,可以通过旋转、平移、缩放等方式对化学分子结构数据进行变换,以增加数据的多样性。因为在实际应用中,化学分子结构数据往往对应着通过实验获取的性质数据,比如毒性、生物活性等,采集更多的化学物质分子结构数据需要耗费大量资源,因此通常使用变换数据的方法来实现数据扩增。

3、smiles(simplified molecular input line entry system,简化分子线性输入规范),是一种用ascii字符串明确描述分子结构的规范。由于smiles表达式的构造方式具有一定的灵活性,对于同一个分子结构,可以有多种不同的smiles表达式来表示,因此现有技术是采用随机遍历分子结构图,以得到不同的分子结构原子组成顺序,然后使用smiles来描述这个分子的不同原子组成顺序,得到随机排列的但又表达同一个分子的smiles字符串,从而实现化学分子结构数据的扩增;这种通过随机遍历方式得到的smiles字符串数据是随机排布的,以致造成字符串中的字符顺序和字符组合凌乱,无法体现分子结构特征,不利于人工智能模型提取数据中的特征块,从而大大降低了扩增数据的利用效果,进而也影响了人工智能模型的性能。因此,本领域亟需研发一种能使扩增的化学分子结构数据具有明确结构特征且能使得到的smiles字符串中的字符顺序和字符组合规整的实现化学分子结构数据自动扩增的技术,从而为化学人工智能研究提供有力支持。


技术实现思路

1、针对现有技术存在的上述问题和需求,本专利技术的目的是提供一种能使扩增的化学分子结构数据具有明确结构特征且能使得到的smiles字符串中的字符顺序和字符组合规整的实现化学分子结构数据自动扩增的方法和系统,从而为化学人工智能研究提供有力支持。

2、为实现上述专利技术目的,本专利技术采用如下技术方案:

3、一种实现化学分子结构数据自动扩增的方法,包括如下步骤:

4、s1)使用rdkit工具中的“molfromsmiles”函数读取所输入的化学分子结构的smiles数据;

5、s2)使用rdkit工具中的“getscaffoldformol”函数识别所读入的化学分子结构中的特征结构,并输出特征结构的类型及特征结构的smiles数据;

6、s3)使用rdkit工具中的“molfromsmiles”函数分别读取所输入的化学分子结构的smiles数据和特征结构的smiles数据,获得化学分子结构和特征结构;

7、s4)使用rdkit工具中的“getnumatoms”函数创建化学分子结构的原子编号列表,并使用rdkit工具中的“getsubstructmatches”函数创建特征结构的原子编号列表;

8、s5)依次比对步骤s4)所得的化学分子结构的原子编号列表中的数字是否在特征结构的原子编号列表中,并将未出现在特征结构的原子编号列表中的数字组成新的列表,作为特征结构以外的原子编号列表;

9、s6)随机打乱特征结构以外的原子编号列表中的原子编号的排列顺序,然后使其与步骤s4)所得的特征结构的原子编号列表相组合,获得特征结构对齐的化学分子结构的原子编号列表;

10、s7)使用rdkit工具中的“renumberatoms”函数根据步骤s6)所获得的特征结构对齐的化学分子结构的原子编号列表对化学分子结构中的原子进行重排,获得特征结构对齐的化学分子结构;

11、s8)使用rdkit工具中的“moltosmiles”函数根据步骤s7)所获得的特征结构对齐的化学分子结构计算特征结构对齐的化学分子结构的smiles数据,并存入扩增结果列表中;

12、s9)重复执行步骤s6)~步骤s8),直至达到用户设定的最大尝试次数阈值或数据扩增倍数阈值停止,然后输出化学分子结构的扩增数据。

13、一种实施方案,若步骤s1)读取结果为空或报错,则提示“输入的化学分子结构的数据错误”,并输出化学分子结构的扩增数据为空。

14、一种实施方案,步骤s2)所述识别包括如下具体步骤:

15、s21)使用rdkit工具中的“getscaffoldformol”函数计算所读入的化学分子结构中的骨架结构,若函数返回结果,则使用rdkit工具中的“moltosmiles”函数计算该返回结果中的骨架结构的smiles数据,并输出特征结构的类型为“骨架结构”及该骨架结构的smiles数据;若函数返回为空,则执行步骤s22);

16、s22)使用正则表达式“\([^)*\)]”删除所输入的化学分子结构的smiles数据中的括号“()”以及括号中的字符,获得所读入的化学分子结构中的主链结构的smiles数据,若主链结构的smiles数据的字符数大于3并且小于所输入的化学分子结构的smiles数据的字符数,则输出特征结构的类型为“主链结构”及该主链结构的smiles数据。

17、一种实施方案,步骤s4)所述的化学分子结构的原子编号列表的创建是使用rdkit工具的“getnumatoms”函数计算所读入的化学分子结构中的原子总数,根据所得原子总数创建由0到原子总数减一的顺序数字列表。

18、一种实施方案,步骤s6)使用程序语言python中的“random.shuffle”函数随机打乱特征结构以外的原子编号列表中的原子编号的排列顺序。

19、一种优选方案,步骤s8)将获得的特征结构对齐的化学分子结构的smiles数据存入扩增结果列表之前,先检查待存入的smiles数据是否已在扩增结果列表中存在,若已存在,则丢弃不存入。

20、一种实施方案,若步骤s22)获得的主链结构的smiles数据的字符数小于等于3或等于所输入的化学分子结构的smiles数据的字符数,则按以下步骤进行数据扩增:

21、a)使用rdkit工具中的“moltosmiles”函数根据所输入的化学分子结构的smiles数据和“dorandom=true”参数本文档来自技高网...

【技术保护点】

1.一种实现化学分子结构数据自动扩增的方法,其特征在于,所述方法包括如下步骤:

2.根据权利要求1所述的方法,其特征在于:若步骤S1)读取结果为空或报错,则提示“输入的化学分子结构的数据错误”,并输出化学分子结构的扩增数据为空。

3.根据权利要求1所述的方法,其特征在于,步骤S2)所述识别包括如下具体步骤:

4.根据权利要求1所述的方法,其特征在于:步骤S4)所述的化学分子结构的原子编号列表的创建是使用RDKit工具的“GetNumAtoms”函数计算所读入的化学分子结构中的原子总数,根据所得原子总数创建由0到原子总数减一的顺序数字列表。

5.根据权利要求1所述的方法,其特征在于:步骤S6)使用程序语言Python中的“random.shuffle”函数随机打乱特征结构以外的原子编号列表中的原子编号的排列顺序。

6.根据权利要求1所述的方法,其特征在于:步骤S8)将获得的特征结构对齐的化学分子结构的SMILES数据存入扩增结果列表之前,先检查待存入的SMILES数据是否已在扩增结果列表中存在,若已存在,则丢弃不存入。p>

7.一种实现化学分子结构数据自动扩增的系统,其特征在于,所述系统包括:

8.一种存储介质,其上存储有计算机程序,其特征在于:该程序被处理器执行时能实现权利要求1~6中任意一项所述的方法。

9.一种电子设备,包括至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的程序指令,所述程序指令被所述至少一个处理器执行;其特征在于:所述至少一个处理器能够执行权利要求1~6中任意一项所述的方法。

10.一种计算机程序产品,包括存储在存储介质上的计算机程序,所述计算机程序包括程序指令,其特征在于:当所述程序指令被处理器执行时能实现权利要求1~6中任意一项所述的方法。

...

【技术特征摘要】

1.一种实现化学分子结构数据自动扩增的方法,其特征在于,所述方法包括如下步骤:

2.根据权利要求1所述的方法,其特征在于:若步骤s1)读取结果为空或报错,则提示“输入的化学分子结构的数据错误”,并输出化学分子结构的扩增数据为空。

3.根据权利要求1所述的方法,其特征在于,步骤s2)所述识别包括如下具体步骤:

4.根据权利要求1所述的方法,其特征在于:步骤s4)所述的化学分子结构的原子编号列表的创建是使用rdkit工具的“getnumatoms”函数计算所读入的化学分子结构中的原子总数,根据所得原子总数创建由0到原子总数减一的顺序数字列表。

5.根据权利要求1所述的方法,其特征在于:步骤s6)使用程序语言python中的“random.shuffle”函数随机打乱特征结构以外的原子编号列表中的原子编号的排列顺序。

6.根据权利要求1所述的方法,其特征在于:步...

【专利技术属性】
技术研发人员:徐挺军
申请(专利权)人:中国科学院上海有机化学研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1