人类全基因组分析提速10倍的背后:TCS 服务垂直行业的探索

近日腾讯云国内首发二代基因测序FPGA加速方案,将人类全基因组数据分析从业内平均水平的30小时降低到了不到3小时,在业内引起不小反响,也吹响了腾讯云进军基因计算行业的号角[1]。这其中的核心技术就来自于架构平台部的腾讯计算服务(TCS:Tencent Computing Service)和腾讯云相关团队紧密合作,针对基因计算这一行业进行深度垂直化定制,以IT赋能BT(BioTechnology),帮助基因企业享受IT技术进步带来的便利和效率提升。

基因听起来很神秘,但其实早就已经在很多领域得到了广泛的应用,已经越来越和我们的生活密不可分。比如现在很多孕期妈妈会做的无创产前检测(NIPT),就是基因技术应用于我们生活中的一个例子。农业上,科学家需要测定不同物种的DNA序列,找出影响性状的关键基因,并尝试让它们朝着对人类有益的方向变化,比如大家耳熟能详的转基因作物;医疗上,医生们需要测定癌症肿瘤患者的基因,找准对该患者有效的靶向药物,才能有的放矢达到疗效;遗传学上,通过测定不同物种的DNA序列,可以确定地梳理清楚物种起源关系。

基因测序技术当前以二代测序为主流,三代测序也在蓬勃发展之中。其特点是数据量大、计算量大。数据量大表现在一个人的全基因组测序数据就高达几百G,同时对这些数据需要进行大量的计算才能找出我们想要的信息。以人的全基因组测序数据分析为例,二代测序当前普遍需要的计算力达到~500核时,而三代测序需要的计算力更是高达数万核时。

因为基因测序对数据存储和计算的庞大需求,而且业务存在淡旺季周期,它天然适合云计算的模式。架构平台部的腾讯计算服务TCS采用弹性计算平台提供动态资源,通过自研极光硬件加速和基因行业垂直定制化方案,进一步加速基因计算效率,赋能基因行业发展。

弹性计算平台---动态伸缩调度资源

TCS弹性计算平台,依托部门和公司内的大量空闲资源,以docker技术进行资源的调度,对外提供弹性可伸缩的算力资源。已经支撑了QQ/微信的图片/视频压缩转码、离线计算和AI计算等,为各业务提供了百万核的算力。

在基因计算的场景中,基因公司通常会购置一批高性能的CPU服务器,用行业内流行的网格计算系统(SGE)组建成集群,搭配以共享文件存储系统,就可以开始进行数据分析计算。但是由于业务本身存在淡旺季周期,机器买多了有可能浪费,买少了在业务增长时又会制约自身发展。

这种情况下,基因公司需要的是能够按需使用的资源,需要的时候可以及时拿到大量算力,不需要的时候立刻释放不再付出成本。弹性计算平台通过复用空闲资源来低成本地提供大量算力,同时集成了负载均衡、名字化服务等功能,让算力供应变得稳定、可靠。面对基因计算中动辄成百上千的计算核时请求,弹性计算平台都能够从容应对。

自研极光技术---硬件异构加速

相比于CPU/GPU,FPGA的一大特点是其软硬件一体化的定制能力,可以达到很高的计算能力。基于FPGA的自研极光加速技术已经被架构平台部应用于AI图像识别、图片webp/hevc格式压缩等大规模的业务场景,原来需要数千台服务器的集群,现在只需要100多台FPGA服务器,显著节约了成本。

以二代基因数据分析的金标准BWA+GATK流程为例,我们分析发现在前半段的比对、去重、排序等步骤都可以用多线程运行,而最后的GATK变异召回只能单线程运行,这是受限于开源软件的实现。

针对于此,我们学习了变异召回的原理,请教了行业内的一些专家,通过拆分染色体的方式让GATK变异召回这一步实现了分片段的并行化。让业内标准的30x的NA12878样本,分析时间从通常的30小时缩减到了10小时。

接着使用FPGA对计算密集的BWA中的smith waterman算法和GATK中的PairHMM算法进行硬件实现和加速,让时间进一步从10小时缩短到2.8小时。

基因行业垂直定制

一个基因数据分析流程涉及很多步骤,往往用到了几十种不同的软件,每个软件消耗的算力资源和存储IO都不同。因为行业传统沿袭,基因公司往往追求堆砌硬件,达到很高的理论计算能力和很大的理论IO吞吐。但是实际的运营中,因为传统调度机制的不尽完善,导致集群常常是低负载状态,集群CPU利用率一般只能达到20%。

针对于此,我们对业内较为标准化的一些数据分析流程进行深入的研究分析,通过更优的分布式调度、针对性的软硬件加速优化,在节约成本的同时缩短整个流程的耗时,提升效率。

比如对于三代测序的falcon运算,典型的是在一个集群环境中进行。原生的调度往往不均衡,有的节点分配到更多任务,有的节点分配到的任务耗时明显更长,最终都导致整体作业耗时很长。

以一个小样本为例,我们使用一个昆虫样本在一个小集群上运行花了10个小时。观察发现Daligner这一步骤调度非常不均衡,有的节点分到了12个任务,而且其中有3个任务的输入数据达到100M。有的节点只有3个任务,而且任务的输入数据只有40M左右。同时我们发现这一步骤的计算量与输入文件体积呈正相关。

因此我们优化了这一步的调度,让每个节点分配到的计算量尽可能平均,并且弹性申请更多资源,将耗时从10小时减到了3.6小时。

总结与展望

基因测序是一个朝阳产业,随着国家精准医疗计划的普及推进,将越来越深刻地影响普通人的生活。我们希望能够以TCS腾讯计算服务为载体,通过腾讯云上的相关产品来为基因公司提供大规模的可靠的弹性计算资源;挖掘基因公司在IT上的痛点,以深度定制研发来加以解决。真正做到以技术赋能行业,帮助基因企业更专注于业务本身的发展,获得更大的成长。 

[1]国内首个二代基因测序FPGA加速方案落地腾讯云,人类全基因组分析从30小时到2.8小时http://mp.weixin.qq.com/s/Bm5nHlPQjbH0iru3m8S-Ag

本文转自“腾讯架构师”公众号

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏量子位

癌症患者有救了?看这家公司如何用AI和基因组测序制定治疗方案

王新民 编译自 TechRepublic 量子位·QbitAI 出品 世界卫生组织的一份报告提到,2012年,全世界范围内新增超过1400万的癌症患者,未来二十...

3295
来自专栏Cloud Native - 产品级敏捷

阿米巴原虫式的产品研發 V.S. 敏捷价值流开发 (产品级敏捷)

在由敏捷价值流开发 (产品级敏捷), 所构建的产品研发团队与生态系统中, 绝不会有任何一个 "阿米巴原虫"......

26110
来自专栏魏艾斯博客www.vpsss.net

RAKsmart 极速中美直连网部署完成 覆盖中国电信联通移动

1613
来自专栏镁客网

颠覆式革命:未来iPhone或将搭载360度环绕屏幕!

1445
来自专栏大数据文摘

谷歌推人类基因组保存服务

1676
来自专栏机器人网

3D打印微型机器人面临的现实和挑战

---- 3D打印本质上是一种更加先进的制造技术,它的发展方向就是让人类更加简单、方便的制造各种东西——包括微型机器人。 近日,《在英国皇家化学会(The ...

3143
来自专栏镁客网

黑科技 | 剑桥研究学者为基因突变过程“建模”,或将推翻达尔文的随机突变理论

1050
来自专栏Milo Yip的专栏

一张图大神带你了解游戏程序员的学习之路

想要成为游戏开发却不知从何着手?本文为腾讯 T4 专家为游戏程序员想要进行学习进阶推荐的系列书单,包括为小朋友编程学习的“编程学前班”、“大朋友”的从“编程语言...

2.2K1
来自专栏BestSDK

大数据虽好,可有哪些局限性?

“每一场科学革命——从哥白尼的日心说模型到统计学和量子力学的兴起,从达尔文的进化和自然选择学说到基因理论——都是由于一件事,也只是由于一件事导致的,那就是数据的...

3424
来自专栏大数据文摘

癌症研究中大数据能做的五件事

1838

扫码关注云+社区