社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  机器学习算法

Science | PhAI:一种解决晶体学相位问题的深度学习方法

DrugAI • 9 月前 • 237 次点击  

DRUGAI

今天为大家介绍的是来自Anders Madsen团队的一篇论文。X射线晶体学为晶体的三维结构提供了独特的视角。为了重建电子密度图,需要知道足够多衍射反射的复数结构因子。在常规实验中,只能获得振幅|F|,而相位Φ会丢失,这就是晶体学中的相位问题。在这项研究中,作者展示了一种神经网络,这种网络在数百万个人工结构数据上进行了训练,能够在仅有2埃的分辨率下解决相位问题,并且只需使用直接法所需数据的10%到20%。该网络适用于常见的空间群和适中的晶胞尺寸,这表明神经网络可能在弱散射晶体的一般情况下解决相位问题。

直到今天,由晶体学确定的结构的细节和精度,从简单的金属到大型膜蛋白,都无可匹敌。然而,主要的挑战——即所谓的相位问题,仍然是从实验确定的振幅中获取相位信息(图1)。在晶体学的早期,研究人员花费了大量精力去恢复相位信息,通常是通过反复试验并辅以繁琐的计算来完成。后来,帕特森法和Beevers-Lipson条带(通过手工加速傅里叶合成的工具)使得研究更加复杂的结构成为可能。20世纪50年代和60年代,Karle和Hauptmann开发了直接法,解决相位问题,取得了重大突破,并且Sayre等人也做出了重要贡献。前两者因其在发展直接法中的杰出成就于1985年获得诺贝尔奖。尽管方法有所变化,但教科书中仍指出,直接法需要具有原子分辨率的衍射数据,即晶格平面的最小间距(dmin)需达到1.2埃或更小。

图 1


然而,原子分辨率的要求是一种经验性的观察。有理论提出解释,认为有机分子(包括蛋白质)中的典型原子间距约为1.2埃,因此在此距离上会在配对分布函数中产生距离波动。近年来,传统的直接法得到了补充,如电荷翻转、现代直接法和VLD(vive la difference)等双空间方法。这些从头方法有时可以在较低分辨率(1.4到1.6埃)下解决相位问题,但成功率因具体情况而异,并且与数据质量及结构中重原子的存在有关。在蛋白质晶体学中,Arcimboldo方法使用子结构片段作为搜索元素,已成功在2埃分辨率下取得成果。目前可用的从头方法似乎已经达到了极限,相位问题的普遍解决方案仍然未知。


从数学上讲,任何结构因子振幅与相位的组合都可以通过反傅里叶变换得到。然而,物理和化学上的要求,比如原子般的电子密度分布,对相位与振幅的组合提出了限制,使其必须符合特定的规则。深度学习的进步使得能够深入探索这些关系,可能比现有的从头方法更为深入。神经网络可以从大量数据集中学习,并能够推导出人类难以发现的规则。这表明,通过训练神经网络,可能成为解决晶体学中各种问题的有效策略。


在这项工作中,作者采用了一种数据驱动的方法,使用了数百万个人工晶体结构及其相应的衍射数据,旨在解决晶体学中的相位问题。作者展示了这种基于深度学习的从头结构解决方法,可以在仅有dmin = 2.0 Å的分辨率下实现。这一分辨率只需要原子分辨率数据的10%到20%,而传统的从头方法通常需要更多数据。这一结果清楚地表明,从头方法并不需要原子分辨率的数据,为基于深度学习的结构确定开辟了新途径。此外,作者的方法在恢复电子密度图方面表现出了显著的准确性。


模型部分

图 2


作者将这个神经网络命名为PhAI,设计它来接收结构因子振幅F并输出相应的相位值f。PhAI的结构如图2所示。表示晶体结构的结构因子的数量取决于晶胞的大小。基于计算资源,作者对输入数据的大小设定了限制。输入的结构因子振幅选择了符合Miller指数(h, k, l)条件()的反射。在实际操作中,这一选择将晶胞尺寸限制在原子分辨率约10 Å。此外,作者选择了最常见的中心对称空间群。中心对称性将相位值限制为0或π rad。


作者将输入的振幅排列在一个固定形状为(21, 11, 11)的3D张量中。这个纵横比使作者能够处理对应Laue对称性的唯一反射,即2/m对称性,其中-10 < h < 10, 0 < k < 10, 0 < l < 10。神经网络有两个输入——一个用于振幅,另一个用于相位。相位最初设为零或随机值。单独的相位输入张量使得作者能够实现预测的精炼,这个过程被称为相位循环(见图2)。振幅和相位通过包含3D卷积层的输入模块进行处理,之后它们被相加。网络的下一个阶段包含多个3D卷积模块。输出特征图被展平并投射为多层感知机(MLP)token,然后输入到多个MLP模块中。MLP模块的输出token通过全局平均池化减少,最终的线性分类头会预测每个反射的相位。预测的相位可以循环回网络中。


作者使用主要包含有机分子的人工晶体结构来训练神经网络。作者选择使用人工结构,并将晶体学数据库中可用的实验结构保留为基准集。使用人工结构使得作者能够在所选空间群中生成一个庞大且多样化的训练集。总共创建了大约4900万个结构,其中94.29%是有机结构,5.66%是金属有机结构,0.05%是无机晶体结构。各种有机分子和偶尔的金属原子被放置在随机采样参数的晶胞中。为了避免原子重叠和不合理的近距离接触,作者检查了原子间的距离。有机分子从一个SMILES字符串数据库中采样,并在插入前进行力场优化。


在训练过程中,各向同性原子位移参数、数据分辨率和完整性是在运行中随机采样的。对应的结构因子振幅和相位是使用表格化的球形原子形态因子计算得出的。在训练期间,相位在一到三次之间循环使用。初始相位均设为零,在随后的循环中,网络的相位预测结果被重新利用。神经网络的训练目标是最小化损失函数,该函数考虑了空间群中允许的原点平移。


利用神经网络解决真实结构

经过训练的神经网络可以在标准计算机上运行,对计算资源的要求较低。它接受一组hkl指数和相应的结构因子振幅作为输入,不需要其他输入信息,甚至不需要结构的晶胞参数。这与所有其他现代从头方法有着根本区别,后者通常依赖电子密度函数的修正来成功解决结构。该网络可以立即预测并输出相位值。


最初,作者使用实际晶体结构的计算衍射数据测试了神经网络的性能。从晶体学数据库(包括剑桥结构数据库、晶体学开放数据库和无机晶体结构数据库)中检索了所有符合空间群且晶胞尺寸限制在10 Å以内的有机、金属有机和配位化合物结构。共获得了2387个测试案例。作者对所有收集的结构考虑了多个数据分辨率值,范围从1.0到2.0 Å。为了进行比较,作者还使用了电荷翻转方法来检索相位信息(具体来说,使用了SUPERFLIP程序)。


为了评估相位检索的成功率,作者使用了相位检索后的电子密度图与真实电子密度图之间的相关系数r。这个相关系数可以在不生成实际密度图的情况下计算出来(公式1)。其中,)是反射H的真实相位值,考虑到可能的原点平移T,以及允许的原点平移T,是反射H的预测相位值。

公式 1


训练后的神经网络表现出卓越的性能;在对应的衍射数据分辨率较好的情况下,它能够解决所有测试的结构(N = 2387),并在低分辨率数据的结构解析上表现出色(见图3)。尽管神经网络几乎没有针对无机结构进行训练,但它仍能够完美地解决此类结构,正如图S3所示。电荷翻转方法在处理高分辨率数据时表现优异,但随着数据分辨率的下降,其提供合理正确解的能力逐渐减弱;然而,即使在1.6 Å的分辨率下,它仍然解决了约32%的结构。通过进一步尝试和更改输入参数(如翻转阈值),电荷翻转方法确定结构的数量可能会有所提高。在PhAI方法中,这种元优化是在训练期间完成的,用户不需要执行此操作。这些结果表明,在晶体学中进行从头相位确定时,普遍认为必须使用原子分辨率数据的观点可以被打破。PhAI只需要原子分辨率数据的10%到20%。

图 3


神经网络提供的解决方案的准确性异常高(请注意图3中密度图相关系数r的中位值)。那些相位预测不准确的反射大多是对解决方案质量贡献不大的弱反射。解决方案的极高准确性以及电子密度图的高精度表明,可以使用神经网络开发出稳健的结构解析程序。密度图的高准确性意味着在解释原子位置和类型时对用户输入的依赖性降低。这一事实可能会大大提高数据库中存储的结构以及文献中发表的结构的整体质量。


神经网络的鲁棒性

PhAI的设计允许进行迭代相位微调。除了输入的结构因子振幅外,还提供了一组初始为零或随机值的相位列表。通过将输入相位设为上一个循环中预测的值,重复执行神经网络,可以改进相位。作者观察到,要么在几个循环内找到优秀的解决方案,要么网络完全无法找到解决方案。然而,后者只在分辨率较低的少量结构中出现(见图3)。

图 4


如果PhAI能够找到解决方案,通常在第一个预测循环中(即使输入的相位值为零或随机值)就已经得到了较好的结果(r > 0.8)。偶尔,初始预测的准确性较低,如图4C中的两个示例所示。不管怎样,在三到四个循环内都能得到出色的解决方案。如图4A所示,展示了平均相关系数r的变化轨迹。对于未能解决的2.0 Å分辨率数据,平均轨迹也显示在图4A中。


结果显示,对于成功的案例,收敛几乎是立即达到的,并且数千个输入数据集的预测轨迹非常相似,且与数据分辨率无关。这一点很重要,因为如果解决方案的收敛行为因案例而异,那么解决未知结构会更加复杂。


大多数测试的输入数据集通过单次随机初始相位的尝试和三到四个循环就得到了出色的解决方案,正如前面讨论的那样。然而,也有一些案例,即使经过数千次循环,仍未获得满意的解决方案。作者发现增加循环次数并不特别有效,相反,开始使用不同的随机初始相位进行新的尝试更为有效。在每个分辨率下,无法在16次循环内解决的结构将被传递到下一次尝试。在1.0 Å分辨率下,超过99%的2387个测试结构可以在首次尝试中得到解决。其余的结构可以在接下来的14次尝试中逐步解决。对于相同2387个结构的2.0 Å分辨率数据,只有约70%在首次尝试中得到解决。进一步的尝试将这一比例提高到约86%(见图4B,其中展示了每次尝试后解决结构的累计百分比)。该图表明2.0 Å分辨率数据的极限已经接近。实际上,作者得出结论,目前大多数在2.0 Å分辨率下的剩余结构无法通过PhAI解决。对于未解决的334个结构,作者进行了使用90%和100%正确相位值作为初始输入张量的尝试。只有几十个案例在网络的连续执行过程中保持稳定。作者预期,通过使用随机初始相位值进行更多次尝试,这些结构最终可能会被PhAI解决;然而,这只会将2.0 Å分辨率下2387个测试结构的正确解决方案的累计百分比(r ≥ 0.95)从86%提高到87%。


这些结果展示了经过训练的神经网络的高度稳健性。如果PhAI能够找到解决方案,(i) 它通常会在少数几次尝试中找到,(ii) 并且在三到四个相位循环内达到准确。使用PhAI解析的所有结构(考虑所有分辨率)的平均相关系数为r = 0.99965±0.00007(99.9%的置信水平)。

编译 | 黄海涛

审稿 | 曾全晨

参考资料

Larsen, A. S., Rekis, T., & Madsen, A. Ø. (2024). PhAI: A deep-learning approach to solve the crystallographic phase problem. 

Science, 385(6708), 522-528.

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/173990
 
237 次点击