CN114722247A - 基于化学编辑器的化合物名称生成方法及装置 - Google Patents
基于化学编辑器的化合物名称生成方法及装置 Download PDFInfo
- Publication number
- CN114722247A CN114722247A CN202210375989.9A CN202210375989A CN114722247A CN 114722247 A CN114722247 A CN 114722247A CN 202210375989 A CN202210375989 A CN 202210375989A CN 114722247 A CN114722247 A CN 114722247A
- Authority
- CN
- China
- Prior art keywords
- name
- names
- structural formula
- chemical
- compound
- 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.)
- Pending
Links
- 239000000126 substance Substances 0.000 title claims abstract description 91
- 150000001875 compounds Chemical class 0.000 title claims abstract description 84
- 238000000034 method Methods 0.000 title claims abstract description 53
- 239000012634 fragment Substances 0.000 claims abstract description 81
- 125000000524 functional group Chemical group 0.000 claims description 31
- 125000004429 atom Chemical group 0.000 claims description 26
- 150000001721 carbon Chemical group 0.000 claims description 15
- 229910052799 carbon Inorganic materials 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 15
- 125000001424 substituent group Chemical group 0.000 claims description 10
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical group [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 claims description 9
- 125000004435 hydrogen atom Chemical group [H]* 0.000 claims description 8
- 125000004122 cyclic group Chemical group 0.000 claims description 7
- UFHFLCQGNIYNRP-UHFFFAOYSA-N Hydrogen Chemical compound [H][H] UFHFLCQGNIYNRP-UHFFFAOYSA-N 0.000 claims description 5
- 239000001257 hydrogen Substances 0.000 claims description 5
- 229910052739 hydrogen Inorganic materials 0.000 claims description 5
- 238000013507 mapping Methods 0.000 claims description 4
- 230000004044 response Effects 0.000 claims description 3
- 238000000926 separation method Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 7
- 235000000177 Indigofera tinctoria Nutrition 0.000 description 4
- 229940097275 indigo Drugs 0.000 description 4
- COHYTHOBJLSHDF-UHFFFAOYSA-N indigo powder Natural products N1C2=CC=CC=C2C(=O)C1=C1C(=O)C2=CC=CC=C2N1 COHYTHOBJLSHDF-UHFFFAOYSA-N 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 125000005842 heteroatom Chemical group 0.000 description 3
- 125000004430 oxygen atom Chemical group O* 0.000 description 3
- IJGRMHOSHXDMSA-UHFFFAOYSA-N Atomic nitrogen Chemical compound N#N IJGRMHOSHXDMSA-UHFFFAOYSA-N 0.000 description 2
- 125000001570 methylene group Chemical group [H]C([H])([*:1])[*:2] 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 150000002894 organic compounds Chemical class 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 241000699666 Mus <mouse, genus> Species 0.000 description 1
- JUJWROOIHBZHMG-UHFFFAOYSA-N Pyridine Chemical group C1=CC=NC=C1 JUJWROOIHBZHMG-UHFFFAOYSA-N 0.000 description 1
- 125000003277 amino group Chemical group 0.000 description 1
- 238000012822 chemical development Methods 0.000 description 1
- 125000003636 chemical group Chemical group 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 150000001993 dienes Chemical class 0.000 description 1
- 239000003814 drug Substances 0.000 description 1
- 229940079593 drug Drugs 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 125000001495 ethyl group Chemical group [H]C([H])([H])C([H])([H])* 0.000 description 1
- 125000004672 ethylcarbonyl group Chemical group [H]C([H])([H])C([H])([H])C(*)=O 0.000 description 1
- 125000005647 linker group Chemical group 0.000 description 1
- 125000001434 methanylylidene group Chemical group [H]C#[*] 0.000 description 1
- 229930014626 natural product Natural products 0.000 description 1
- 229910052757 nitrogen Inorganic materials 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/126—Character encoding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90344—Query processing by using string matching techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/151—Transformation
- G06F40/154—Tree transformation for tree-structured or markup documents, e.g. XSLT, XSL-FO or stylesheets
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于化学编辑器的化合物名称生成方法和装置,所述方法包括:获取待命名化合物的化学结构式,并基于预设规则对所述化学结构式进行拆解,以得到若干连接组分;分别将各所述连接组分拆分为多个结构片段,并对各所述结构片段命名,以得到各所述结构片段的名称;将各所述结构片段的名称按预设策略进行组织,以生成与所述结构片段对应的所述连接组分的名称;将各所述连接组分的名称依次相连接,且相邻两所述连接组分的名称之间以分开分隔,以生成所述待命名化合物的名称。解决了现有技术中化学物命名困难,命名错误率较高的技术问题。
Description
技术领域
本发明涉及化学信息技术领域,具体涉及一种基于化学编辑器的化合物名称生成方法及装置。
背景技术
现有的化学编辑器,尤其是网页版化学编辑器无法自动为化合物命名,在使用时,需要由用户自行为化合物进行命名。而对于结构复杂的化合物,如药物分子、天然产物,人工自行命名过程复杂,涉及规则众多,实际操作中容易出现命名错误。
发明内容
为此,本发明实施例提供一种基于化学编辑器的化合物名称生成方法及装置,以至少部分解决现有技术中化学物命名困难,命名错误率较高的技术问题。
为了实现上述目的,本发明实施例提供如下技术方案:
一种基于化学编辑器的化合物名称生成方法,所述方法包括:
获取待命名化合物的化学结构式,并基于预设规则对所述化学结构式进行拆解,以得到若干连接组分,每一个组分内的原子相互连接;
分别将各所述连接组分拆分为多个结构片段,并对各所述结构片段命名,以得到各所述结构片段的名称;
将各所述结构片段的名称按预设策略进行组织,以生成与所述结构片段对应的所述连接组分的名称;
将各所述连接组分的名称依次相连接,且相邻两所述连接组分的名称之间以分开分隔,以生成所述待命名化合物的名称。
进一步地,获取待命名化合物的化学结构式,并基于预设规则对所述化学结构式进行拆解,以得到若干连接组分,每一个组分内的原子相互连接,具体包括:
响应于前端的输入信息,获取待命名化合物的化学结构式;
通过深度优先搜索方法遍历所述化学结构式,并得到所述化学结构式中所有相互连接的部分;
将所有相互连接的部分逐一进行拆分和提取,以得到所述连接组分。
进一步地,响应于前端的输入信息,获取待命名化合物的化学结构式,具体包括:
判定所述输入信息为化学结构式,则以该输入的化学结构式作为待命名化合物的化学结构式;
判定所述输入信息为缩写字符串,则:
将所述缩写字符串进行拆分,以形成表示一个非氢原子及其连接的氢或表示一个基团缩写的目标字符串或者表示单键双键的目标字符串;
将所述目标字符串拆分得到的多个字符串单元,并将各所述字符串单元与预存的字符串库映射成对应的原子或结构;
将映射得到的原子和结构进行连接,并将连接后的结构式作为所述待命名化合物的化学结构式。
进一步地,分别将各所述连接组分拆分为多个结构片段,并对各所述结构片段命名,以得到各所述结构片段的名称,具体包括:
在各所述结构片段中确定母体结构;
分析所述母体结构的结构特征,并基于所述结构特征对所述母体结构进行命名,以得到所述母体结构的名称;
以母体结构中的每一个原子作为起始点,搜索母体结构之外的结构片段作为母体结构的子结构片段;
基于所述结构片段的类型,对各所述子结构片段进行命名,以得到所述子结构片段的名称;
将所述母体结构的名称作为所述结构片段的主体名称,将各所述子结构片段的名称作为所述结构片段的取代基名称,以得到各所述结构片段的名称。
进一步地,在各所述结构片段中确定母体结构,具体包括:
分别获取各所述连接组分中包含的官能团;
根据预存的优先级,在各所述官能团中,提取优先级高于阈值的至少一个官能团作为主官能团;
获取各所述主官能团对应的所述结构片段;
提取包含所述主官能团数量最多的结构片段作为所述母体结构。
进一步地,分析所述母体结构的结构特征,具体包括:
判定所述母体结构为链状结构,则按预设条件搜索得到主链,并对碳链中的每一个碳原子进行编号;
判定所述母体结构为环状结构,则对所述环状结构中的各环进行命名。
本发明还提供一种基于化学编辑器的化合物名称生成装置,所述装置包括:
连接组分生成单元,用于获取待命名化合物的化学结构式,并基于预设规则对所述化学结构式进行拆解,以得到至少两个连接组分;
结构片段生成单元,用于分别将各所述连接组分拆分为多个结构片段,并对各所述结构片段命名,以得到各所述结构片段的名称;
连接组分名称生成单元,用于将各所述结构片段的名称按预设策略进行组织,以生成与所述结构片段对应的所述连接组分的名称;
化合物名称生成单元,用于将各所述连接组分的名称依次相连接,且相邻两所述连接组分的名称之间以分开分隔,以生成所述待命名化合物的名称。
本发明还提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如上所述方法的步骤。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述方法的步骤。
本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上所述方法的步骤。
本发明所提供的基于化学编辑器的化合物名称生成方法和装置,通过获取待命名化合物的化学结构式,并基于预设规则对所述化学结构式进行拆解,以得到若干连接组分;分别将各所述连接组分拆分为多个结构片段,并对各所述结构片段命名,以得到各所述结构片段的名称;将各所述结构片段的名称按预设策略进行组织,以生成与所述结构片段对应的所述连接组分的名称;将各所述连接组分的名称依次相连接,且相邻两所述连接组分的名称之间以分开分隔,以生成所述待命名化合物的名称。
这样,该化合物名称生成方法和装置通过将输入的化学结构式进行拆解和组合得到化合物名称,实现了化合物名称的自动生成,替代了人工命名,具有较高的命名效率和准确性,解决了现有技术中通过人工方式对化学物命名导致的命名困难和命名错误率较高的技术问题。
附图说明
为了更清楚地说明本发明的实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是示例性的,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图引伸获得其它的实施附图。
本说明书所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本发明可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本发明所能产生的功效及所能达成的目的下,均应仍落在本发明所揭示的技术内容得能涵盖的范围内。
图1为本发明所提供的基于化学编辑器的化合物名称生成方法一种具体实施方式的流程图;
图2为图1所示方法中化学式获取和拆解的流程图;
图3为图1所示方法中缩写字符串转换和拆解的流程图;
图4为一个实施例中化合物结构示意图;
图5为图1所示方法中连接组件命名的流程图;
图6为本发明所提供的基于化学编辑器的化合物名称生成方法一种具体实施方式的结构框图;
图7为本发明所提供的一种计算机设备的结构框图。
具体实施方式
以下由特定的具体实施例说明本发明的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本发明的其他优点及功效,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了弥补现有化学编辑器的不足,便于化学工作者对化合物进行命名,本发明根据IUPAC有机化合物命名规则,提供了一种化合物名称生成方法和装置,该方法和装置尤其适用于有机化合物的名称生成。在该实施例中,该名称生成方法和装置基于Indigo+Ketcher化学开发库以及B/S架构的化合物命名系统,用户可以在浏览器内编辑化合物的化学结构式,前端将结构信息传递至后端,后端对结构进行解析、命名,将命名结果返回前端,其中,前端是指浏览器端,后端是指处理器端。
请参考图1,图1为本发明所提供的基于化学编辑器的化合物名称生成方法一种具体实施方式的流程图。
在一种具体实施方式中,如图1所示,本发明所提供的基于化学编辑器的化合物名称生成方法包括以下步骤:
S101:获取待命名化合物的化学结构式,并基于预设规则对所述化学结构式进行拆解,以得到若干连接组分。具体地,当获取前端输入的化学结构式以后,找到化学结构式对应的分子图中可以相互连接的部分,并逐一拆分出来,每一个相互连接的部分视为一个完整的分子(即为“连接组分”),每一个化学结构式中包括若干连接组分,并在后续步骤中对连接组分逐一进行命名。
S102:分别将各所述连接组分拆分为多个结构片段,并对各所述结构片段命名,以得到各所述结构片段的名称。具体地,首先确定各连接组分中是否有官能团,若有,选出一个官能团作为主官能团;根据官能团所在的结构,从主官能团连接的结构(链状结构或环状结构)中筛选出一个作为化合物的主结构;进一步解析主结构,对于链状结构,需要分析碳链的长度以及各原子的编号,对于环状结构,需要分析环结构中包含有哪些已经定义名称的环、哪个环是主环、环系统中各原子的编号,解析各个结构片段中的立体构型和顺反构型,并对各个结构片段进行命名。
S103:将各所述结构片段的名称按预设策略进行组织,以生成与所述结构片段对应的所述连接组分的名称。也就是说,将各个片段的名称组织起来,从而完成对一个连接组分的完整命名。
S104:将各所述连接组分的名称依次相连接,且相邻两所述连接组分的名称之间以分开分隔,以生成所述待命名化合物的名称。具体地,在对所有链接组分进行命名之后,将各个连接组分的名称连接起来,以分号分开,完成对整个化合物的命名。
在一些实施例中,如图2所示,获取待命名化合物的化学结构式,并基于预设规则对所述化学结构式进行拆解,以得到若干连接组分,具体包括以下步骤:
S201:响应于前端的输入信息,获取待命名化合物的化学结构式;
S202:通过深度优先搜索方法(DFS)遍历所述化学结构式,并得到所述化学结构式中所有相互连接的部分;
S203:将所有相互连接的部分逐一进行拆分和提取,以得到所述连接组分。
在实际的使用场景中,用户在浏览器输入的可以是化学结构式,也可能输入的是相关缩写或者简写的字符串,为了提高方法适用性,在上述实施例中,响应于前端的输入信息,获取待命名化合物的化学结构式,具体包括以下步骤:
判定所述输入信息为化学结构式,则以该输入的化学结构式作为待命名化合物的化学结构式;
判定所述输入信息为缩写字符串,则先进行字符串向分子结构的转换,再进入后续结构拆解步骤。
其中,如图3所示,缩写字符串的转换或拆解方法包括以下步骤:
S301:将所述缩写字符串进行拆分,以形成表示一个非氢原子及其连接的氢或表示一个基团缩写的目标字符串或者表示单键双键的目标字符串;
S302:将所述目标字符串拆分得到的多个字符串单元,并将各所述字符串单元与预存的字符串库映射成对应的原子或结构;
S303:将映射得到的原子和结构进行连接,并将连接后的结构式作为所述待命名化合物的化学结构式。
在一个具体场景中,在拆解过程之前,先将表示元素符号的字符串与对应的原子进行映射,将有机化学基团缩写的字符串与对应的化学结构进行映射,以字典方式进行保存。
当接收到缩写字符串后,对用户输入的字符串进行拆分,拆分为表示一个非氢原子及其连接的氢或表示一个基团缩写的字符串或者表示单键双键的字符串,例如,“CH=CHNHCH2COEt”,拆分后成了“CH”、“=”、“CH”、“NH”、“CH2”、“C”、“O”、“Et”八个字符串单元,其中CH表示连接了一个氢原子的碳原子,即次甲基,=表示双键,CH2表示连接了两个氢原子的碳原子,即亚甲基,NH表示氨基、C表示碳原子、O表示氧原子、Et表示乙基。
将字符串拆分得到的各个字符串单元根据字典中的存储数据,映射成对应的原子或结构。
将解析出来的原子和结构片段以一定方式进行连接,一般是第i个结构片段与第(i-1)个结构片段相连接,连接的方式一般以单键相邻,当显示两个结构片段之间解析出有表示双键的字符串“=”的时候,此两个结构片段以双键相连接。在连接两个原子时还需要考虑前一个原子的化合价,例如“-CH2CN”,第一个片段中碳原子有两个氢,且以单键与母体结构相连,那么这个碳原子还剩下一个可用的价,第二个片段的碳原子与第一个碳原子只能以单键相连接。此时第二个片段的碳原子剩下三个可用的价,当第三个片段的氮与之相连接时,由于第二个片段的碳原子没有氢,就以三键的形式连接。连接时另外需要考虑一些习惯的写法,例如“-COOCH3”,第一个氧原子与第一个碳原子以双键相连接,而第二个原子以单键与第一个碳原子相连接,而非与第一个氧原子连接。
将以上步骤解析的结构与原有的母体结构相连接,同时保留输入字符串,作为母体结构的取代基,例如图4中,吡啶环作为母体结构,输入的“-CH2CH2NHBoc”字符串仍然予以保留。在使用时,用户首先在浏览器界面的结构编辑画布上绘制结构主体,然后选中需要输入的位置,点击文本框,输入结构简写或基团缩写。当输入完成鼠标离开文本框失去焦点时,浏览器会将结构主体和输入字符串的信息传递到后端,其中输入的字符串作为Molfile中的伪原子,在后端系统中,将这一伪原子解析为对应的结构,并作为主体结构的取代基。最后将解析得到的完整分子的Molfile字符串返回前端。解析完成后,输入的字符串仍予以保留,当输入的结构有误时,标红予以提示。
在一些实施例中,如图5所示,分别将各所述连接组分拆分为多个结构片段,并对各所述结构片段命名,以得到各所述结构片段的名称,具体包括以下步骤:
S501:在各所述结构片段中确定母体结构;
S502:分析所述母体结构的结构特征,并基于所述结构特征对所述母体结构进行命名,以得到所述母体结构的名称;
S503:以母体结构中的每一个原子作为起始点,搜索母体结构之外的结构片段作为母体结构的子结构片段;具体地,以母体结构中的每一个原子作为起始点,搜索母体结构之外的结构片段作为母体结构的子结构片段,这些子结构片段是一条链状结构或者是若干个环组成的环系统,若链状结构中有支链,则视这条支链为链状结构的子结构片段,若链状结构中有杂原子,则以杂原子为界,将链状结构进行拆分,保留碳链部分,杂原子及其相连部分作为碳链的子结构片段。由此就构建出了一个树状结构,树的每一个节点就是一个子结构片段,树的根节点就是母体结构。
S504:基于所述结构片段的构型,对各所述子结构片段进行命名,以得到所述子结构片段的名称。具体地,分析各个结构片段中立体构型和顺反构型,包括四面体结构的R/S构型、全二烯烃的R/S构型、双键的E/Z构型等构型信息。
S505:将所述母体结构的名称作为所述结构片段的主体名称,将各所述子结构片段的名称作为所述结构片段的取代基名称,以得到各所述结构片段的名称。也就是说,将各个片段的名称组织起来,名称的主体是母体结构的名称,各个结构片段的子结构片段则作为其取代基,其名称包含在各个结构片段的名称之中。
具体地,对步骤S102中得到的每一个结构片段进行命名,命名的顺序为从树状结构中的叶节点开始,不断向根节点递进,直至最终完成对母体结构的命名。其中对于每一个结构片段,若有子结构片段,则需要加入其子结构片段的名称作为取代基,并标注出取代基所在的位置。
其中,步骤S501中,在各所述结构片段中确定母体结构,具体包括:
分别获取各所述连接组分中包含的官能团;具体地,根据预存的优先级,在各所述官能团中,提取优先级高于阈值的至少一个官能团作为主官能团;也就是说,根据预先定义的官能团的结构和优先级,通过结构匹配算法,搜索连接组分中含有哪些官能团,在含有的官能团中,找出优先级最靠前的官能团作为主官能团。
获取各所述主官能团对应的所述结构片段;在找出主官能团后,找到与主官能团连接的结构片段,这个结构片段是一个链状结构或环状结构,选取连接有最多数量的主官能团的结构片段作为结构母体,这个结构母体的名称就是整个连接组分的名称主体,而其他结构片段(链状或环状结构)在命名中则被视为这个母体结构的取代基。
提取包含所述主官能团数量最多的结构片段作为所述母体结构。
其中,分析所述母体结构的结构特征,具体包括以下步骤:
判定所述母体结构为链状结构,则按预设条件搜索得到主链,并对碳链中的每一个碳原子进行编号;
判定所述母体结构为环状结构,则对所述环状结构中的各环进行命名。
具体地,在一些实施例中,分析母体结构的结构特征可采用以下过程。对于链状结构,搜索碳链,找出最长的、支链最多的、取代基位置最低的碳链作为主链,并对碳链中的每一个碳原子进行编号。对于环状结构,通过结构匹配的方式,搜索这个结构中含有哪些已定义名称的环,对于未定义名称的环,则根据IUPAC蓝皮书中对单环命名的规则进行命名。再根据IUPAC蓝皮书的规则,选择一个已定义名称的环或单环作为主环,以这个主环,通过深度优先搜索,找到其他环以及各个环之间的连接方式(并环、螺环、桥环)。在确定了环之间的连接方式之后,根据IUPAC蓝皮书中对环编号的规则,对整个环状结构的原子进行编号。
在一些实施例中,本发明基于浏览器/服务器架构(B/S架构),以Ketcher为前端浏览器开发框架,以Indigo为后端结构解析引擎,其中Ketcher是基于JavaScript开发的化学结构编辑框架,Indigo则是以C++为开发语言的化学信息学软件包,本发明的核心算法基于Indigo框架。
化学工作者在使用过程中,首先在浏览器界面的结构绘制画布上将需要命名的化学结构绘制出来,然后选中绘制的结构,再点击命名按钮。此时,浏览器会将绘制的结构以Molfile或SMILES字符串的形式传递到后端,后端系统将Molfile或SMILES字符串解析为分子结构,再按照以上分析结构、命名化合物的步骤,得到化合物的名称,最后将化合物名称以字符串形式传递回前端。
在上述具体实施方式中,本发明所提供的基于化学编辑器的化合物名称生成方法,通过获取待命名化合物的化学结构式,并基于预设规则对所述化学结构式进行拆解,以得到至少两个连接组分;分别将各所述连接组分拆分为多个结构片段,并对各所述结构片段命名,以得到各所述结构片段的名称;将各所述结构片段的名称按预设策略进行组织,以生成与所述结构片段对应的所述连接组分的名称;将各所述连接组分的名称依次相连接,且相邻两所述连接组分的名称之间以分开分隔,以生成所述待命名化合物的名称。
这样,该化合物名称生成方法和装置通过将输入的化学结构式进行拆解和组合得到化合物名称,实现了化合物名称的自动生成,替代了人工命名,具有较高的命名效率和准确性,解决了现有技术中通过人工方式对化学物命名导致的命名困难和命名错误率较高的技术问题。
除了上述方法,本发明还提供一种基于化学编辑器的化合物名称生成装置,如图6所示,所述装置包括:
连接组分生成单元100,用于获取待命名化合物的化学结构式,并基于预设规则对所述化学结构式进行拆解,以得到至少两个连接组分;
结构片段生成单元200,用于分别将各所述连接组分拆分为多个结构片段,并对各所述结构片段命名,以得到各所述结构片段的名称;
连接组分名称生成单元300,用于将各所述结构片段的名称按预设策略进行组织,以生成与所述结构片段对应的所述连接组分的名称;
化合物名称生成单元400,用于将各所述连接组分的名称依次相连接,且相邻两所述连接组分的名称之间以分开分隔,以生成所述待命名化合物的名称。
在上述具体实施方式中,本发明所提供的基于化学编辑器的化合物名称生成装置,通过获取待命名化合物的化学结构式,并基于预设规则对所述化学结构式进行拆解,以得到若干连接组分;分别将各所述连接组分拆分为多个结构片段,并对各所述结构片段命名,以得到各所述结构片段的名称;将各所述结构片段的名称按预设策略进行组织,以生成与所述结构片段对应的所述连接组分的名称;将各所述连接组分的名称依次相连接,且相邻两所述连接组分的名称之间以分开分隔,以生成所述待命名化合物的名称。
这样,该化合物名称生成方法和装置通过将输入的化学结构式进行拆解和组合得到化合物名称,实现了化合物名称的自动生成,替代了人工命名,具有较高的命名效率和准确性,解决了现有技术中通过人工方式对化学物命名导致的命名困难和命名错误率较高的技术问题。
在一个实施例中,本发明还提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和模型预测。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的模型预测用于存储静态信息和动态信息数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现上述方法实施例中的步骤。
本领域技术人员可以理解,图7中示出的结构,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
与上述实施例相对应的,本发明实施例还提供了一种计算机存储介质,该计算机存储介质中包含一个或多个程序指令。其中,所述一个或多个程序指令用于被一种砝码检定系统执行如上所述的方法。
本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述方法。
在本发明实施例中,处理器可以是一种集成电路芯片,具有信号的处理能力。处理器可以是通用处理器、数字信号处理器(Digital Signal Processor,简称DSP)、专用集成电路(Application Specific工ntegrated Circuit,简称ASIC)、现场可编程门阵列(FieldProgrammable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。处理器读取存储介质中的信息,结合其硬件完成上述方法的步骤。
存储介质可以是存储器,例如可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。
其中,非易失性存储器可以是只读存储器(Read-Only Memory,简称ROM)、可编程只读存储器(Programmable ROM,简称PROM)、可擦除可编程只读存储器(Erasable PROM,简称EPROM)、电可擦除可编程只读存储器(Electrically EPROM,简称EEPROM)或闪存。
易失性存储器可以是随机存取存储器(Random Access Memory,简称RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,简称SRAM)、动态随机存取存储器(Dynamic RAM,简称DRAM)、同步动态随机存取存储器(Synchronous DRAM,简称SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data RateSDRAM,简称DDRSDRAM)、增强型同步动态随机存取存储器(EnhancedSDRAM,简称ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,简称SLDRAM)和直接内存总线随机存取存储器(DirectRambus RAM,简称DRRAM)。
本发明实施例描述的存储介质旨在包括但不限于这些和任意其它适合类型的存储器。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件与软件组合来实现。当应用软件时,可以将相应功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
以上的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
Claims (10)
1.一种基于化学编辑器的化合物名称生成方法,其特征在于,所述方法包括:
获取待命名化合物的化学结构式,并基于预设规则对所述化学结构式进行拆解,以得到若干连接组分,每一个组分内的原子相互连接;
分别将各所述连接组分拆分为多个结构片段,并对各所述结构片段命名,以得到各所述结构片段的名称;
将各所述结构片段的名称按预设策略进行组织,以生成与所述结构片段对应的所述连接组分的名称;
将各所述连接组分的名称依次相连接,且相邻两所述连接组分的名称之间以分开分隔,以生成所述待命名化合物的名称。
2.根据权利要求1所述的化合物名称生成方法,其特征在于,获取待命名化合物的化学结构式,并基于预设规则对所述化学结构式进行拆解,以得到至少两个连接组分,具体包括:
响应于前端的输入信息,获取待命名化合物的化学结构式;
通过深度优先搜索方法遍历所述化学结构式,并得到所述化学结构式中所有相互连接的部分;
将所有相互连接的部分逐一进行拆分和提取,以得到所述连接组分。
3.根据权利要求2所述的化合物名称生成方法,其特征在于,响应于前端的输入信息,获取待命名化合物的化学结构式,具体包括:
判定所述输入信息为化学结构式,则以该输入的化学结构式作为待命名化合物的化学结构式;
判定所述输入信息为缩写字符串,则:
将所述缩写字符串进行拆分,以形成表示一个非氢原子及其连接的氢或表示一个基团缩写的目标字符串或者表示单键双键的目标字符串;
将所述目标字符串拆分得到的多个字符串单元,并将各所述字符串单元与预存的字符串库映射成对应的原子或结构;
将映射得到的原子和结构进行连接,并将连接后的结构式作为所述待命名化合物的化学结构式。
4.根据权利要求1所述的化合物名称生成方法,其特征在于,分别将各所述连接组分拆分为多个结构片段,并对各所述结构片段命名,以得到各所述结构片段的名称,具体包括:
在各所述结构片段中确定母体结构;
分析所述母体结构的结构特征,并基于所述结构特征对所述母体结构进行命名,以得到所述母体结构的名称;
以母体结构中的每一个原子作为起始点,搜索母体结构之外的结构片段作为母体结构的子结构片段;
基于所述结构片段的构型,对各所述子结构片段进行命名,以得到所述子结构片段的名称;
将所述母体结构的名称作为所述结构片段的主体名称,将各所述子结构片段的名称作为所述结构片段的取代基名称,以得到各所述结构片段的名称。
5.根据权利要求4所述的化合物名称生成方法,其特征在于,在各所述结构片段中确定母体结构,具体包括:
分别获取各所述连接组分中包含的官能团;
根据预存的优先级,在各所述官能团中,提取优先级高于阈值的至少一个官能团作为主官能团;
获取各所述主官能团对应的所述结构片段;
提取包含所述主官能团数量最多的结构片段作为所述母体结构。
6.根据权利要求4所述的化合物名称生成方法,其特征在于,分析所述母体结构的结构特征,具体包括:
判定所述母体结构为链状结构,则按预设条件搜索得到主链,并对碳链中的每一个碳原子进行编号;
判定所述母体结构为环状结构,则对所述环状结构中的各环进行命名。
7.一种基于化学编辑器的化合物名称生成装置,其特征在于,所述装置包括:
连接组分生成单元,用于获取待命名化合物的化学结构式,并基于预设规则对所述化学结构式进行拆解,以得到若干连接组分,每一个组分内的原子相互连接;
结构片段生成单元,用于分别将各所述连接组分拆分为多个结构片段,并对各所述结构片段命名,以得到各所述结构片段的名称;
连接组分名称生成单元,用于将各所述结构片段的名称按预设策略进行组织,以生成与所述结构片段对应的所述连接组分的名称;
化合物名称生成单元,用于将各所述连接组分的名称依次相连接,且相邻两所述连接组分的名称之间以分开分隔,以生成所述待命名化合物的名称。
8.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6任一项所述方法的步骤。
9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述方法的步骤。
10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210375989.9A CN114722247A (zh) | 2022-04-11 | 2022-04-11 | 基于化学编辑器的化合物名称生成方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210375989.9A CN114722247A (zh) | 2022-04-11 | 2022-04-11 | 基于化学编辑器的化合物名称生成方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114722247A true CN114722247A (zh) | 2022-07-08 |
Family
ID=82244309
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210375989.9A Pending CN114722247A (zh) | 2022-04-11 | 2022-04-11 | 基于化学编辑器的化合物名称生成方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114722247A (zh) |
-
2022
- 2022-04-11 CN CN202210375989.9A patent/CN114722247A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102479252B (zh) | 查询语句转换装置及查询语句转换方法 | |
CN106293677B (zh) | 一种代码转换方法及装置 | |
US10664655B2 (en) | Method and system for linear generalized LL recognition and context-aware parsing | |
US20190266271A1 (en) | Systems and Methods for Converting and Resolving Structured Queries as Search Queries | |
Chen et al. | Spreadsheetcoder: Formula prediction from semi-structured context | |
CN109582909A (zh) | 网页自动生成方法、装置、电子设备和存储介质 | |
US9330090B2 (en) | Translating natural language descriptions to programs in a domain-specific language for spreadsheets | |
CN111142850B (zh) | 一种基于深度神经网络的代码片段推荐方法与装置 | |
JPH0689302A (ja) | 辞書メモリ | |
WO2013158758A1 (en) | Semantic source code searching | |
CN109710307B (zh) | 基于Python代码重建抽象语法树的方法、电子设备 | |
CN108595437B (zh) | 文本查询纠错方法、装置、计算机设备和存储介质 | |
CN106844380A (zh) | 一种数据库操作方法、信息处理方法和相应装置 | |
CN111178076A (zh) | 命名实体识别与链接方法、装置、设备及可读存储介质 | |
CN109522550A (zh) | 文本信息纠错方法、装置、计算机设备和存储介质 | |
CN114330251A (zh) | 文本生成方法、模型的训练方法、设备及存储介质 | |
Yang et al. | A language model for statements of software code | |
CN114722247A (zh) | 基于化学编辑器的化合物名称生成方法及装置 | |
CN114090722A (zh) | 查询内容自动补全的方法及装置 | |
US7409619B2 (en) | System and methods for authoring domain specific rule-driven data generators | |
US12126368B2 (en) | Non-transitory computer-readable storage medium for storing information processing program, information processing method, and information processing device | |
CN112201221B (zh) | 一种多音字待标语料的筛选方法、装置、设备及存储介质 | |
CN112148370A (zh) | 机器代码生成方法、装置、设备及计算机可读存储介质 | |
KR20050065015A (ko) | 프로그램의 복제 여부를 검사하는 방법 및 시스템 | |
EP3167382A1 (en) | Method and system for linear generalized ll recognition and context-aware parsing |
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 |