基于spark平台的基因数据分析方法技术

技术编号:21632352 阅读:52 留言:0更新日期:2019-07-17 12:14
本发明专利技术提供一种基于spark平台的基因数据分析方法。该方法包括:获取基因测序数据;利用spark平台将所获取的基因测序数据生成弹性分布式数据集RDD,其中,所述弹性分布式数据集RDD包括多个部分;对所述弹性分布式数据集RDD的每个部分执行与参考基因的比对,以生成包含比对结果的弹性分布式数据集RDD。根据本发明专利技术的方法,能够将基因数据分析算法通过spark平台来实现,从而提高基因数据分析的效率和灵活性。

Gene Data Analysis Method Based on Spark Platform

【技术实现步骤摘要】
基于spark平台的基因数据分析方法
本专利技术涉及基因数据测序
,尤其涉及一种基于spark平台的基因数据分析方法。
技术介绍
近年来,基因测序技术得到了迅速发展,尤其是二代测序(NGS,Nextgenerationsequence)技术的广泛应用,使得基因测序在疾病监测、生物医疗等领域发挥了重要作用,基因测序相关的医疗产品逐渐成型并展现出巨大的市场潜力。然而,随着二代测序数据量爆炸性的增长,传统的基因数据分析工具和分析方法已经无法满足海量生物数据的处理需求,基因数据的处理速度逐渐成为整个基因测序流程中的瓶颈。尽管国内外针对基因数据处理进行了大量的优化工作,例如,通过分布式并行处理基因数据或针对基因数据分析工具的优化加速等,但总体而言,相对于原始测序数据的产生,基因数据分析的计算效率较低。现有技术中,使用的并行优化方法是基于任务调度和共享存储,通常通过数据划分对各个基因数据步骤进行多机并行,这种方法很难进行进程间通信,在编程模式上受到较大局限,很难对数据依赖情况进行处理。而且数据切分会产生大量中间文件,导致磁盘读写速度慢。另外,由于共享文件系统(例如Lustre等)对大量小文件的支持较差,也限制了基因数据分析程序的并行性。此外,基因数据分析流程会根据具体应用场景的不同进行调整,随着基因测序技术的应用场景不断拓展,基因数据分析流程的开发和调整也较为频繁。目前,大多数基因测序产品的核心手段是通过对基因数据进行比对和清理,检测其中的变异位点并出具相应的检测治疗报告。然而,由于不同数据处理流程涉及的基因样本、算法参数等存在较大的差别,使得针对特定测序流程的优化工作难以移植。因此,需要对现有技术进行改进,以解决基因数据分析过程效率低、可扩展性差等问题。
技术实现思路
本专利技术的目的在于克服上述现有技术的缺陷,提供一种基于spark平台的基因数据分析方法。根据本专利技术的第一方面,提供了一种基于spark平台的基因数据分析方法,包括以下步骤:步骤1:获取基因测序数据;步骤2:利用spark平台将所获取的基因测序数据生成弹性分布式数据集RDD,其中,所述弹性分布式数据集RDD包括多个部分;步骤3:对所述弹性分布式数据集RDD的每个部分执行与参考基因的比对,以生成包含比对结果的弹性分布式数据集RDD。在一个实施例中,在步骤2中,对于双端基因测序数据,执行以下步骤:通过hadoopAPI接口分别将两个基因测序数据文件加载并生成两个弹性分布式数据集RDD;将所述两个弹性分布式数据集RDD合并为一个弹性分布式数据集RDD;根据测序序列的名称进行groupBy操作并通过map操作生成成对的所述弹性分布式数据集RDD。在一个实施例中,本专利技术的基因数据分析方法还包括:步骤4:对所述包含比对结果的弹性分布式数据集RDD进行数据清理,以获得去冗余的弹性分布式数据集RDD;步骤5:对所述去冗余的弹性分布式数据集RDD依次执行插入缺失重对齐、碱基质量重校验和变异检测,以确定所述基因测序数据中的变异位点。在一个实施例中,步骤4包括:对于所述包含比对结果的弹性分布式数据集RDD,去除标志为未比对上、次要的和增补的测序序列;以测序序列名称为键将同名的测序序列分为一组,不存在两个相同测序序列名称的测序序列作为一个片段;生成测序对数据结构并生成用于判断是否冗余的签名,其中,所述签名包括测序序列的重叠群、位置和匹配方向;根据签名将存在冗余的组和片段分为一组;从所划分的组中选择质量分数最高的组或片段,通过flatMap操作生成去冗余的弹性分布式数据集RDD。在一个实施例中,所述执行插入缺失重对齐包括:对于所述去冗余的弹性分布式数据集RDD,在每个部分内遍历堆叠,查找需要重新比对的目标区域;对所述目标区域进行重新比对,以获得插入缺失重对齐的弹性分布式数据集RDD。在一个实施例中,所述执行碱基质量重校验包括:针对完成插入缺失重对齐的弹性分布式数据集RDD,在每个部分内对一组特征的共现次数和错误率进行统计,将分组数据转化为局部的统计结果;根据多个节点上的统计结果,生成全局的BQSR表;对全局BQSR表进行广播操作,使其在各个任务中都有一份拷贝;用全局BQSR表对插入缺失重对齐的弹性分布式数据集RDD进行重新比对,以获得碱基质量重校验的弹性分布式数据集RDD。在一个实施例中,所述执行变异检测包括:针对碱基质量重校验的弹性分布式数据集RDD,在每一部分内确定有效区域;对所述有效区域进行Pair-HMM求似然处理,得到候选基因型并生成GVCF格式的中间结果;对所述中间结果进行过滤和聚合,以得到整个基因测序数据的变异位点。在一个实施例中,在步骤1中,所述基因测序从spark平台内存中直接读取或从文件系统里读取。与现有技术相比,本专利技术的优点在于:利用spark平台对基因测序数据进行比对、数据清理和变异检测等,能够提高基因数据分析的效率以及分析过程的可扩展性。附图说明以下附图仅对本专利技术作示意性的说明和解释,并不用于限定本专利技术的范围,其中:图1示出了用于基因数据分析的spark平台的框架示意图;图2示出了根据本专利技术一个实施例的基于spark平台进行基因数据分析的开发框架的示意图;图3示意了根据本专利技术一个实施例的针对双端测序数据生成数据集的过程;图4示出了spark平台上各任务获得静态索引的示意图;图5示出了根据本专利技术一个实施例的去除冗余数据的过程示意;图6示出了GATK相关算法的执行模式示意图;图7示出了一种变异检测算法的执行过程示意图。具体实施方式为了使本专利技术的目的、技术方案、设计方法及优点更加清楚明了,以下结合附图通过具体实施例对本专利技术进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本专利技术,并不用于限定本专利技术。本专利技术结合二代测序基因数据分析和大数据处理技术,提出了一种用于基因数据分析的Spark平台开发框架,能够实现主流的基因数据处理算法,并抽象为API(应用程序编程接口)的形式,以便用户使用该开发框架对基因测序流程进行进一步的开发。Spark是一种可扩展的数据分析平台,其使用弹性分布式数据集RDD,提供了分布式内存并行计算引擎,支持快速的迭代计算。Spark平台的计算都是通过操作RDD来进行,对RDD的操作分为转化操作(transformation)和行动操作(action),当执行RDD的转化操作时,实际计算并没有被执行,当执行RDD的行动操作时,才会促使计算任务提交以执行相应的计算操作。例如,转化操作包括Map、mapPartition、flatMap、join、Repartition、Filter、Union等,行动操作包括Collect、Count、Reduce、GroupBy等。图1示出了根据本专利技术一个实施例的用于基因数据分析的Spark平台开发框架。该开发框架逻辑上可分为三层,最上层是由用户编写的驱动应用程序模块110,中间层的编程框架包括用户API模块120、进程和算法模块130、执行引擎模块140,最下层是编程框架所依赖的spark环境、外部工具和诸如HDFS(Hadoop分布式文件系统)和NFS(网络文件系统)的文件系统等。驱动应用程序模块110由用户编写,包含对基因数据分析特定流程的描述,例如,用户需要运行的基因分析算法以及这本文档来自技高网
...

【技术保护点】
1.一种基于spark平台的基因数据分析方法,包括以下步骤:步骤1:获取基因测序数据;步骤2:利用spark平台将所获取的基因测序数据生成弹性分布式数据集RDD,其中,所述弹性分布式数据集RDD包括多个部分;步骤3:对所述弹性分布式数据集RDD的每个部分执行与参考基因的比对,以生成包含比对结果的弹性分布式数据集RDD。

【技术特征摘要】
1.一种基于spark平台的基因数据分析方法,包括以下步骤:步骤1:获取基因测序数据;步骤2:利用spark平台将所获取的基因测序数据生成弹性分布式数据集RDD,其中,所述弹性分布式数据集RDD包括多个部分;步骤3:对所述弹性分布式数据集RDD的每个部分执行与参考基因的比对,以生成包含比对结果的弹性分布式数据集RDD。2.根据权利要求1所述的基因数据分析方法,其中,在步骤2中,对于双端基因测序数据,执行以下步骤:通过hadoopAPI接口分别将两个基因测序数据文件加载并生成两个弹性分布式数据集RDD;将所述两个弹性分布式数据集RDD合并为一个弹性分布式数据集RDD;根据测序序列的名称进行groupBy操作并通过map操作生成成对的所述弹性分布式数据集RDD。3.根据权利要求1所述的基因数据分析方法,其中,还包括:步骤4:对所述包含比对结果的弹性分布式数据集RDD进行数据清理,以获得去冗余的弹性分布式数据集RDD;步骤5:对所述去冗余的弹性分布式数据集RDD依次执行插入缺失重对齐、碱基质量重校验和变异检测,以确定所述基因测序数据中的变异位点。4.根据权利要求3所述的方法,其中,步骤4包括:对于所述包含比对结果的弹性分布式数据集RDD,去除标志为未比对上、次要的和增补的测序序列;以测序序列名称为键将同名的测序序列分为一组,不存在两个相同测序序列名称的测序序列作为一个片段;生成测序对数据结构并生成用于判断是否冗余的签名,其中,所述签名包括测序序列的重叠群、位置和匹配方向;根据签名将存在冗余的组和片段分为一组;从所划分的组中选择质量分数最高的组或片段,通过flatM...

【专利技术属性】
技术研发人员:谭光明张中海牛钢王炳琛张春明
申请(专利权)人:北京哲源科技有限责任公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1