GATK简介

GATK简介二代测序通过荧光和生物试剂等手段获得人类遗传物质基因的碱基序列 但由于这些获得的信息是大量片段性质的 而且存在一定误差 因此想要准确完整的确定其所处位置和真实的碱基类型需要我们使用计算机的手段来进行分析 这些分析就是我们通常使用的基因测序数据分析流程 二代测序主要分为 DNA 测序和 RNA 测序 在 DNA 测序中 GATK 被广泛应用到 1000GenomesP 和 CancerGenome 等国际化大项目中 而且被各大研究所和一些基因公司广泛使用 GATK 的

        二代测序通过荧光和生物试剂等手段获得人类遗传物质基因的碱基序列,但由于这些获得的信息是大量片段性质的,而且存在一定误差,因此想要准确完整的确定其所处位置和真实的碱基类型需要我们使用计算机的手段来进行分析,这些分析就是我们通常使用的基因测序数据分析流程。二代测序主要分为DNA 测序和RNA 测序,在DNA 测序中,GATK 被广泛应用到1000 Genomes Project和Cancer Genome Atlas 等国际化大项目中,而且被各大研究所和一些基因公司广泛使用。

GATK的流程

GATK(The Genome Analysis Toolkit)[13]是由Broad Institute 开发的一套发现多样性位点的工具集,它主要是为了来发现DNA 测序和RNA 测序数据中的SNP(Single Nucleotide Polymorphisms)和indel(insert&delete)。除了多样性位点的发现之外,GATK 中还包括一些相关的工具,包括预处理工具和控制测序数据质量的工具。

GATK简介

 GATK 的典型流程主要由7 个步骤组成:第一部分是序列比对,主要由BWA完成;第二部分是数据清理,主要包括Mark Duplicates、Sort、Indel Realignment 和Base Recalibration 这几个步骤;第三部分是多样性发现,主要由HaplotypeCaller 以及其后的Joint Genotyping 和Variant Recalibration。

序列比对(BWA)

DNA 测序中通过测序仪我们得到了大量的成对的DNA 分子片段(长度大约100-300bp),首先要做的就是把这些片段比对到参考序列上。参考序列是通过人类基因组计划测得的人类的基因序列的参考标准。

BWA 使用的算法是通过轮排索引(k-gram索引)搜索的方式来进行比对,下图中列出了字符串googol 建立的后缀数组和轮排索引字符串。GATK简介

数据清理

GATK 典型流程中数据清理部分主要包括三方面的内容:重复标记、indel 局部重新比对和碱基质量重校正。

测序时在制备文库过程中,PCR 的扩增会产生一些偏差,这些扩增的序列就会比对到同一个位置,但是这些扩增的序列并不是基因组本身固有的,因此不能作为检测变异的证据,所以我们需要去除掉这些重复的序列,这个过程就叫做Mark Duplicates。这一步主要通过使用picard 软件来完成,把序列中的duplicate flag 设置为true 来表示重复的序列。

在多样性发现中,我们主要使用质量分数在Q25 之上的碱基,但实际上质量分数在Q25 的碱基的错误率在1%左右,也就是说质量分数只有Q20,这样会对我们后续的变异检测的可信度产生影响;另外,测序过程是边合成边测序的,在序列末端的碱基错误率要比起始端高很多;再加上不同的碱基的出错率的不同,A(腺嘌呤)C(胞嘧啶)的质量分数往往低于T(胸腺嘧啶)G(鸟嘌呤)[18]。因此对碱基的质量分数的校正就非常有必要,Base Recalibration 主要完成的就是这项工作。

多样性发现

多样性发现是整个GATK 典型流程的核心,主要包括Haplotype Caller 及其后的Joint Genotyping 和Variant Recalibration,通过对比对并且清理后的序列数据与参考序列之间的分析评估,找出可能的变异位点,并对这些变异位点进行详细的校正和分析。

Haplotype Caller 是整个GATK 典型流程中最重要也是最复杂的一步,由于我们得到的序列是片段的,而且其数据存在一定的错误率,所以找出变异位点的方法也需要以一种不确定的方式。GATK 的Haplotype Caller 中主要使用了Pair-HMM 的方法来对位点进行评估,确定变异位点的可能性。随后的Joint Genotyping 主要把超过一定阈值的位点(也就是变异位点)进行合并,过滤掉正常位点,最后通过Variant Recalibration 来对变异位点进行校正,并确定SNP 位点和indel 位点以及它们相对应的得分。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/217430.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 上午9:35
下一篇 2026年3月18日 上午9:35


相关推荐

  • 增强Spring @CacheEvict实现key模糊匹配清除

    增强Spring @CacheEvict实现key模糊匹配清除系统中集成了 Springcache 使用 CacheEvict 进行缓存清除 CacheEvict 可以清除指定的 key 同时可以指定 allEntries true 清空 namespace 下的所有元素 现在遇到一个问题使用 allEntries true 清空 namespace 的值只能是常量 但是我现在需要将缓存根据租户的唯一 TelnetID 进行分离 这就导致 allEntries true 不能使用了 否则一旦触发清除缓存 将会导致全部的缓存清空 而我只想清空当前租户的缓存 熟悉 re

    2026年3月9日
    4
  • ZAB协议简介

    ZAB协议简介Zookeeper 使用 ZookeeperAto ZAB 协议来保障分布式数据一致性 ZAB 是一种支持崩溃恢复的消息广播协议 采用类似 2PC 的广播模式保证正常运行时性能 并使用基于 Paxos 的策略保证崩溃恢复时的一致性 在阅读本文前建议先了解 2PC 和 PaxosZAB 协议中节点存在四种状态 Leading 当前节点为集群 Leader 负责协调事务

    2026年1月21日
    2
  • c++中sqrt函数的使用

    c++中sqrt函数的使用sqrt使用时大多需要要强制类型转化,因为sqrt只支持double和float类型,可以这样c=(int)sqrt((double)a*a+b*b);或者c=(int)sqrt((float)a*a+b*b);

    2022年5月5日
    148
  • Balun变换器基础知识

    Balun变换器基础知识导言巴伦有着悠久而辉煌的历史 1939 年 作为一种为帝国大厦 1 的电视发射天线供电的装置 首次在文献中被记载 从那时起 设计就有了巨大的发展 应用也从驱动差分天线发展到包括平衡混频器 放大器和所有类型的信号线 balun 长期以来在低频音频 视频和天线驱动应用中无处不在 对高速 低噪声数据传输的需求推动了巴伦向更高频率和卓越性能的发展 尽管有了这些进步 关于巴伦人的信息仍然是分散和混乱的 本申请说明旨在通过澄清巴伦的基本特征来解决此问题 首先 我们将定义巴伦是什么 它做什么 以及它与其他组件的区别 接下来

    2026年3月20日
    2
  • 与书

    与书

    2021年9月4日
    60
  • 奇异矩阵的解释

    奇异矩阵的解释奇异矩阵是线性代数的概念 就是该矩阵的秩不是满秩 1 nbsp 首先 看这个矩阵是不是方阵 2 nbsp 再看此矩阵的行列式 A 是否等于 0 若等于 0 称矩阵 A 为奇异矩阵 3 nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp 若不等于 0 称矩阵 A 为非奇异矩阵 nbsp 用途 这样可以得出一个重要结论 可逆矩阵就是非奇异矩阵 非奇异矩阵

    2026年3月17日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号