这个庞然大物如何只花15个小时计算1000000000分子?
2020-09-16 08:52

这个庞然大物如何只花15个小时计算1000000000分子?

本文来自公众号:格致论道讲坛(ID:SELFtalks),作者:金钟,中国科学院计算机网络信息中心研究员,题图来自:视觉中国




大家好,非常高兴来到“格致论道讲坛”。我是来自中国科学院信息网络中心的金钟,主要是做高性能计算方面的研究,专业是高性能生物医药计算。


今天主要是想和大家谈一谈高性能计算和生物医药计算。


今年是非常特殊的一年,大家也都处于新冠疫情中。疫情来得非常之快,我们和疫情、病毒在赛跑,这也是科研和病毒的竞赛。



当疫情来的时候,我们怎么办?


首先,我们可能要想办法去治疗,治疗的时候需要有药物。在突然疫情来临的时候,找药物最重要的是什么?速度。速度是现在找药的关键,有了超级计算机的帮助,可以使发现药物的速度比原来快很多。


我们一定听说神农尝百草的故事。


古人得病的时候没有药怎么办?只能硬抗。神农看到大家非常痛苦,于是他去深山里面尝遍了百草,最后得到了365种草药,写成了非常重要的药典。



但后来神农非常不幸地在尝药过程中,因中毒去世了。用人尝药是非常危险的,而且它的效率非常低。


现代怎么办?


我们现在有了超级计算机的帮助,有了对药物分子和药物机理的研究。研究清楚以后,我们就幸运了,不需要我们亲身去试验,先用计算机帮忙。


一、超级计算机


超级计算机是一个庞然大物,非常非常大。


我们现在用的超级计算机可以占满一间屋子。超级计算机占地面积几百平米,甚至比这更大。


紫杉醇是一种抗肿瘤药物,下图右侧是我们计算和实验的对比,做的是紫杉醇搭载在药物载体上,进入体内不断缓释发挥作用的过程。


当它注入到人体后,66分钟起开始释放,一直到二三十分钟后,这个药才能真正的在体内发挥作用。

 


超级计算机长什么样子?


上图是中科院超算中心的“元”超级计算机。这台超级计算机由多个大机柜组成,非常大,每一个机柜是一排排称为计算节点的东西。


一个计算节点跟我们现在用的台式机、笔记本类似,但是它的计算能力、存储容量、内存比我们的PC大很多。


专业的超级计算机的节点不像台式机做得这么大,它是非常薄的,就是一个个刀片节点,最终又用高速网络连接起来。机柜的背面就是高速网络,用网线连接起来,这样可以使超级计算机的每个计算节点协同工作。


而且,超级计算机的处理器也比一般家用PC的四核、六核以至于八核的处理器更强大,超级计算机用的CPU可能是十几核、二十多核的超强CPU。



问题来了,既然有这么大的超级计算机,那什么样的问题需要用高性能计算呢?


首先就是大。既然超级计算机这么大,解决的问题也是大的。


如果把普通PC比喻成一个普通家养的小宠物,超级计算机真的就是一个庞然大物,可能比大象还要大很多。


另外,它计算的时候也要去算一些需要算得非常快的问题。



其实,我们用的手机也是一台小型PC。


用手机的时候,很多人都玩过《王者荣耀》。开始玩的时候还好,玩了一段时间后觉得非常卡,那怎么办?除了升级硬件可能也没有太好的办法。


超级计算机本身的配置和硬件肯定比手机强多了,因此它的计算节点比一般的单台PC运算的快很多。


超级计算机有什么样的用处呢?天气预报。天气预报和超级计算机有什么关系?


天气预报在资料获取和数值天气预报模拟这两方面都少不了超级计算机的支持。


以台风为例。台风有生成和运动的轨迹,怎么把运动的轨迹、运动的速度计算出来?这就需要在计算机里解方程。



像中国这么大的面积,在预报天气的时候,我们不仅仅是求解一个平面,而是需要计算立体的网格,因为大气层是有厚度的。


在最新的天气模式里面,全中国大概有400万个网格,这个计算量就非常大了。如果没有超级计算机,我们用手工算要算到猴年马月也没办法解决。


随着超级计算机的发展,可以做到高精度的天气预报了。


什么概念?现在我们预测天气预报的尺度是5公里、10公里,将来我们的预测可能到1公里范围。


如果我们骑单车,打开手机APP的时候,可以看到沿途路线的天气是什么样子的,这就给生活带来更大的便利。


超级计算机还有一个应用,那就是科幻片的制作。


很多人都看过《流浪地球》科幻片,其中很多场景是想象出来的。举个例子,其中的火石运输车就是用超级计算机渲染出来的。


先画一些线条,画一些框把车的形状勾勒出来,再画车身、画轮胎,再贴上纹理、上色,最后进行打光,就画出来了一辆火石运输车。



还有在电影里看到的下雪场景,这些雪比真实的雪大很多,也不是真实的状态,是用计算机渲染出来的,采用了实时渲染技术,制作出了在荧幕上看到的《流浪地球》科幻片。 


二、超级计算机筛选新药


超级计算机在药物发现方面有很多的应用。


谈到基于结构的新药筛选,我们首先要对靶标蛋白有一定研究,我们要从化合物的分子库里面去选择一些小分子。


这个化合物库实际上非常大,可能有成百万、上千万甚至上亿的分子。我们把这些分子取出来后,采用分子对接软件根据对接算法计算。对接成功后,还要为对接质量进行打分。


从这里面选择分高的化合物结构进行聚类分析,再分析它的构象,然后选取大概100个交给实验科学家做一些分析,最后经历后续的漫长实验,得到一些有活性的小分子。


另外,还可以用分子动力学的方法,模拟蛋白的构象变化。


分子动力学就是解牛顿第二定律的运动方程,以数值的解法解运动方程,可以模拟蛋白质的动力学过程。


在模拟蛋白质变化的过程中,有的通路形成开环,有的通路形成闭环,会得到不同的模拟结果。



这是我们实际做的复杂分子模拟和新药筛选的例子。


一个是膜蛋白动力学模拟,体现的是膜蛋白在双层磷脂分子之间运动的情况。



另一个是甲型H1N1流感防治药物的小分子对接过程。受体蛋白的表面是坑坑洼洼的,像丘陵一样。小分子寻找各种低洼地带进行对接,我们称这些地方为“口袋”。


小分子运动到“口袋”中,可以和受体蛋白进行结合。



它的基本原理之一是“一把钥匙开一把锁”的“锁匙模型”。


这个小分子作为一个配体分子,进入到受体蛋白的“口袋”里面,到形成最后的复合物。



我们会用打分函数对这个复合物算出一个分数,对复合物结合质量进行定量评估。


就好像从里面选择英雄榜,比如说取前一百名,选出一百个分子,最后把这些分子交给实验科学家去做进一步的实验。


在计算机上到底怎么做分子对接这件事情?


我们首先准备一个普通文本文件,包括原子种类、性质、位置,包括连接关系的一些信息。


然后,我们用可视化软件把这个文件展示出来,展示出蛋白质结构,就是右边这张受体结构的图。



科学家可以很直观地看出来口袋在哪里,结合位点有可能在哪里,当然还要经过一些理论的分析。


再用一个比较流行的Autodock Vina对接软件,把刚才的信息提交给计算机,经过长时间的运算得到结果,然后再做结构分析。这样就可以得到实际的对接结果。



实际上,高性能计算在药物研发的若干环节发挥着重要的作用,包括利用基因测序提供帮助、潜在药物靶标的研究、苗头化合物的发现、先导化合物的确定和优化等,甚至还能为后续的临床实验等工作提供一些支持。



在这些过程中,超级计算机都能够起到很大的帮助和作用。


三、计算的挑战


在计算方面,这么大规模的计算有着非常重大的挑战,下面介绍几个比较典型的例子。


这么多的计算机同时工作,好比说一个人工作好办,自己做就可以了,但是成百上千人同时工作怎么办?我们就要协调,需要一个人总体协调任务。


同时还要接收指令,互相之间有一些通讯和互相交流的过程,希望大家能够齐头并进,只有这样我们的工作效率才会高。


超级计算机的运算也是同样的道理,所有计算节点的计算需要齐头并进。


实际上,一个分子就是一个文件,我们这里面有十亿分子,意味着有十亿个文件。


大家可能都有过在笔记本上拷贝照片的经历,在我们拷贝很多很多小照片的时候速度非常慢,看到照片目录刷刷在跑,但是进度条却不往前走,怎么办?打包。


超级计算机运算过程中不光打一个包,可能要打上百上千的包,形成不同的分割,这样才能保证高效率。


现代超级计算机里面有两种处理器,一种就是常说的CPU,还有一种是加速器,最典型的是笔记本的显卡,也可以做计算。


加速器的计算能力超强,但是只能做一些简单的计算,这时候涉及到的还是协同工作问题。


这两种不同的处理器,在工作的时候怎么办?


两个人要交流,两种处理器要交流,当有成千上万个处理器的时候,交流沟通的网络就非常复杂,这种情况下怎么办?


我们只能用一些特殊的硬件通道。就像把公路修得笔直,修得路面更平整一些,让车的速度更高;把路面修宽,就像网络的带宽更宽,这样可以更好的通讯。


我们正是采用这些手段应对高性能计算在生物医药研究中面临的计算挑战。


经过科学家这么多年的努力,我们在高性能计算技术应用于新药研发攻关方面取得了一些进步。


最初的时候我们估算,如果用一个CPU来算十亿分子,需要475年,这需要的时间非常长。


在2015年的时候,在“天河2”上采用CPU和加速器协同的工作方式后,可以把这个计算缩短到23天。


今年哈佛大学用云计算技术,用了16万台CPU计算,可以缩短到15小时,但是他们做的是刚性对接的,这是什么意思?


刚性对接就是对接时保持小分子和蛋白质两个分子的形状不变。


实际上,在对接的过程中,两者的形状是有变化的。而我们在这种有限制的条件下计算,更符合实际条件,使得分子形状有轻微的变化,我们称之为半柔性对接。


还有让蛋白质自由变化的柔性对接。在现在的计算能力下,要做到柔性对接计算还是非常困难的。


现在用半柔性对接方法,通过GPU图形加速卡加速,可以缩短到比15小时再短,这样大大节省了计算资源,也对高速高通量新药研发攻关起到非常好的效果。



在抗疫情和时间的赛跑中,新药研发和高性能计算发挥了很重要的作用。


对于未来的新药研发,我们现在已经看到了一些苗头。可是,仅仅拼速度可能是不够的。


可能每个人都有这种体会:同样的药治疗看起来一样的病症,两个人同时吃了,可能治疗效果不一样。


现代医学和现代生物学也找到了一些原因,因为我们每个人的基因不一样。


一些研究发现每个人的药物作用位点、作用基因是不太一样的。因此,过去我们用一种药打遍天下,对付一种病症。而如果面向所有人,这种方式现在来看是非常不经济的。


有统计表明,过去或者现在也好,药物治疗中真正有效的部分可能也就是1/3。


我们说“是药三分毒”,药吃进去不是开玩笑的事情。


为了使药物更有效,也更节省资源,并且减少毒副作用,我们必须采用个体化用药,为每一个人量体裁衣,制定个体化的用药方案。


这种个体化的用药方案必然带来个性化药物研究,我们要针对各种复杂的情况做药物研究新的模式。



因此,我们要更深入地在分子层面做相关工作。


虽然已经提到了很多高性能计算在生物医药计算方面研究的内容,但是我介绍的东西还只是冰山的一角,这个领域是博大精深的,有很多很多深奥和有意思的科学问题以及有趣的现象,有待于我们今后进一步去研究。


我也希望各位如果有兴趣,可以深入地了解一下生物医药的高性能计算领域。如果有愿意加入这个行业的人,也希望大家能够加入。


有了创新药物的研究、有了高性能计算机的帮助,可以通过药物研究为我们今后的健康发展做出更大的贡献,为我们的健康和生活创造绚丽灿烂的明天。


本文来自公众号:格致论道讲坛(ID:SELFtalks),作者:金钟,中国科学院计算机网络信息中心研究员

本内容为作者独立观点,不代表虎嗅立场。未经允许不得转载,授权事宜请联系hezuo@huxiu.com
如对本稿件有异议或投诉,请联系tougao@huxiu.com
正在改变与想要改变世界的人,都在 虎嗅APP

相关推荐