CN111798939A - 一种晶体结构数据库构建方法及结构搜索方法 - Google Patents
一种晶体结构数据库构建方法及结构搜索方法 Download PDFInfo
- Publication number
- CN111798939A CN111798939A CN202010488751.8A CN202010488751A CN111798939A CN 111798939 A CN111798939 A CN 111798939A CN 202010488751 A CN202010488751 A CN 202010488751A CN 111798939 A CN111798939 A CN 111798939A
- Authority
- CN
- China
- Prior art keywords
- crystal
- crystal structure
- fingerprint
- initial
- database
- 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
- 239000013078 crystal Substances 0.000 title claims abstract description 546
- 238000000034 method Methods 0.000 title claims abstract description 43
- 238000010276 construction Methods 0.000 title claims abstract description 14
- 230000000052 comparative effect Effects 0.000 claims abstract description 7
- 239000013598 vector Substances 0.000 claims description 34
- 239000011159 matrix material Substances 0.000 claims description 26
- 239000000126 substance Substances 0.000 claims description 9
- 239000000463 material Substances 0.000 abstract description 12
- 238000004458 analytical method Methods 0.000 abstract description 4
- 238000007796 conventional method Methods 0.000 abstract description 4
- 238000004364 calculation method Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 238000002050 diffraction method Methods 0.000 description 2
- 238000000547 structure data Methods 0.000 description 2
- 238000003775 Density Functional Theory Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 238000010362 genome editing Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000704 physical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
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/90—Programming languages; Computing architectures; Database systems; Data warehousing
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16C—COMPUTATIONAL CHEMISTRY; CHEMOINFORMATICS; COMPUTATIONAL MATERIALS SCIENCE
- G16C60/00—Computational materials science, i.e. ICT specially adapted for investigating the physical or chemical properties of materials or phenomena associated with their design, synthesis, processing, characterisation or utilisation
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)
- Software Systems (AREA)
- Chemical & Material Sciences (AREA)
- Crystallography & Structural Chemistry (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及晶体材料结构数据库的构建领域,更具体地,涉及一种晶体结构数据库构建方法及结构搜索方法,构建方法包括以下步骤:步骤S1:从晶体结构文件中获取初始晶体结构信息;步骤S2:从数据库中获取比较集;所述比较集为数据库查重后的晶体结构信息的集合;步骤S3:将初始晶体结构信息与比较集中的晶体结构信息进行匹配;若比较集中存在与初始晶体结构相同的晶体结构,将初始晶体结构标记为相似结构,否则根据初始晶体结构信息计算出初始晶体指纹后,将初始晶体结构信息和初始晶体指纹存入数据库。本发明能有效地规避了常规方法在材料分析中的误差,避免了传统晶体分类方法中数据库产生的晶体数据的冗余。
Description
技术领域
本发明涉及晶体材料结构数据库的构建领域,更具体地,涉及一种晶体结构数据库构建方法及结构搜索方法。
背景技术
在材料基因组工程背景下的新材料研发过程中,理论化学计算的指导地位日趋显要。晶体结构文件作为量化计算的重要输入文件之一,其常用的数据库的发展趋势主要分为了两个部分,一部分包含了包括实验结构和理论结构的数据库,如无机晶体材料数据库(ICSD,Inorganic Crystal Structure Database)、晶体学开放数据库(COD,Crystallography Open Database)、美国矿物学家晶体结构数据库(AMCSD,AmericanMineralogist Crystal Structure Database)等,另一部分则是通过理论算法如密度泛函理论和遗传算法等获得亚稳态或目前实验上仍未实现合成的晶体物质。这些数据库或提供通过晶体结构空间群、元素种类、化学式等条件在线查询下载晶体结构信息、或提供数据给查询已计算的物性数据的页面,还有的提供数据给PC端软件(如ICSD,可实现晶体结构数据离线保存,价格较高且更新慢)。
随着存储晶体结构文件的数据库的普及,这类型数据库的缺陷不可以避免地暴露出来。主要的缺陷之一就是由于缺少晶体结构文件之间的比对算法导致了数据库在查询结果上有不同程度的冗余,冗余很容易造成计算工作量的巨大甚至是经济上的损失。这些冗余需要技术人员利用经验和知识进行筛选才能清除,而清除冗余最重要的步骤是要判断数据库中哪些晶体结构为相似结构。物质结构决定性能,晶体结构相似性分析的缺失一直是分析和预测物质性能的制约。众所周知,在传统的晶体识别方法中人们往往依赖于由晶体中不同原子之间的键长和键角所决定的空间群分布,然而这一方法深刻地受到了实验因素的影响,不同的实验环境差异所导致的晶体数据的微小变化往往会造成对不同晶体是否具有结构相似性的误判,这一现象在包含了上万甚至上百万的晶体结构数据库中表现得最为突出,不利于当今高通量的材料计算和新材料的研发。因此,传统方法不再适用于现阶段计算机对上百万晶体结构的处理与分析。目前亟需一种能准确判断并清除晶体相似结构、提高数据库性能的晶体结构数据库构建及结构搜索方法。
发明内容
为了解决上述问题,本发明提供一种晶体结构数据库构建方法及结构搜索方法,该方法能有效地规避了常规方法在材料分析中的误差,避免了传统晶体分类方法中数据库产生的晶体数据的冗余。
本发明采取的技术方案是:
一种晶体结构数据库构建方法,包括以下步骤:
步骤S1:从晶体结构文件中获取初始晶体结构信息;
步骤S2:从数据库中获取比较集;
所述比较集为数据库查重后的晶体结构信息的集合;
步骤S3:将初始晶体结构信息与比较集中的晶体结构信息进行匹配;
若比较集中存在与初始晶体结构相同的晶体结构,将初始晶体结构标记为相似结构,否则根据初始晶体结构信息计算出初始晶体指纹后,将初始晶体结构信息和初始晶体指纹存入数据库。
具体地,从已有的晶体结构文件中读取晶体结构信息,将读取出来的晶体结构信息定义为初始晶体结构信息,然后从数据库中读取存储在库中的晶体结构信息,读取之前,数据库进行查重,将结构相同的晶体结构信息删除后,根据所有的晶体结构信息建立比较集,将初始晶体结构信息与比较集中的晶体结构信息逐一比较。若数据库中存在有与初始晶体结构信息相同结构的晶体结构,则将初始晶体结构标记为相似结构,否则初始晶体结构信息对应的晶体结构为新结构,将新结构存入数据库。
进一步地,所述步骤S3包括:
步骤S3.1:将初始晶体结构的原子数、元素组成和比较集中晶体结构的原子数、元素组成进行匹配;
步骤S3.2:若比较集中存在晶体结构和初始晶体结构的原子数、元素组成相同,执行步骤S3.3,否则根据初始晶体结构信息计算出初始晶体指纹,执行步骤S3.6;
步骤S3.3:根据比较集中和初始晶体结构的原子数、元素组成相同的晶体结构,建立对比集;根据对比集中所有的晶体结构信息计算每个晶体结构信息对应的晶体指纹,建立对比晶体指纹集;
步骤S3.4:根据初始晶体结构信息计算出初始晶体指纹;
步骤S3.5:将初始晶体指纹和对比晶体指纹集中所有的晶体指纹进行比较,若比较结果为初始晶体结构和对比集中所有的晶体结构都不相似,执行步骤S3.6,否则将初始晶体结构标记为相似结构后结束流程;
步骤S3.6:将初始晶体指纹和初始晶体结构信息存入数据库。
具体地,初始晶体结构与比较集中的晶体结构比较过程为:首先,若比较集中没有原子数、元素组成与初始晶体结构的原子数、元素组成相同的晶体结构,则直接在数据库中创建初始晶体结构的原子数与元素组成,并且根据初始晶体结构信息计算出初始晶体指纹、将晶体结构信息及晶体指纹存入数据库;若比较集中存在与初始晶体结构的原子数相同的晶体结构,但该晶体结构的元素组成与初始晶体结构的元素组成不相同,则在数据库中找到与初始晶体结构的原子数相同的晶体结构节点,在该节点下创建初始晶体结构的元素组成,并且根据初始晶体结构信息计算出初始晶体指纹,将晶体结构信息及晶体指纹存入数据库;若比较集中存在与初始晶体结构的原子数、元素组成相同的晶体结构,则计算出该晶体结构的晶体指纹,建立对比晶体指纹集,再根据初始晶体结构信息计算出初始晶体指纹,然后,将初始晶体指纹与对比晶体指纹集中的所有对比晶体指纹逐一比较,若比较结果显示数据库中存在晶体结构与初始晶体结构相同,标记初始晶体结构为相似结构,否则将晶体结构信息及晶体指纹存入数据库。
进一步地,所述步骤S3.5包括:
步骤S3.51:逐一计算初始晶体指纹和对比晶体指纹集中所有对比晶体指纹的构型距离,根据所有的构型距离建立构型距离集;
步骤S3.52:将构型距离集中的每一个构型距离与参考值进行比较,若每一个构型距离都小于或等于参考值,初始晶体结构标记为相似结构,否则将初始晶体结构信息存入数据库;
所述参考值为用户根据需要设定的距离。
具体地,比较方法为:根据与初始晶体结构原子数、元素组成相同的晶体结构建立对比集。根据对比集中的所有晶体结构信息计算晶体指纹,建立对比晶体指纹集;根据对比晶体指纹集和初始晶体指纹进行计算,得出对比晶体指纹集中每一个晶体结构指纹和初始晶体指纹之间的构型距离,建立构型距离集;将构型距离集中每一个构型距离逐一和用户设定的参考值比较,若每一个构型距离小于或等于参考值,证明初始晶体结构与数据库中的晶体结构相同,标记为相似晶体结构,否则初始晶体结构为新的结构,将初始晶体结构对应的晶体指纹及晶体结构信息存入数据库中。
进一步地,所述根据初始晶体结构信息计算出初始晶体指纹的步骤包括:
a.计算晶体的每一个原子k的重叠矩阵;
b.根据重叠矩阵与截断函数构造矩阵Tk,计算矩阵Tk的特征值得到原子指纹矢量Vk;
c.根据原子指纹矢量Vk构成晶体指纹。
具体地,首先计算晶体的每一个原子k的重叠矩阵,然后由重叠矩阵与截断函数共同构造矩阵Tk,并由矩阵Tk的特征值得到原子指纹矢量Vk,最后根据原子指纹矢量Vk构成晶体指纹。其中,元素种类多的晶体,将引入函数来指定高斯轨道来减少计算量,得到收缩矩阵tk并最终由tk得到晶体指纹。
进一步地,所述原子指纹矢量构成晶体指纹前,所述原子指纹矢量将预设维度;当原子数太少无法生成足够的特征值来填充整个矢量时,指纹矢量末尾的条目填充为零。
具体地,在晶体结构指纹计算中由于无法预估原子数,为保证原子矢量维度一致,所述原子指纹矢量构成晶体指纹前,所述原子指纹矢量将预设维度;当原子数太少无法生成足够的特征值来填充整个矢量时,指纹矢量末尾的条目填充为零。
进一步地,所述构型距离采用匈牙利算法计算。
一种结构搜索方法,基于上述的晶体结构数据库,所述方法包括以下步骤:
从用户上传的晶体结构文件中获取用户晶体结构信息;
根据用户晶体结构信息计算出用户晶体指纹;
将用户晶体结构信息中的原子数、元素组成和晶体结构数据库中的晶体结构的原子数、元素组成进行匹配;
若晶体结构数据库中存在与用户晶体结构信息中的原子数、元素组成相匹配的晶体结构,根据相匹配的晶体结构建立晶体结构相似集,若无相匹配的晶体结构则结束流程;
根据晶体结构相似集的晶体结构信息计算每个晶体结构对应的晶体指纹,建立晶体指纹相似集;
逐一计算用户晶体指纹和晶体指纹相似集中所有相似晶体指纹的构型距离;
根据构型距离选出晶体结构相似集中与用户晶体结构相同的晶体结构,并将其作为搜索结果返回给用户。
具体地,根据上述方法建立晶体结构数据库后,可用相同的方法对晶体结构进行搜索。具体为:用户上传晶体结构文件,根据用户上传的晶体结构文件获取用户晶体结构信息,将晶体结构信息中的原子数、元素组成和晶体结构数据库中的晶体结构的原子数、元素组成进行匹配;若晶体结构数据库中没有原子数、元素组成与用户晶体结构原子数、元素组成相同的晶体结构,则表示用户上传的晶体结构为新的结构,返回此结果,并结束流程。若晶体结构数据库中存在原子数、元素组成与用户晶体结构原子数、元素组成相同的晶体结构,则根据与用户晶体结构相同原子数、元素组成的晶体结构建立相似集,计算出相似集中所有的晶体结构的晶体指纹,建立晶体指纹相似集;根据用户晶体指纹和晶体指纹相似集中计算构型距离,根据构型距离可得知相似集中哪个晶体结构与用户晶体结构相同,将与用户晶体结构相同的晶体结构作为结果返回。
进一步地,所述根据构型距离选出晶体结构相似集中与用户晶体结构相同的晶体结构包括:
根据用户需求设置的构型距离参考值;
将用户晶体结构信息和晶体指纹相似集计算出的构型距离逐一与构型距离参考值比较;
将小于或等于构型距离参考值的构型距离对应的晶体结构定义为与用户晶体结构相同的晶体结构。
具体地,根据构型距离选出晶体结构相似集中与用户晶体结构相同的晶体结构的方法为:首先,根据用户需求设置的构型距离参考值,然后将用户晶体结构信息和晶体指纹相似集计算出的构型距离逐一与构型距离参考值比较;小于或等于构型距离参考值的构型距离对应的晶体结构则是与用户晶体结构相同的晶体结构。
进一步地,所述晶体结构文件格式包含以下一种或多种:CIF、MOL、POSCAR、PDB。
具体地,晶体结构的计算机存储格式可以有多个,以增大方法的适用范围。
进一步地,所述晶体结构信息包括原子数、元素组成、元素组成类型、化学式、晶格常数、原子坐标、点群和空间群、发表文献。
与现有技术相比,本发明的有益效果为:
(1)数据库查重,能使数据库减少一部分的晶体数据的冗余。
(2)根据构型距离与用户设置的构型距离参考值对比结果,能准确地判断晶体结构是否相似,有效地规避了常规方法在材料分析中的误差。
(3)根据用户晶体指纹和相似集中晶体指纹计算构型距离,能准确快速地搜索到相似的晶体结构。
附图说明
图1为本发明的流程图;
图2为本发明晶体结构数据库关系图;
图3为本发明晶体结构信息的树型关系表的一种示例图。
具体实施方式
本发明附图仅用于示例性说明,不能理解为对本发明的限制。为了更好说明以下实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。
实施例
本实施例提供一种晶体结构数据库构建方法,图1为本发明的流程图,如图所示,包括以下步骤:
步骤S1:从晶体结构文件中获取初始晶体结构信息;
步骤S2:从数据库中获取比较集;
所述比较集为数据库查重后的晶体结构信息的集合;
步骤S3:将初始晶体结构信息与比较集中的晶体结构信息进行匹配;
若比较集中存在与初始晶体结构相同的晶体结构,将初始晶体结构标记为相似结构,否则根据初始晶体结构信息计算出初始晶体指纹后,将初始晶体结构信息和初始晶体指纹存入数据库。
具体地,从已有的晶体结构文件中读取晶体结构信息,将读取出来的晶体结构信息定义为初始晶体结构信息,然后从数据库中读取存储在库中的晶体结构信息,读取之前,数据库进行查重,将结构相同的晶体结构信息删除后,根据所有的晶体结构信息建立比较集,将初始晶体结构信息与比较集中的晶体结构信息逐一比较。若数据库中存在有与初始晶体结构信息相同结构的晶体结构,则将初始晶体结构标记为相似结构,否则初始晶体结构信息对应的晶体结构为新结构,将新结构存入数据库。
进一步地,所述步骤S3包括:
步骤S3.1:将初始晶体结构的原子数、元素组成和比较集中晶体结构的原子数、元素组成进行匹配;
步骤S3.2:若比较集中存在晶体结构和初始晶体结构的原子数、元素组成相同,执行步骤S3.3,否则根据初始晶体结构信息计算出初始晶体指纹,执行步骤S3.6;
步骤S3.3:根据比较集中和初始晶体结构的原子数、元素组成相同的晶体结构,建立对比集;根据对比集中所有的晶体结构信息计算每个晶体结构信息对应的晶体指纹,建立对比晶体指纹集;
步骤S3.4:根据初始晶体结构信息计算出初始晶体指纹;
步骤S3.5:将初始晶体指纹和对比晶体指纹集中所有的晶体指纹进行比较,若比较结果为初始晶体结构和对比集中所有的晶体结构都不相似,执行步骤S3.6,否则将初始晶体结构标记为相似结构后结束流程;
步骤S3.6:将初始晶体指纹和初始晶体结构信息存入数据库。
具体地,初始晶体结构与比较集中的晶体结构比较过程为:首先,若比较集中没有原子数、元素组成与初始晶体结构的原子数、元素组成相同的晶体结构,则直接在数据库中创建初始晶体结构的原子数与元素组成,并且根据初始晶体结构信息计算出初始晶体指纹、将晶体结构信息及晶体指纹存入数据库;图2为本发明晶体结构数据库关系图,如图所示,若比较集中存在与初始晶体结构的原子数相同的晶体结构,但该晶体结构的元素组成与初始晶体结构的元素组成不相同,则在数据库中找到与初始晶体结构的原子数相同的晶体结构节点,在该节点下创建初始晶体结构的元素组成,并且根据初始晶体结构信息计算出初始晶体指纹,将晶体结构信息及晶体指纹存入数据库;若比较集中存在与初始晶体结构的原子数、元素组成相同的晶体结构,则计算出该晶体结构的晶体指纹,建立对比晶体指纹集,再根据初始晶体结构信息计算出初始晶体指纹,然后,将初始晶体指纹与对比晶体指纹集中的所有对比晶体指纹逐一比较,若比较结果显示数据库中存在晶体结构与初始晶体结构相同,标记初始晶体结构为相似结构,否则将晶体结构信息及晶体指纹存入数据库。
进一步地,所述步骤S3.5包括:
步骤S3.51:逐一计算初始晶体指纹和对比晶体指纹集中所有对比晶体指纹的构型距离,根据所有的构型距离建立构型距离集;
步骤S3.52:将构型距离集中的每一个构型距离与参考值进行比较,若每一个构型距离都小于或等于参考值,初始晶体结构标记为相似结构,否则将初始晶体结构信息存入数据库;
所述参考值为用户根据需要设定的距离。
具体地,比较方法为:根据与初始晶体结构原子数、元素组成相同的晶体结构建立对比集。根据对比集中的所有晶体结构信息计算晶体指纹,建立对比晶体指纹集;根据对比晶体指纹集和初始晶体指纹进行计算,得出对比晶体指纹集中每一个晶体结构指纹和初始晶体指纹之间的构型距离,建立构型距离集;将构型距离集中每一个构型距离逐一和用户设定的参考值比较,若每一个构型距离小于或等于参考值,证明初始晶体结构与数据库中的晶体结构相同,标记为相似晶体结构,否则初始晶体结构为新的结构,将初始晶体结构对应的晶体指纹及晶体结构信息存入数据库中。
进一步地,所述根据初始晶体结构信息计算出初始晶体指纹的步骤包括:
a.计算晶体的每一个原子k的重叠矩阵;
b.根据重叠矩阵与截断函数构造矩阵Tk,计算矩阵Tk的特征值得到原子指纹矢量Vk;
c.根据原子指纹矢量Vk构成晶体指纹。
具体地,首先计算晶体的每一个原子k的重叠矩阵,然后由重叠矩阵与截断函数共同构造矩阵Tk,并由矩阵Tk的特征值得到原子指纹矢量Vk,最后根据原子指纹矢量Vk构成晶体指纹。其中,元素种类多的晶体,将引入函数来指定高斯轨道来减少计算量,得到收缩矩阵tk并最终由tk得到晶体指纹。
进一步地,所述原子指纹矢量构成晶体指纹前,所述原子指纹矢量将预设维度;当原子数太少无法生成足够的特征值来填充整个矢量时,指纹矢量末尾的条目填充为零。
具体地,在晶体结构指纹计算中由于无法预估原子数,为保证原子矢量维度一致,所述原子指纹矢量构成晶体指纹前,所述原子指纹矢量将预设维度;当原子数太少无法生成足够的特征值来填充整个矢量时,指纹矢量末尾的条目填充为零。
进一步地,所述构型距离采用匈牙利算法计算。
一种结构搜索方法,基于上述的晶体结构数据库,所述方法包括以下步骤:
从用户上传的晶体结构文件中获取用户晶体结构信息;
根据用户晶体结构信息计算出用户晶体指纹;
将用户晶体结构信息中的原子数、元素组成和晶体结构数据库中的晶体结构的原子数、元素组成进行匹配;
若晶体结构数据库中存在与用户晶体结构信息中的原子数、元素组成相匹配的晶体结构,根据相匹配的晶体结构建立晶体结构相似集,若无相匹配的晶体结构则结束流程;
根据晶体结构相似集的晶体结构信息计算每个晶体结构对应的晶体指纹,建立晶体指纹相似集;
逐一计算用户晶体指纹和晶体指纹相似集中所有相似晶体指纹的构型距离;
根据构型距离选出晶体结构相似集中与用户晶体结构相同的晶体结构,并将其作为搜索结果返回给用户。
具体地,根据上述方法建立晶体结构数据库后,可用相同的方法对晶体结构进行搜索。具体为:用户上传晶体结构文件,根据用户上传的晶体结构文件获取用户晶体结构信息,将晶体结构信息中的原子数、元素组成和晶体结构数据库中的晶体结构的原子数、元素组成进行匹配;若晶体结构数据库中没有原子数、元素组成与用户晶体结构原子数、元素组成相同的晶体结构,则表示用户上传的晶体结构为新的结构,返回此结果,并结束流程。若晶体结构数据库中存在原子数、元素组成与用户晶体结构原子数、元素组成相同的晶体结构,则根据与用户晶体结构相同原子数、元素组成的晶体结构建立相似集,计算出相似集中所有的晶体结构的晶体指纹,建立晶体指纹相似集;根据用户晶体指纹和晶体指纹相似集中计算构型距离,根据构型距离可得知相似集中哪个晶体结构与用户晶体结构相同,将与用户晶体结构相同的晶体结构作为结果返回。
进一步地,所述根据构型距离选出晶体结构相似集中与用户晶体结构相同的晶体结构包括:
根据用户需求设置的构型距离参考值;
将用户晶体结构信息和晶体指纹相似集计算出的构型距离逐一与构型距离参考值比较;
将小于或等于构型距离参考值的构型距离对应的晶体结构定义为与用户晶体结构相同的晶体结构。
具体地,根据构型距离选出晶体结构相似集中与用户晶体结构相同的晶体结构的方法为:首先,根据用户需求设置的构型距离参考值,然后将用户晶体结构信息和晶体指纹相似集计算出的构型距离逐一与构型距离参考值比较;小于或等于构型距离参考值的构型距离对应的晶体结构则是与用户晶体结构相同的晶体结构。
进一步地,所述晶体结构文件格式包含以下一种或多种:CIF、MOL、POSCAR、PDB。
具体地,晶体结构的计算机存储格式可以有多个,以增大方法的适用范围。
进一步地,所述晶体结构信息包括:原子数、元素组成、元素组成类型、化学式、晶格常数、原子坐标、点群和空间群、发表文献。
图3为本发明晶体结构信息的树型关系表的一种示例图,如图所示,晶体结构信息树型关系表的主表包含MAT_ID,和对应的通用(General)表,对称性(Symmetry)表,原子信息(Atoms)表,指纹(Fingerprint)表,构型距离(Configuration distance)对比记录表及参考文献(Bibliography)表的键,根据不同的键,便可以访问不同表中的数据;在通用表中,主要包含以下信息:a.化学式;b.空间群;c.空间群编号;d.元素组成;d.晶胞参数;e.晶胞体积;f.皮尔逊符号;g.原子数;在对称性表中,主要包含以下信息:a.对称性操作(符号,类型,方向);b.各项Wyckoff信息;在原子表中主要包含了以下信息:a.原子符号;b.原子位置坐标;c.原子序数;d.原子配位数;e.原子占位数;指纹表中即单独记录该晶体的晶体指纹;构型距离表中记录存在的所有指纹之间的对比记录及d数值;参考文献表中主要包含晶体数据的来源期刊及其发表年份,作者信息和来源的原始数据库ID编号。
本实施例以ICSD数据库中的三个晶体结构根据上述的方法进行实验,三个晶体结构的ICSD code分别为57354,230486,417225,在传统的晶体学分类中,三种晶体均被划分为空间群号码为74的晶体且化学式均为CaAg2的结构。表1所示是三种不同ID晶体结构的CaAg2晶体的化学式、晶格常数、空间群与原子坐标信息。通过表1可以看出230486,417225为同一晶体结构但晶格常数,原子坐标有所差异,实际上为同一种晶体结构,而57345与二者均不同,但三种晶体仍被判断为同一类型的结构,无法做到有效地区分。
表1
将三种晶体结构数据代入上述的结构搜索方法,具体步骤包括:
a.读取CaAg2晶体结构文件417225的CIF并提取晶体结构信息;
b.判断数据库中是否已存在该晶体结构,若不存在则在数据库中创建该晶体结构的数据;由表1可知,数据库中已存在57354和230486的晶体结构,因此返回二者的指纹作为对比集,以下是三种晶体的晶体指纹计算数据,其中包括:重叠矩阵、矩阵Tk、原子指纹矢量构成晶体指纹。
(1)重叠矩阵:
ICSD-code:57354
ICSD-code:230486
ICSD-code:417225
(2)矩阵Tk:
ICSD-code:57354
ICSD-code:230486
ICSD-code:417225
(3)原子指纹矢量构成晶体指纹;
ICSD-code:57354
ICSD-code:230486
ICSD-code:417225
通过匈牙利算法计算两两结构之间的构型距离d;
d(230486,57354)=2.7351457105887476
d(57354,417225)=2.741325602542724
d(230486,417225)=0.012661502977507613
晶体结构越相似,构型距离d越接近于0,在本实施例中构型距离参考值设为0.75,由此比较得出57354晶体结构与230486晶体结构和417225晶体结构均属不同的晶体结构,而230486晶体结构和417225晶体结构近似为同一晶体结构。
显然,本发明的上述实施例仅仅是为清楚地说明本发明技术方案所作的举例,而并非是对本发明的具体实施方式的限定。凡在本发明权利要求书的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。
Claims (10)
1.一种晶体结构数据库构建方法,其特征在于,包括以下步骤:
步骤S1:从晶体结构文件中获取初始晶体结构信息;
步骤S2:从数据库中获取比较集;
所述比较集为数据库查重后的晶体结构信息的集合;
步骤S3:将初始晶体结构信息与比较集中的晶体结构信息进行匹配;
若比较集中存在与初始晶体结构相同的晶体结构,将初始晶体结构标记为相似结构,否则根据初始晶体结构信息计算出初始晶体指纹后,将初始晶体结构信息和初始晶体指纹存入数据库。
2.根据权利要求1所述的一种晶体结构数据库构建方法,其特征在于,所述步骤S3包括:
步骤S3.1:将初始晶体结构的原子数、元素组成和比较集中晶体结构的原子数、元素组成进行匹配;
步骤S3.2:若比较集中存在晶体结构和初始晶体结构的原子数、元素组成相同,执行步骤S3.3,否则根据初始晶体结构信息计算出初始晶体指纹,执行步骤S3.6;
步骤S3.3:根据比较集中和初始晶体结构的原子数、元素组成相同的晶体结构,建立对比集;根据对比集中所有的晶体结构信息计算每个晶体结构信息对应的晶体指纹,建立对比晶体指纹集;
步骤S3.4:根据初始晶体结构信息计算出初始晶体指纹;
步骤S3.5:将初始晶体指纹和对比晶体指纹集中所有的晶体指纹进行比较,若比较结果为初始晶体结构和对比集中所有的晶体结构都不相似,执行步骤S3.6,否则将初始晶体结构标记为相似结构后结束流程;
步骤S3.6:将初始晶体指纹和初始晶体结构信息存入数据库。
3.根据权利要求2所述的一种晶体结构数据库构建方法,其特征在于,所述步骤S3.5包括:
步骤S3.51:逐一计算初始晶体指纹和对比晶体指纹集中所有对比晶体指纹的构型距离,根据所有的构型距离建立构型距离集;
步骤S3.52:将构型距离集中的每一个构型距离与参考值进行比较,若每一个构型距离都小于或等于参考值,初始晶体结构标记为相似结构,否则将初始晶体结构信息存入数据库;
所述参考值为用户根据需要设定的距离。
4.根据权利要求2所述的一种晶体结构数据库构建方法,其特征在于,所述根据初始晶体结构信息计算出初始晶体指纹的步骤包括:
a.计算晶体的每一个原子k的重叠矩阵;
b.根据重叠矩阵与截断函数构造矩阵Tk,计算矩阵Tk的特征值得到原子指纹矢量Vk;
c.根据原子指纹矢量Vk构成晶体指纹。
5.根据权利要求4所述的一种晶体结构数据库构建方法,其特征在于,所述原子指纹矢量构成晶体指纹前,所述原子指纹矢量将预设维度;当原子数太少无法生成足够的特征值来填充整个矢量时,指纹矢量末尾的条目填充为零。
6.根据权利要求3所述的一种晶体结构数据库构建方法,其特征在于,所述构型距离采用匈牙利算法计算。
7.一种结构搜索方法,基于上述权利要求1至5任一项所述的晶体结构数据库,其特征在于,所述方法包括以下步骤:
从用户上传的晶体结构文件中获取用户晶体结构信息;
根据用户晶体结构信息计算出用户晶体指纹;
将用户晶体结构信息中的原子数、元素组成和晶体结构数据库中的晶体结构的原子数、元素组成进行匹配;
若晶体结构数据库中存在与用户晶体结构信息中的原子数、元素组成相匹配的晶体结构,根据相匹配的晶体结构建立晶体结构相似集,若无相匹配的晶体结构则结束流程;
根据晶体结构相似集的晶体结构信息计算每个晶体结构对应的晶体指纹,建立晶体指纹相似集;
逐一计算用户晶体指纹和晶体指纹相似集中所有相似晶体指纹的构型距离;
根据构型距离选出晶体结构相似集中与用户晶体结构相同的晶体结构,并将其作为搜索结果返回给用户。
8.根据权利要求7所述的一种结构搜索方法,其特征在于,所述根据构型距离选出晶体结构相似集中与用户晶体结构相同的晶体结构包括:
根据用户需求设置的构型距离参考值;
将用户晶体指纹和晶体指纹相似集计算出的所有构型距离逐一与构型距离参考值比较;
将小于等于构型距离参考值的构型距离对应的晶体结构定义为与用户晶体结构相同的晶体结构。
9.根据权利要求1所述的一种晶体结构数据库构建方法,其特征在于,所述晶体结构文件格式包含以下一种或多种:CIF、MOL、POSCAR、PDB。
10.根据权利要求1所述的一种晶体结构数据库构建方法,其特征在于,所述晶体结构信息包括原子数、元素组成、元素组成类型、化学式、晶格常数、原子坐标、点群和空间群、发表文献。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010488751.8A CN111798939B (zh) | 2020-06-02 | 2020-06-02 | 一种晶体结构数据库构建方法及结构搜索方法 |
PCT/CN2020/097739 WO2021243768A1 (zh) | 2020-06-02 | 2020-06-23 | 一种晶体结构数据库构建方法及结构搜索方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010488751.8A CN111798939B (zh) | 2020-06-02 | 2020-06-02 | 一种晶体结构数据库构建方法及结构搜索方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111798939A true CN111798939A (zh) | 2020-10-20 |
CN111798939B CN111798939B (zh) | 2022-11-08 |
Family
ID=72806021
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010488751.8A Active CN111798939B (zh) | 2020-06-02 | 2020-06-02 | 一种晶体结构数据库构建方法及结构搜索方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111798939B (zh) |
WO (1) | WO2021243768A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112466418A (zh) * | 2020-12-09 | 2021-03-09 | 深圳智药科技有限公司 | 晶体空间结构变换方法及系统 |
WO2022115975A1 (zh) * | 2020-12-02 | 2022-06-09 | 深圳晶泰科技有限公司 | 晶体显示方法及系统 |
WO2022120646A1 (zh) * | 2020-12-09 | 2022-06-16 | 深圳智药科技有限公司 | 晶体空间结构变换方法及系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104750761A (zh) * | 2013-12-31 | 2015-07-01 | 上海致化化学科技有限公司 | 分子结构数据库的建立方法及搜索方法 |
CN106960118A (zh) * | 2017-02-23 | 2017-07-18 | 邹长林 | α1‑AR亚型蛋白的三维晶体结构模型及其建立方法 |
US20180011899A1 (en) * | 2016-07-05 | 2018-01-11 | Zymergen, Inc. | Complex chemical substructure search query building and execution |
CN108536999A (zh) * | 2018-03-21 | 2018-09-14 | 南京邮电大学 | 一种配体小分子关键子结构筛选方法及装置 |
CN109034567A (zh) * | 2018-07-11 | 2018-12-18 | 西北工业大学 | 一种基于科技文献的制造技术进化方向的预测方法 |
CN109859795A (zh) * | 2019-02-20 | 2019-06-07 | 成都分迪科技有限公司 | 泛素化降解目标蛋白质的数据库 |
CN110750492A (zh) * | 2019-09-02 | 2020-02-04 | 深圳晶泰科技有限公司 | 基于区块链的药物晶体库及其构建方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107729719B (zh) * | 2017-09-30 | 2020-05-26 | 中国科学院计算技术研究所 | 一种从头测序方法 |
-
2020
- 2020-06-02 CN CN202010488751.8A patent/CN111798939B/zh active Active
- 2020-06-23 WO PCT/CN2020/097739 patent/WO2021243768A1/zh active Application Filing
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104750761A (zh) * | 2013-12-31 | 2015-07-01 | 上海致化化学科技有限公司 | 分子结构数据库的建立方法及搜索方法 |
US20180011899A1 (en) * | 2016-07-05 | 2018-01-11 | Zymergen, Inc. | Complex chemical substructure search query building and execution |
CN106960118A (zh) * | 2017-02-23 | 2017-07-18 | 邹长林 | α1‑AR亚型蛋白的三维晶体结构模型及其建立方法 |
CN108536999A (zh) * | 2018-03-21 | 2018-09-14 | 南京邮电大学 | 一种配体小分子关键子结构筛选方法及装置 |
CN109034567A (zh) * | 2018-07-11 | 2018-12-18 | 西北工业大学 | 一种基于科技文献的制造技术进化方向的预测方法 |
CN109859795A (zh) * | 2019-02-20 | 2019-06-07 | 成都分迪科技有限公司 | 泛素化降解目标蛋白质的数据库 |
CN110750492A (zh) * | 2019-09-02 | 2020-02-04 | 深圳晶泰科技有限公司 | 基于区块链的药物晶体库及其构建方法 |
Non-Patent Citations (1)
Title |
---|
苏传讯: "晶体结构原型数据库的构建方法及应用", 《中国优秀博硕士学位论文全文数据库(博士) 信息科技辑》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022115975A1 (zh) * | 2020-12-02 | 2022-06-09 | 深圳晶泰科技有限公司 | 晶体显示方法及系统 |
CN112466418A (zh) * | 2020-12-09 | 2021-03-09 | 深圳智药科技有限公司 | 晶体空间结构变换方法及系统 |
WO2022120646A1 (zh) * | 2020-12-09 | 2022-06-16 | 深圳智药科技有限公司 | 晶体空间结构变换方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111798939B (zh) | 2022-11-08 |
WO2021243768A1 (zh) | 2021-12-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Gionis et al. | Similarity search in high dimensions via hashing | |
Liu et al. | SK-LSH: an efficient index structure for approximate nearest neighbor search | |
US7689574B2 (en) | Index and method for extending and querying index | |
US7711754B2 (en) | System and method for managing data using static lists | |
CN112363979B (zh) | 一种基于图数据库的分布式索引方法和系统 | |
US8027961B2 (en) | System and method for composite record keys ordered in a flat key space for a distributed database | |
US20170255709A1 (en) | Atomic updating of graph database index structures | |
US20080114801A1 (en) | Statistics based database population | |
CN111798939B (zh) | 一种晶体结构数据库构建方法及结构搜索方法 | |
US20170255708A1 (en) | Index structures for graph databases | |
US7809764B2 (en) | Method and apparatus for preserving dependancies during data transfer and replication | |
CN1839384A (zh) | 数据集比较与净变化处理 | |
US20090300013A1 (en) | Optimized Reverse Key Indexes | |
US20180144061A1 (en) | Edge store designs for graph databases | |
US20060206527A1 (en) | Document management method and apparatus and document search method and apparatus | |
Bhattacharya | Fundamentals of database indexing and searching | |
US20170161308A1 (en) | Metadump Spatial Database System | |
Zhang et al. | Hashfile: An efficient index structure for multimedia data | |
JP2009129323A (ja) | 同義語抽出装置 | |
US7210019B2 (en) | Exclusive access for logical blocks | |
US20180144060A1 (en) | Processing deleted edges in graph databases | |
US6973572B1 (en) | Signature hash for checking versions of abstract data types | |
Panigrahy | Nearest neighbor search using kd-trees | |
JP7377565B2 (ja) | 図面検索装置、図面データベース構築装置、図面検索システム、図面検索方法、及びプログラム | |
CN115617771A (zh) | 分布式文件系统、数据处理方法 |
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 |