深度!量子计算机是如何参与蛋白质设计的

(图片来源:网络)
蛋白质设计是目前生命科学领域的热点话题,从Rosetta到AlphaFold,科学家们一直致力于使用更为先进的技术来预测以及设计其结构。本文中,作者描述了一种将蛋白质设计问题映射到 D-Wave量子退火计算机的解决方案,并提出了一个系统。作者的方法,称之为Qpacker,该方法使用了一个巨大的侧链rotamer库以及全Rosetta能量函数,来找到合适的氨基酸以及其对应的构象使其可以进行蛋白骨架固定的侧链设计。
作者证明了:
1. 量子退火机可以用于复杂的显示设计任务,岂可以与经典设计方法产生的分子相媲美。2. 通过大规模的模拟表明,在量子退火机上产生的结果可以为湿实验提供参考信息。3. 对于在经典计算机上呈指数级扩展的设计任务,QPacker实现了几乎恒定的运行时性能,与任务的复杂性无关。
简介
计算蛋白质设计涉及大量的搜索问题。给与N个设计的序列位置以及D种离散的侧链以及其构象可能性(rotamer), 找到每个位置的rotamer最佳的选择。由于经典的蛋白设计任务会设计数十或者数百个位置,每个位置都有几百甚至上千个rotamer的可能的解决方案,对于这些任务的处理很快的超过了目前的超级计算机的能力。
Rosetta软件(目前主流的蛋白设计软件)所采用的设计方法称之为Packer,使用基于模拟退火的算法来搜索rotamer space进而解决序列设计问题。尽管不能保证收敛到全局最优解,但是往往可以找到接近最优的高质量解。但是随着可供设计的位置(N)或者是在每个位置处rotamer可能性的增加(D),对于模拟退火来说,这个空间仍然是太大了。对于大多数设计任务来说,传统的方法太慢了。
量子计算机的出现为解决这种问题提供了新的希望。经典计算机通常通过穷举或者启发式算法来解决复杂的组合问题。而无论是穷举还是启发式算法,量子计算机都有可能将其表示为量子态的叠加。随后,量子算法(如量子退火)可以改变叠加态的概率分布,使对应于全局最优的概率。量子计算方法的主要优势在于,通过同时对多个解决方案进行建模,可以实现大规模并行性。
QPacker 算法
为了发展QPacker,作者首先调研了蛋白设计中的经典方法。

对Rosetta的修改
作者向Rosetta添加了一个名为InteractionGraphSummaryMetric的模块,以便于D-Wave脚本读取,并易于存储在磁盘上。输出格式包含待设计backbone的完整描述、每个位置允许的每个rotamer的类型和构象,以及每个rotamer和成对rotamer的预计算单体和双体相互作用能。
为了允许从D-Wave导入解决方案,并将其转换为全原子表示,作者还添加了一个名为ExternalPacker ResultLoader的Rosetta模块。它接受对设计任务的描述和rotamer选择向量,从中生成设计结构,并放置选定的rotamer。
结果
作者在400个螺旋束设计任务上进行了性能基准测试。
每个任务都是在D-Wave 2000Q系统、经典Rosetta Packer和分支定界求解器Toulbar2上解决的。作者还将这两种经典方法应用于另外5376项设计任务,这些任务比D-Wave QPU上的任务更大。在每种情况下,都要测量求解的总时间。
作者发现,两种经典方法的规模都与设计任务的复杂性有关,而QPacker实现了几乎恒定的性能,与任务的复杂性无关,达到了量子计算机的极限(图1)。
目前最先进的2048量子比特QPU尺寸有限,这使得QPacker无法超越经典方法。更大的设计任务可以使用qbsolv混合算法进行分解,但超出QPU的大小,运行时不再是常数。请注意, D-Wave QPU量子比特的增多将提高QPacker可应用于的设计任务大小的限制。

图1:QPacker 蓝色点,Rosetta Packer 绿色点,Toulbar2 红色点。纵轴代表了解决问题的时间,值越低表示性能越好。基于量子退火算法的QPacker几乎处于一个恒定的值。
参考链接:
1.https://www.biorxiv.org/content/10.1101/752485v2
2.Rebecca, F, Alford, et al. The Rosetta All-Atom Energy Function for Macromolecular Modeling and Design[J]. Journal of Chemical Theory & Computation, 2017.
文:Zero Designer编辑:慕一