杭州云栖大会第一天,专家黄树嘉在大数据分会上分享了华大基因的基因组数据《基于数加 MaxCompute 的极速全基因组数据分析》。
他主要是从全基因组测序开始。
分享了传统单机分析流程的背景和原理、挑战以及基于MaxCompute的解决方案,并详细介绍了华大基因利用阿里云处理海量数据的实践。
以下内容根据演讲PPT和现场分享整理而成。
什么是基因 基因是生命的基本因素,是人类和其他生物体的基本遗传物质。
细胞中有染色体,染色体是由DNA碱基组成的。
这些 DNA 碱基显示为字符串。
人类共有23对染色体,有30亿个碱基对。
我们在处理时可以将其视为30亿量级的字符串。
一个人拥有如此大量的数据。
我们在解读的时候,为了保证数据的准确性,我们需要解读几十层数据。
30亿个碱基对有多重要?一个人的生命、衰老、疾病、死亡、健康状况等信息都会储存在基因中。
因此,健康数据的研究更加直接、面向人的本质。
什么是基因测序以及如何获取细胞内的数据?获取遗传数据需要某些特殊仪器。
通过相应的物理或化学方法,可以读取细胞中相应的数据并将其数字化,以便我们进行相应的解读。
遗传数据 为什么遗传数据量如此之大?从上图可以看出,我们的遗传数据不仅来自细胞核内的基因组,还包括转录组、表达组(如肠道健康基因组、表观基因组等)、宏基因组等,这些数据加上高达约10T。
遗传数据的分析过程包括:测序,即将化学信号转化为数字信号;将数据记录成相应的数据格式;解释、比较和数据分析来了解为什么这个人如此不同?为什么容易生病?为什么一千杯永远倒不完?为什么咖啡代谢这么快?最后形成数据报告。
传统单机分析流程的挑战 挑战一:流程复杂,标准难以统一。
由于基因产业是一个比较新的产业,各个企业的标准很难统一。
分析过程有很多步骤,每个步骤都会包含很多分析脚本、系统命令和外部工具。
这些工具必须重复地手动部署到计算集群中,使得分析过程变得更加复杂。
随着基因组测序成本的降低,测序数据量不断增加。
这种低效的方法阻碍了基因产业的发展。
挑战二:命令行操作和交互性差 复杂的命令行操作导致交互性能低下。
挑战三:时间长 最致命的问题是分析时间太长。
目前最先进的测序仪每个序列的数据输出为1.5TB(大约是人类的数据量),生成此数据所需的时间为3.5天。
使用传统的HPC集群进行分析,分析一个人的数据基本上需要3天,而单个节点需要5.8天。
由此可见,数据解读的效率远远小于数据输出的速度,这给精准医疗的后续发展带来了巨大的挑战。
因为精准医疗是针对个体的个性化医疗,只有通过分析每个人的所有特征信息才能实现个性化医疗。
基于MaxCompute的解决方案如何及时解读如此多的数据是当今的一个挑战。
针对上述挑战,提出了基于MaxCompute的解决方案。
MaxCompute分布式计算将最常用的基因组解释部署在MaxCompute上。
这个过程与单机部署过程完全不同。
这个过程需要利用MaxCompute的思维,将从输出数据到最终结果的每一步进行分散,然后呈现出如何并行化,如何加快这个过程中的有效速度。
在加速场景下设置这个流程后,总共测试了一个人的52层基因数据(即测试的52倍,大约是G个数据量)。
测试基本在3小时内完成分析,比单机分析要好。
50+倍,比HPC集群高25+倍,比Hadoop集群高6+倍。
群体测试 事实上,在基因分析的过程中,是多人同时分析的。
每个人都属于某个群体。
如果我们想要更好地解读这个人,就必须将其放入相应的群体中。
只有当您对群体进行分析时,基因组数据才会更加准确和更具表现力。
。
从华大基因数据中提取了50人的基因进行测试。
整个测试分为两大步骤,提交了7万多个任务。
仅用了41.5小时就完成了50人的全基因组分析。
平均而言,每个人只需50分钟即可完成测试。
为什么一个人需要3个小时,而50个人需要41个小时而不是几个小时?在分析人群中的基因组数据时,许多中间步骤实际上可以被分散。
最后,不需要每个人一个一个地读,而是作为一组来分析数据。
因此,时间状态普遍缩短。
如果人数从50人增加到更多,每人的平均测试时间还可以进一步减少。
总共50人处理的数据量约为2T,最终解释的有意义的数据量为21G。
实现了从海量计算、从原始数据到精准数据的转变。