基因测序是高性能计算的重要应用领域之一,在基因组学研究中,高通量测序是最重要的数据来源。然而,高通量测序技术的飞速发展,在给基因组学研究带来极大便利的同时,也带来了“幸福的烦恼”:单次测序数据量的大幅度提升,使得基因组学研究从原来的“测的没有算的快”,变为如今的“算的没有测的快”。
特别在近年来,无创产前基因检测(NIPT)以高的准确度和安全性获得了越来越多准爸准妈的青睐,通过基因测序更多的应用在临床医学诊断上,这项技术开始受到越来越多的人关注,倍增的基因测序需求也对计算效率提出了更高要求。因此,必须提升高性能计算应用效率,才能应对庞大的测序需求。
复杂又昂贵的生命天书
基因组的数量非常大,一个小小真菌,如酵母的基因组总量就有10Mb,而一个人的全基因组则是3Gb(3000Mb),也就是30亿个碱基,如果将全部测序数据打成文字排成书,这本书的厚度将超过100米。此外,由于受到技术和方法学的限制,每个人至少要测100Gb也就是基因组的30倍以上,才能得到相对准确的全基因组数据。
在过去,测序的成本也是非常高的。在90年代初期“人类基因组”计划正式启动后,历经了16年,花费约30亿美金才完成了一个白种人的全基因组图谱绘制,而现在需要3天的时间完成一个人的全基因组测序,大概需要1000美金左右。随着时间的缩短,价格的降低,基因测序技术变得更加的有‘亲和力’。尤其在2013年后,好莱坞女星安吉丽娜·朱莉通过基因检测得知她患乳腺癌以及卵巢癌的风险分别为87%和50%,因此毅然地选择切除了乳腺和卵巢。
“旧时王谢堂前燕,飞入寻常百姓家”,基因测序从原来的象牙塔里的技术,进入更多普通人的生活。
复杂的基因分析流程
那么,基因测序为何会面临“算的没有测得快”?首先让我们先了解下基因分析的流程。
通过基因测序获得只是ATCG四种不同碱基的组合,还不是直观的结果;要将测序结果进行解读,还需要在高性能计算机上进行大量的演算和分析。
在高性能计算机中计算时需要多个软件协同工作,一步一步完成数据的分析,最终才能呈现出可读的结果。通常要得到最终的结果,要经过样本的采集,提取组织DNA,进入测序仪测序,随后进入计算机对测序数据进行标准化的计算,最终进行数据的分析,核验。
图:基因检测的流程
图:测序数据分析流程(以全基因组分析为例)
实例讲解:如何提升基因计算应用效率
然而计算分析的过程是非常复杂并且相当耗时的,涉及到多款软件,每一个软件的算法不同,所需要的计算资源不同,如何才能理解软件所需要的资源,合理配置计算环境呢?
采用浪潮“天眼”(TEYE)高性能应用特征分析系统(下面简称浪潮天眼),我们可以获得软件的运行特征,以便可指导资源的配置。下面我们以基因计算中使用率较高的软件BWA为例来看在计算过程中的资源使用情况。
我们采用的算例规模是:134809168条reads,reads长100bp;
该测试集群采用了浪潮NF5440M4刀片节点,单节点处理性能1万亿次,支持AVX2.0指令集,单节点内存容量128GB DDR4,且充分发挥了“四通道内存”及“DDR4频率优势”。
表:测试集群配置
图:浪潮天眼监测BWA在CPU资源使用方面
从上图可以看出,BWA运行中单节点运行CPU利用率的周期性变化,本算例中每10s会出现一次CPU利用率的峰值,当CPU利用率处于峰值时,IDLE增加;