基于 MaxCompute 的极速的基因测序分析

本文涉及的产品
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: 转载自yizhuo 基因、测序、分析 基因,生命的基本因素,是人类和其他生物的基础遗传物质。人有 23 对染色体,总共记录了大约 3Gb 个碱基(这里的 b 是 base,即碱基,可不是 bit,参考这里),每个位置上的碱基可能是 ATCG 中的一个。简单理解起来,就是有了这 3Gb 长的字

转载自yizhuo

基因、测序、分析

基因,生命的基本因素,是人类和其他生物的基础遗传物质。人有 23 对染色体,总共记录了大约 3Gb 个碱基(这里的 b 是 base,即碱基,可不是 bit,参考这里),每个位置上的碱基可能是 ATCG 中的一个。简单理解起来,就是有了这 3Gb 长的字符串,就能克隆一个你。基因测序,就是用化学和物理的方法,把你身体里这 3Gb 字符串检测出来。

当然,由于受当前测序技术的限制,我们并不能一次性测得一个完整的 3Gb 字符串,而是无数个 150bp 左右长度的小碎片。把这无数个小碎片重新组合还原成 3Gb 的长字符串的过程,叫全基因组组装。人类基因组计划干的就是这个组装拼图的事情,到了 2003 年,基本上算是拼完了。于是就有了一个标准的 3Gb 人类字符串,业界称其为『人类基因组参考序列』,也常被简称为『参考序列』。

基因测序分析,就是检测每个个体身上的这 3Gb 字符串,然后再跟标准的字符串(参考序列)做比对,来看是不是哪里发生了变异,是否有已知的遗传疾病风险。

现在随着基因测序技术的成熟,成本在飞速下降,所谓『旧时王谢堂前燕,飞入寻常百姓家』简直就是指日可待的事情。


screenshot

于是越来越多的基因数据需要计算分析。

原来的分析计算流程

测序出来的数据是一大堆长度 150bp 的小碎片,但由于已经有了完整的人类参考序列的拼图,那么在这个拼图上寻找位置要比还原拼图的过程容易很多。多年来,从输入碎片数据比对到标准的 3Gb 参考序列,再到变异的检测,形成了如 BWA、Samtools/Picard、GATK 等为单机运行优化良好的业界公认软件。

将这些软件组合使用起来可以形成一个基因组数据分析的流程。华大基因基于阿里云 ECS 的 BGI Online 平台、七桥在 Amazon 和 Google 云上架构的 IGOR 分析平台,都有这样的业界金标准流程(下图为七桥,1.7G 左右的输入数据跑了 1 小时 48 分)。


7bridges_igor_wes_score


但是上面的分析只是外显子测序分析(WES),所谓外显子就是那些会直接影响我们外在性状和健康与否的序列,它的长度只占了全基因组总长的 1%。因此需要测序的数据量比全基因组测序分析(WGS)少得多。使用 WES 的原因和意义,一方面是因为我们对这 3Gb 的人类基因组所蕴含的全面信息所知甚少,这 1% 的序列是我们目前能够很有效进行解读的位点,同时,也是由于它直接影响着我们的性状和健康,所以在很多疾病的研究中,通常只检测和分析这些位点和区域;另一方面也是因为全基因组测序目前成本相对较高,数据量巨大,单机计算时间基本要几天。

基于 MaxCompute 的方案

数据表达

来看基因数据的几个重要表达。

测序出来的原始输入数据 FastQ 格式(截取了两个 record),原本就是四行一个 record 的文本:

@ERR194147.1 HSQ1004:134:C0D8DACXX:1:1104:3874:86238/1
GGTTCCTACTTCAGGGTCATAAAGCCTAAATAGCCCACACGTTCCCCTTAAATAAGACATCACGATGGATCACAGGTCTATCACCCTATTAACCACTCACG
+
CC@FFFFFHHHHHJJJFHIIJJJJJJIHJIIJJJJJJJJIIGIJJIJJJIJJJIJIJJJJJJJJJJIJHHHHFFFDEEEEEEEEDDDCDDEEDDDDDDDDD
@ERR194147.2 HSQ1004:134:C0D8DACXX:2:2104:2852:75174/1
ACTTCAGGGTCATAAAGCCTAAATAGCCCACACGTTCCCCTTAAATAAGACATCACGATGGATCACAGGTCTATCACCCTATTAACCACTCACGGGAGCTC
+
@BBFDFFFHFFHHIHIJJJJFIHHFHFHJCIHFHIJJJJJJJIJIJIJJIIHIJJJJJJJBEGIGHIHGHHHEFCDFFEDEEDEEDDD?CCCDDDDDDDDC

测序产生的中间及最终结果的 VCF 格式(截取两个 record),也是一个多行表头,然后每行一个数据 record 的形式。

##fileformat=VCFv4.1
##...
##other headers
#CHROM  POS     ID      REF     ALT     QUAL    FILTER  INFO
1       10019   rs376643643     TA      T       .       .       OTHERKG;R5;RS=376643643;RSPOS=10020;SAO=0;SSR=0;VC=DIV;VP=0x050000020001000002000200;WGT=1;dbSNPBuildID=138
1       10054   rs373328635     CAA     C,CA    .       .       NOC;OTHERKG;R5;RS=373328635;RSPOS=10055;SAO=0;SSR=0;VC=DIV;VP=0x050000020001000002000210;WGT=1;dbSNPBuildID=138

用表来表达描述完全没问题。当然,PairEnd 的 FastQ 总是成对出现,那么就编排成 8 列的表就好了。VCF 格式的多行表头也要稍微处理一下,不过这都不是事儿。

问题可分割

这块涉及到生物学的专业知识,要描述清楚比较困难。基本的想法,是将 3Gb 标准数据切成若干份,然后分布式执行每一份的计算。理论上,切割肯定会对计算的精度带来影响。但是影响多大要试过才知道。实践中,也有些办法来弥补这些影响:比如适当扩大 reference 的 interval,或者通过数据重叠来缓解。

简言之,跟单机计算结果对比,一致率 98.8%,这个数字可以接受。

MaxCompute Streaming 作业

如果数据如何在分布式系统里流动都想得很清楚的话,那么最大的障碍其实已经不在,剩下的就都是工程问题。

MaxCompute 支持 Streaming 作业,允许用户使用任何语言开发 MR 作业,开启隔离环境之后甚至可以用在公共云环境。用 Streaming 作业,可以非常方便的将 BWA、samtools、GATK 集成在一个 MR 作业当中:


screenshot

这个作业,运行时间不到 3 个小时。

结语

或许很快,癌症患者可以当天拿到靶向药物是否有疗效的根据;新生病儿的早期诊断当天就可以排除是否遗传疾病;基因测序分析就像今天验血一样成为普通人司空见惯的体检手段。


或许将来,MaxCompute 可以更加发挥计算的能力,辅助挖掘 DNA 上目前 99% 还未知的领域。


我们期待这一天早些到来。


欢迎加入“数加·MaxCompute购买咨询”钉钉群(群号: 11782920)进行咨询,群二维码如下:

96e17df884ab556dc002c912fa736ef6558cbb51
相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
目录
相关文章
|
1月前
|
机器学习/深度学习 算法 搜索推荐
从理论到实践,Python算法复杂度分析一站式教程,助你轻松驾驭大数据挑战!
【10月更文挑战第4天】在大数据时代,算法效率至关重要。本文从理论入手,介绍时间复杂度和空间复杂度两个核心概念,并通过冒泡排序和快速排序的Python实现详细分析其复杂度。冒泡排序的时间复杂度为O(n^2),空间复杂度为O(1);快速排序平均时间复杂度为O(n log n),空间复杂度为O(log n)。文章还介绍了算法选择、分而治之及空间换时间等优化策略,帮助你在大数据挑战中游刃有余。
54 4
|
1月前
|
SQL 消息中间件 分布式计算
大数据-124 - Flink State 01篇 状态原理和原理剖析:状态类型 执行分析
大数据-124 - Flink State 01篇 状态原理和原理剖析:状态类型 执行分析
63 5
|
2月前
|
存储 大数据 测试技术
用于大数据分析的数据存储格式:Parquet、Avro 和 ORC 的性能和成本影响
在大数据环境中,数据存储格式直接影响查询性能和成本。本文探讨了 Parquet、Avro 和 ORC 三种格式在 Google Cloud Platform (GCP) 上的表现。Parquet 和 ORC 作为列式存储格式,在压缩和读取效率方面表现优异,尤其适合分析工作负载;Avro 则适用于需要快速写入和架构演化的场景。通过对不同查询类型(如 SELECT、过滤、聚合和联接)的基准测试,本文提供了在各种使用案例中选择最优存储格式的建议。研究结果显示,Parquet 和 ORC 在读取密集型任务中更高效,而 Avro 更适合写入密集型任务。正确选择存储格式有助于显著降低成本并提升查询性能。
383 1
用于大数据分析的数据存储格式:Parquet、Avro 和 ORC 的性能和成本影响
|
1天前
|
存储 监控 数据挖掘
【Clikhouse 探秘】ClickHouse 物化视图:加速大数据分析的新利器
ClickHouse 的物化视图是一种特殊表,通过预先计算并存储查询结果,显著提高查询性能,减少资源消耗,适用于实时报表、日志分析、用户行为分析、金融数据分析和物联网数据分析等场景。物化视图的创建、数据插入、更新和一致性保证通过事务机制实现。
24 14
|
7天前
|
数据采集 机器学习/深度学习 搜索推荐
大数据与社交媒体:用户行为分析
【10月更文挑战第31天】在数字化时代,社交媒体成为人们生活的重要部分,大数据技术的发展使其用户行为分析成为企业理解用户需求、优化产品设计和提升用户体验的关键手段。本文探讨了大数据在社交媒体用户行为分析中的应用,包括用户画像构建、情感分析、行为路径分析和社交网络分析,以及面临的挑战与机遇。
|
6天前
|
消息中间件 分布式计算 大数据
数据为王:大数据处理与分析技术在企业决策中的力量
【10月更文挑战第29天】在信息爆炸的时代,大数据处理与分析技术为企业提供了前所未有的洞察力和决策支持。本文探讨了大数据技术在企业决策中的重要性和实际应用,包括数据的力量、实时分析、数据驱动的决策以及数据安全与隐私保护。通过这些技术,企业能够从海量数据中提取有价值的信息,预测市场趋势,优化业务流程,从而在竞争中占据优势。
32 1
|
7天前
|
机器学习/深度学习 搜索推荐 大数据
大数据与教育:学生表现分析的工具
【10月更文挑战第31天】在数字化时代,大数据成为改善教育质量的重要工具。本文探讨了大数据在学生表现分析中的应用,介绍学习管理系统、智能评估系统、情感分析技术和学习路径优化等工具,帮助教育者更好地理解学生需求,制定个性化教学策略,提升教学效果。尽管面临数据隐私等挑战,大数据仍为教育创新带来巨大机遇。
|
10天前
|
人工智能 供应链 搜索推荐
大数据分析:解锁商业智能的秘密武器
【10月更文挑战第31天】在信息爆炸时代,大数据分析成为企业解锁商业智能的关键工具。本文探讨了大数据分析在客户洞察、风险管理、供应链优化、产品开发和决策支持等方面的应用,强调了明确分析目标、选择合适工具、培养专业人才和持续优化的重要性,并展望了未来的发展趋势。
|
26天前
|
存储 SQL 分布式计算
湖仓一体架构深度解析:构建企业级数据管理与分析的新基石
【10月更文挑战第7天】湖仓一体架构深度解析:构建企业级数据管理与分析的新基石
41 1
|
1月前
|
存储 消息中间件 大数据
大数据-69 Kafka 高级特性 物理存储 实机查看分析 日志存储一篇详解
大数据-69 Kafka 高级特性 物理存储 实机查看分析 日志存储一篇详解
32 4

相关产品

  • 云原生大数据计算服务 MaxCompute