The Genome Analysis Toolkit: A MapReduce framework for analyzing next-generation DNA sequencing data

The Genome Analysis Toolkit: A MapReduce framework for analyzing next-generation DNA sequencing data
复制标题

DOI:
10.1101/gr.107524.110
复制
发表时间:
2010-09-01
期刊:
影响因子:
7
通讯作者:
DePristo, Mark A.
DePristo, Mark A.
中科院分区:
生物学1区
文献类型:
--
作者:
McKenna, Aaron;Hanna, Matthew;DePristo, Mark A.

文献摘要

被引文献

相似文献

下一代DNA测序(NGS)项目,例如千人基因组计划,已经在彻底改变我们对个体间遗传变异的理解。然而,NGS产生的海量数据集(仅千人基因组试点项目就包含近5太字节)使得编写功能丰富、高效且稳健的分析工具对于即使是精通计算的人来说也很困难。实际上,许多专业人员在回答科学问题的范围和便捷性上受到限制,因为获取和处理这些仪器产生的数据很复杂。在此,我们讨论我们的基因组分析工具包(GATK),这是一个结构化的编程框架,旨在利用MapReduce的函数式编程理念,简化针对下一代DNA测序仪的高效且稳健的分析工具的开发。GATK提供了一组虽小但丰富的数据访问模式,涵盖了大多数分析工具的需求。将特定的分析计算与通用的数据管理基础设施分离,使我们能够针对正确性、稳定性以及CPU和内存效率对GATK框架进行优化,并实现分布式和共享内存并行化。我们通过描述稳健的、对规模有耐受性的工具(如覆盖度计算器和单核苷酸多态性(SNP)检测)的实现和应用,来突出GATK的能力。我们得出结论,GATK编程框架使开发人员和分析人员能够快速且轻松地编写高效且稳健的NGS工具,其中许多工具已经被纳入像千人基因组计划和癌症基因组图谱这样的大规模测序项目中。
Next-generation DNA sequencing (NGS) projects, such as the 1000 Genomes Project, are already revolutionizing our understanding of genetic variation among individuals. However, the massive data sets generated by NGS the 1000 Genome pilot alone includes nearly five terabases-make writing feature-rich, efficient, and robust analysis tools difficult for even computationally sophisticated individuals. Indeed, many professionals are limited in the scope and the ease with which they can answer scientific questions by the complexity of accessing and manipulating the data produced by these machines. Here, we discuss our Genome Analysis Toolkit (GATK), a structured programming framework designed to ease the development of efficient and robust analysis tools for next-generation DNA sequencers using the functional programming philosophy of MapReduce. The GATK provides a small but rich set of data access patterns that encompass the majority of analysis tool needs. Separating specific analysis calculations from common data management infrastructure enables us to optimize the GATK framework for correctness, stability, and CPU and memory efficiency and to enable distributed and shared memory parallelization. We highlight the capabilities of the GATK by describing the implementation and application of robust, scale-tolerant tools like coverage calculators and single nucleotide polymorphism (SNP) calling. We conclude that the GATK programming framework enables developers and analysts to quickly and easily write efficient and robust NGS tools, many of which have already been incorporated into large-scale sequencing projects like the 1000 Genomes Project and The Cancer Genome Atlas.