0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何同时使用Nucleus与TensorFlow解决基因组学领域的机器学习问题

Tensorflowers 来源:lq 2019-02-20 14:38 次阅读

简介

在本文中,我们将 DNA 测序纠错表述为多级分类问题,并提出两种深度学习解决方案。第一种方法是在单次读取中纠错,而第二种方法(如图 1 所示)则通过多次读取来达成共识,以预测正确的 DNA 序列。我们的Colab 笔记教程使用Nucleus和TensorFlow库实现第二种方法。本文旨在向您展示如何同时使用 Nucleus 与 TensorFlow 解决基因组学领域的机器学习问题。

问题概览

尽管 DNA 测序日渐快捷和便宜,其过程仍容易出错。使用Illumina等公司开发的新一代测序 (NGS) 技术处理原始数据时,错误率约为 1%。第三代技术,例如Pacific BioSciences(PacBio) 公司开发的技术,正日益普及,其错误率约为 15%。测序错误可分为替换、插入和缺失,后两者通常称为 indel。所有这些错误均不利于下游的分析步骤,例如变异检测和基因组组装。

如要获取较高质量的数据集,一个简单的方法是舍弃可能包含错误的数据,丢弃全部读取内容或去除低质量区域皆可。该方法并非理想之选,因为这会导致最终的数据集会变小。此外,某些序列上下文本来就有较高的错误率,进而导致采样出现偏差。因此,大量研究都侧重于开发更成熟的纠错方法。大多数已开发的方法均可归类为以下两组之一:

对单次读取进行操作的方法,旨在确定正确的读取序列

对多次读取进行操作的方法,以共识为基础,旨在确定正确的基础 DNA 序列

深度学习概览

本文中阐述的两种方法均使用深度神经网络,学习将输入映射至输出的函数。神经网络由若干层线性与非线性运算构成,而这些运算会依次应用至输入。神经网络已成功应用于包括图像分类和自然语言翻译在内的多个问题领域。最近,神经网络也被用于解决基因组学问题,例如蛋白质结构预测和变异检测。

方法

Nucleus

我们的实现需要Nucleus,这是由 Google Brain 的 Genomics 团队开发的内容库,用于处理基因组学数据。Nucleus 使用专门的 reader 对象与 writer 对象,可轻松读取、写入和分析常见基因组文件格式(如 BAM、FASTA 和 VCF)中的数据。Nucleus 让我们能够:

针对指定基因组区域中的所有变异查询 VCF 文件

针对映射至指定基因组范围的所有读取内容查询 BAM 文件

针对从指定位置开始的参考序列查询 FASTA 文件

我们还能使用 Nucleus 将数据写入TFRecords,这种二进制文件格式由协议缓冲区消息构成,可由 TensorFlow 轻松读取。读取 TFRecords 文件后,我们会使用Estimator API训练和评估卷积神经网络。

数据

以下是我们在实现过程中所使用的文件列表。所有数据均公开提供,且此 教程包含下载链接与说明。

NA12878_sliced.bam — 从 20 号染色体(位置 10,000,000–10,100,000)获得的 Illumina HiSeq 读取内容,降采样至 30x 的覆盖度

NA12878_sliced.bam.bai — NA12878_sliced.bam 的索引

NA12878_calls.vcf.gz — 瓶中基因组 NA12878 变异的真值集合

NA12878_calls.vcf.gz.tbi — NA12878_calls.vcf.gz 的索引

hs37d5.fa.gz — hs37d5 的参考基因组

hs37d5.fa.gz.fai 和 hs37d5.fa.gz.gzi — hs37d5.fa.gz 的索引文件

注:教程 链接

https://colab.research.google.com/github/google/nucleus/blob/master/nucleus/examples/dna_sequencing_error_correction.ipynb

网络架构

卷积神经网络通常用于处理计算机视觉任务,但也非常适用于基因组学。每个卷积层都会反复将学习后的过滤器应用于输入数据。在网络中早期出现的卷积过滤器会学习识别输入数据的低级特征(如图像中的边缘及色彩梯度),而后期出现的过滤器则会学习识别更复杂的低级特征组合。对于 DNA 序列输入,低级卷积过滤器会充当 motif 检测器,这类似于序列标识图的位置权重矩阵。

在实现过程中,我们使用的标准卷积架构依次由两个卷积层及三个全连接层组成。我们使用非线性 ReLU 层提升模型的表现能力。当卷积层减少输入量后,我们会进行最大池化,并会在全连接层充当正则化矩阵后退出此过程。请注意,在得到最终的全连接层后,我们不会加入 softmax 层,因为我们使用的损失函数是在内部应用 softmax。如需了解每层的详情,请参阅此教程。

注:教程 链接

https://colab.research.google.com/github/google/nucleus/blob/master/nucleus/examples/dna_sequencing_error_correction.ipynb

方法 1:单次读取的纠错

为了纠正序列读取中的错误,我们使用深度学习来训练神经网络,以解决一个较为普遍的问题:填充 DNA 序列中缺失的碱基。此方法旨在开发一种可理解 DNA 序列语法的模型。若仅靠真实序列的语法,我们可能无法获取充足的信息来开发可用于生产环境的解决方案。尽管如此,这依然是一个简单明了的示例应用。

出于指导目的,我们通过以下方法简化此问题:

仅考虑存在替换错误的区域,并忽略 indel 错误

仅考虑未存在已知变异的区域

我们可以在参考基因组的区域中训练该神经网络。此网络的输入是定长的 DNA 序列,其核心是我们希望预测的碱基。此网络的输出是可能出现的碱基分布,且最终预测结果为可能性最高的碱基。我们使用在参考基因组中观测到的碱基产生标签集。由于我们仅使用映射至未存在已知真值变异之区域的读取内容,因此可以将参考基因组中存在的碱基明确标记为标签。

我们将参考基因组分割成非重叠的定长片段,以产生输入序列。在训练、评估和测试时,我们将参考序列中的一个碱基置零,以模拟缺失的碱基,如图 3 所示(位置 5)。除了使用参考基因组来模拟缺失的数据之外,我们还可将此类模型应用于序列读取的数据,特别是质量评分低于阈值的碱基。

方法 2:基于共识的纠错

纠错的最终目的是确定基础 DNA 序列,而非为了纠正单次读取的错误。在本部分,我们通过汇总序列堆叠来使用多次读取达成的共识。如此一来,无需纠正单次读取的中间步骤即可直接确定 DNA 序列。有关序列堆叠的示例如下方图 4 所示。请注意,下图仅展示了此窗口中存在的读取部分。

出于指导目的,我们再次通过以下方法简化此问题:

仅考虑存在替换错误的区域,并忽略 indel 错误

仅考虑未存在已知变异的区域

与第一种方法不同,我们并未在参考基因组中训练此模型。相反,我们的训练数据来自所映射的 Illumina HiSeq 读取内容。此网络的输入是在所映射的读取内容中观测到的标准化碱基数矩阵,其核心是我们希望预测的正确碱基的位置。Clairvoyante(一种用于变异检测的神经网络)的作者以及Jason Chin 的示例方法中皆使用了类似的特征化方式。此网络的输出是可能出现的碱基分布,且最终预测结果为可能性最高的碱基。与第一种方法类似,我们使用在参考基因组中观测到的碱基来产生标签集。我们将包含错误(在堆叠中至少有一次读取与中心位置中的参考序列不符)的示例及未包含错误(堆叠中的所有读取均与中心位置中的参考序列相符)的示例结合使用。

结论

此随附教程演示了本文所述的第二种方法。尽管我们分析的示例较为简单,不适合在生产环境中部署,但我们希望它们能帮助开发者学会高效利用 Nucleus 和深度学习解决基因组学领域的问题。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 机器学习
    +关注

    关注

    66

    文章

    8122

    浏览量

    130557
  • 深度学习
    +关注

    关注

    73

    文章

    5237

    浏览量

    119908
  • tensorflow
    +关注

    关注

    13

    文章

    313

    浏览量

    60242

原文标题:使用 Nucleus 与 TensorFlow 进行 DNA 测序纠错

文章出处:【微信号:tensorflowers,微信公众号:Tensorflowers】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    基于大数据的食品精进安全食品

    开发的益生乳酸菌产品广泛应用于食品、医疗、畜牧业和农业领域。会上,关于基因组学的新酶挖掘及其在油脂工业中的应用、蛋白组学与代谢在功能食品
    发表于 11-17 15:54

    浅析基因传感器

    21世纪是生物发展的时代,特别是生物科学与计算机科学经融合产生的生物信息将得到蓬勃的发展。事实上,从20世纪90年代初随着人类基因组计划的实施,生物信息就已开始形成。一般地讲,生
    发表于 07-09 06:04

    蛋白质技术与药物作用新靶点研究进展 精选资料分享

    ,成为制约新药开发速度的瓶颈。基因组学研究表明,人体中全部药靶蛋白为1万~2万种,而在过去100年中发现的靶点,仅约有 500种。因此,自1994年Wilkins等提出蛋白质(pro- teome
    发表于 07-26 07:48

    基因组数据CNV分析简介 精选资料分享

    除了利用aCGH和snp芯片来检测CNV之外,也可以通过NGS数据来分析CNV, 比如全基因组和全外显子测序。针对全基因组CNV的检测,还针对开发了一种称之为C...
    发表于 07-29 08:24

    基因组测序的优势 精选资料分享

    基因组测序的优势目前,随着高通量测序技术快速发展、测序成本的进一步降低以及组装方法的不断完善,全基因组测序研究主要包括3个方面。第一种为不参考任何现有序列从头组装测序,是对未知基因组序列的物种进行
    发表于 07-29 08:31

    基因组CNV分析的策略是什么?

    基因组CNV分析的策略是什么?
    发表于 10-27 06:43

    基因组测序的优势是什么?

    基因组测序的优势是什么?
    发表于 10-27 06:27

    使用Arm服务器减少基因组学的时间和成本

    1、使用Arm服务器减少基因组学的时间和成本  我们现在可以展示三种主要aligners在Arm架构AWS Graviton3上的性能。AWS Gravaton3是AWS服务器系列中最新的基于Arm
    发表于 10-09 16:32

    基于计算分析的高可用弹性宏基因组学计算平台

    、高复杂度测序数据,让研究人员在处理过程中面临诸多困难面,大规模测序数据的分析消耗资源,如硬件资源、时间成本等;另一方面,计算分析过程中必然涉及到的大量宏基因组学计算分析工具很难由普通使用者自行部署、调试与维护。文中对比了领域内主流的宏
    发表于 04-19 10:54 6次下载
    基于计算分析的高可用弹性宏<b class='flag-5'>基因组学</b>计算平台

    北鲲云超算平台对于基因组学研究能够提供哪些帮助?

    随着众多生物基因组测序项目的完成,生物学数据正在加速度增长。从高通量/多组学,到单分子/单细胞;从多倍体/单倍型到宏基因组/环境基因组;从精准医疗到系统医学等等,后基因组时代的
    发表于 11-15 14:24 375次阅读

    NVIDIA Clara Parabricks助力基因组学和药物研究

    世界上最大的遗传学研究鉴定数据库使科学家能够访问NVIDIA Clara Parabricks,以加速推进基因组学和药物研发领域的发展。
    的头像 发表于 02-17 11:07 1209次阅读

    微流控芯片技术在单细胞基因组学研究中的应用

    单细胞基因组学包括单细胞全基因组测序和以单细胞和微量细胞为材料的全基因组范围内的基因功能研究。功能基因组学以结构
    的头像 发表于 03-03 13:04 1935次阅读
    微流控芯片技术在单细胞<b class='flag-5'>基因组学</b>研究中的应用

    百度智算峰会精彩回顾:GPU 加速药物研发与基因组学分析

    日,“2022 百度云智峰会·智算峰会”成功举办。 NVIDIA 资深解决方案架构师翟健 分享了以“ GPU 加速药物研发与基因组学分析 ”为题的演讲,介绍了 NVIDIA 如何利用 GPU 和加速软件推动 AI 驱动的药物研发与基因组学分析,包括 NVIDIA 与百度
    的头像 发表于 12-29 00:00 619次阅读

    基因组学大型语言模型在多项任务中均展现出卓越的性能和应用扩展空间

    InstaDeep、慕尼黑工业大学(TUM)和 NVIDIA 之间的合作推动了面向基因组学的多超级计算规模的基础模型开发进程。这些模型在大量预测任务(例如启动子和增强子位点预测)中展示了最先进的性能
    的头像 发表于 01-17 01:05 461次阅读

    人工智能如何改变基因组学

    AI 和加速计算正在为基因组测序流程开辟新的可能性。 全基因组测序领域的进步已经点燃了数字生物学的革命。 随着新一代高通量测序成本的下降,基因组学项目正在世界各地展开。 无论是对患有罕
    的头像 发表于 04-05 00:25 406次阅读