windows ubuntu 子系统,肿瘤全外篇,3. gatk中的BaseRecalibrator,HaplotypeCaller,ApplyVQSR

目录

1.碱基质量校正。

2.单样本变异调用

3.变异质控


2中,我们对测序数据进行了比对,bam排序,标记重复和建立索引。这次我们就直接可以进入gatk流程了。

1.碱基质量校正。

  BaseRecalibrator 是 GATK(Genome Analysis Toolkit)工具集中的一个工具,用于校正测序数据中碱基质量的偏差,从而提高变异检测的准确性。

        在测序数据分析中,由于测序平台、化学试剂、PCR等因素的影响,碱基质量可能存在偏差,例如一些碱基可能比其他碱基更容易出错。BaseRecalibrator 通过分析测序数据中的已知变异位点,统计每个碱基的观察频率和预期频率,然后计算出修正因子,以校正碱基质量的偏差。

  BaseRecalibrator 的工作流程大致如下:

  1. 收集变异位点信息: 从已知的变异位点(如 dbSNP 数据库中的位点)中提取出来,并根据这些位点的信息统计每个碱基的观察频率和质量分数。
  2. 建立模型: 基于收集到的信息,建立一个模型,用于描述碱基质量与观察频率之间的关系。
  3. 计算校正因子: 使用建立的模型,计算每个碱基的校正因子,用于修正碱基质量的偏差。
  4. 生成校正后的 BAM 文件: 应用计算得到的校正因子,对测序数据中的碱基质量进行校正,生成校正后的 BAM 文件。

1.1生成校正表

gatk BaseRecalibrator \
        -R /mnt/h/db/gatk/hg38/Homo_sapiens_assembly38.fasta \
        -I ./L1.markdup.bam \
        -known-sites /mnt/h/db/gatk/hg38/1000G_phase1.snps.high_confidence.hg38.vcf.gz \
        -known-sites /mnt/h/db/gatk/hg38/Mills_and_1000G_gold_standard.indels.hg38.vcf.gz \
        -O L1.IndelRealigner.intervals

gatk BaseRecalibrator: 这是运行 GATK 工具集中 BaseRecalibrator 工具的命令。

-R /mnt/h/db/gatk/hg38/Homo_sapiens_assembly38.fasta-R 参数指定参考基因组的 FASTA 文件路径。这里使用了 Homo sapiens 的 hg38 版本作为参考基因组。

-I ./L1.markdup.bam-I 参数指定输入的 BAM 文件,其中 L1.markdup.bam 是标记去重后的测序数据文件。

-known-sites /mnt/h/db/gatk/hg38/1000G_phase1.snps.high_confidence.hg38.vcf.gz-known-sites 参数指定已知的变异位点文件,这里使用了 1000 Genomes 项目中高置信度的单核苷酸多态性(SNPs)的 VCF 文件。

-known-sites /mnt/h/db/gatk/hg38/Mills_and_1000G_gold_standard.indels.hg38.vcf.gz-known-sites 参数再次指定已知的变异位点文件,这次使用了 Mills & 1000 Genomes 项目中的金标准插入/缺失(Indels)的 VCF 文件。

-O L1.IndelRealigner.intervals-O 参数指定输出文件的路径和文件名,这里生成的文件名为 L1.IndelRealigner.intervals,用于存储间插片段重对齐所需的间隔信息。

1.2 应用校正表

gatk ApplyBQSR \
        -R /mnt/h/db/gatk/hg38/Homo_sapiens_assembly38.fasta \
        -I ./L1.markdup.bam \
        -bqsr L1.IndelRealigner.intervals \
        -O L1_recalibrated_reads.bam

gatk ApplyBQSR: 这是运行 GATK 工具集中 ApplyBQSR 工具的命令。

-R /mnt/h/db/gatk/hg38/Homo_sapiens_assembly38.fasta-R 参数指定参考基因组的 FASTA 文件路径,这里使用了 Homo sapiens 的 hg38 版本作为参考基因组。

-I ./L1.markdup.bam: -I 参数指定输入的 BAM 文件,其中 949743-T_L2_1.markdup.bam 是标记去重后的测序数据文件。

-bqsr L1.IndelRealigner.intervals: -bqsr 参数指定之前生成的校正因子文件,这里使用了L1.IndelRealigner.intervals 文件。

-O L1_recalibrated_reads.bam: -O 参数指定输出文件的路径和文件名,这里生成的文件名为 L1_recalibrated_reads.bam,用于存储校正后的测序数据。

2.单样本变异调用

HaplotypeCaller是GATK(Genome Analysis Toolkit)中的一个重要工具,用于对测序数据进行变异(SNP和Indel)的检测和分析。它采用了全局的分析方法,利用多个样本的信息来识别可能的变异位点,并生成高质量的变异呼叫。用这个方法不用提前局部重比对。
主要特点:

  1. 基于组装的变异检测:HaplotypeCaller通过对碱基片段进行组装来识别变异位点,而不是简单地对每个碱基位置进行独立的分析。这种方法可以更准确地区分变异和测序错误。

  2. 局部重比对:在变异检测之前,HaplotypeCaller会进行局部重比对,以更好地处理插入缺失(Indels)。

  3. 多样本模式:HaplotypeCaller能够同时处理多个样本的测序数据,以提高变异检测的准确性。

  4. 基于贝叶斯方法的变异呼叫:HaplotypeCaller使用贝叶斯方法来计算每个可能的变异的概率,并在确定最终呼叫时考虑这些概率。

  5. 局部重比对:首先,HaplotypeCaller会对比对过的测序数据进行局部重比对,以纠正插入缺失导致的比对错误,并提高变异检测的准确性。

  6. 组装候选片段:接下来,HaplotypeCaller会从测序数据中组装出可能的等位基因片段(haplotypes),这些片段是由候选变异引起的,或者是由于测序错误而引入的。

  7. 变异检测:然后,对每个组装出的候选片段进行变异检测,通过比较片段与参考基因组之间的差异来识别SNP和Indel。

  8. 变异呼叫:最后,使用贝叶斯方法计算每个候选变异的概率,并基于这些概率进行变异呼叫,以确定最终的变异集合。

gatk  HaplotypeCaller \
     -R /mnt/h/db/gatk/hg38/Homo_sapiens_assembly38.fasta  \
     -I L1_recalibrated_reads.bam \
      --dbsnp /mnt/h/db/gatk/hg38/dbsnp_146.hg38.vcf.gz \
      -O L1_raw.vcf \
      1>L1_log.HC 2>&1

-R /mnt/h/db/gatk/hg38/Homo_sapiens_assembly38.fasta-R 参数指定参考基因组的 FASTA 文件路径,这里使用了 Homo sapiens 的 hg38 版本作为参考基因组。

-I L1_recalibrated_reads.bam-I 参数指定输入的 BAM 文件,其中 L1_recalibrated_reads.bam 是经过校正后的测序数据文件。

--dbsnp /mnt/h/db/gatk/hg38/dbsnp_146.hg38.vcf.gz--dbsnp 参数指定已知的变异位点文件,这里使用了 dbSNP 数据库中的 hg38 版本的 VCF 文件。

-O L1_raw.vcf-O 参数指定输出文件的路径和文件名,这里生成的文件名为 L1_raw.vcf,用于存储未经过过滤的原始变异结果。

1>L1_log.HC 2>&1: 这部分是将标准输出和标准错误输出重定向到文件 L1_log.HC 中,以便记录日志信息。

        GATK HaplotypeCaller之后,需要进行质控,可以用GATK Variant Quality Score Recalibration(VQSR)。VQSR的原理是利用自身数据和已知变异位点集之间的重叠,通过高斯混合模型(GMM)构建一个分类器来对变异数据进行打分,从而评估每个位点的可靠性。具体而言,VQSR使用已知变异位点集作为训练集,通过统计特征(如变异质量、测序深度等)和已知位点的质量得分,构建一个GMM模型。然后,该模型会根据自身数据的特征和已知位点的质量得分,为每个变异位点分配一个新的质量得分。最终,VQSR根据这个新的质量得分,对变异位点进行过滤和分类,以确定哪些位点是高可靠度的变异。通过这一方法,VQSR可以帮助识别那些在自身数据中可能存在假阳性或假阴性的变异位点,并提供更可靠的变异集合,从而提高变异检测的准确性和可信度。

3.变异质控

接下来的命令需要 R: conda insatll R

3.1生成校正模型

gatk VariantRecalibrator \
-R /mnt/h/db/gatk/hg38/Homo_sapiens_assembly38.fasta \
-V L1_raw.vcf \
-resource:hapmap,known=false,training=true,truth=true,prior=15.0 /mnt/h/db/gatk/hg38/hapmap_3.3.hg38.vcf.gz \
-resource:omini,known=false,training=true,truth=false,prior=12.0 /mnt/h/db/gatk/hg38/1000G_omni2.5.hg38.vcf.gz \
-resource:1000G,known=false,training=true,truth=false,prior=10.0 /mnt/h/db/gatk/hg38/1000G_phase1.snps.high_confidence.hg38.vcf.gz \
-resource:dbsnp,known=true,training=false,truth=false,prior=2.0 /mnt/h/db/gatk/hg38/dbsnp_146.hg38.vcf.gz \
-an DP -an QD -an FS -an SOR -an ReadPosRankSum -an MQRankSum -mode SNP -tranche 100.0 \
-tranche 99.9 -tranche 99.0 -tranche 95.0 -tranche 90.0 \
-O ./snprecal/L1_WES.snp.recal.vcf \
--tranches-file ./snprecal/L1_WES.snp.tranches \
--rscript-file ./snprecal/L_WES.snp.plots.R

-R /mnt/h/db/gatk/hg38/Homo_sapiens_assembly38.fasta:指定参考基因组的FASTA文件路径。

-V L1_raw.vcf:指定原始的VCF文件路径,这是待校正的文件。

-resource:hapmap,known=false,training=true,truth=true,prior=15.0 /mnt/h/db/gatk/hg38/hapmap_3.3.hg38.vcf.gz:指定用于训练和校正的参考资源。这里包括hapmap、omini、1000G和dbsnp四个资源。每个资源都有不同的权重(prior),hapmap和omini的truth值为true,而1000G和dbsnp的known值为true。这些资源通常用于帮助确定变异的真实性和可靠性。

-an DP -an QD -an FS -an SOR -an ReadPosRankSum -an MQRankSum:指定用于校正的注释标签(annotations)。这些标签包括深度(DP)、质量/深度比值(QD)、分段比例(FS)、strand偏差(SOR)、读取位置秩和(ReadPosRankSum)以及映射质量秩和(MQRankSum)等。

-mode SNP:指定模式为SNP,表示这个命令用于对SNP进行校正。

-tranche:指定用于切分数据的阈值。这里有四个不同的阈值:100.0、99.9、99.0和95.0。这些阈值用于确定变异的可靠性等级,例如,阈值100.0表示最高可靠性。

-O ./snprecal/L1_WES.snp.recal.vcf:指定输出的校正后的VCF文件路径。

--tranches-file ./snprecal/L1_WES.snp.tranches:指定输出的阈值文件路径,其中包含了根据给定阈值进行的变异分级。

--rscript-file ./snprecal/L_WES.snp.plots.R:指定输出的R脚本文件路径,用于绘制校正过程中生成的各种图表。

        这个命令通过对原始的VCF文件进行训练和校正,生成了一个校正后的VCF文件,其中包含了经过过滤和分级的SNP数据,以及相应的阈值文件和R脚本用于可视化分析。

3.2 运用校正模型

gatk ApplyVQSR \
-R /mnt/h/db/gatk/hg38/Homo_sapiens_assembly38.fasta \
-V ../L_1_raw.vcf \
--ts-filter-level 99.0 \
--tranches-file L1_WES.snp.tranches \
--recal-file L1_WES.snp.recal.vcf \
-mode SNP \
-O 19P0126636WES.snps.VQSR.vcf.gz

-R /mnt/h/db/gatk/hg38/Homo_sapiens_assembly38.fasta:指定参考基因组的FASTA文件路径。

-V ../L1_raw.vcf:指定原始的VCF文件路径,这是待应用VQSR的文件。

--ts-filter-level 99.0:指定过滤阈值的水平,这里设定为99.0,表示将满足99.0%可靠性阈值的变异保留下来。

--tranches-file L1_WES.snp.tranches:指定之前生成的阈值文件路径,用于对变异进行过滤。

--recal-file L1_WES.snp.recal.vcf:指定之前生成的校正文件路径,用于对变异进行校正。

-mode SNP:指定模式为SNP,表示这个命令用于对SNP数据进行VQSR。

-O 19P0126636WES.snps.VQSR.vcf.gz:指定输出的VCF文件路径,这是应用VQSR后的结果文件,经过过滤和校正的SNP数据。

        这个命令将会根据之前建立的校正模型,对原始的VCF文件中的SNP进行过滤和校正,并生成一个经过VQSR处理的结果文件。

         这就生成了一个VCF文件,流程跑完了,但是感觉还是啥也不会,先不说了,还是有空补充下基础知识吧。跑流程的过程中遇到了无数大坑,一坑更比一坑坑,大家想学,还是要自己跑一下。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/573100.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

前端导入的方便方法

直接上代码: 利用input的导入功能 这是相应的处理方法 是不是很简单呢

《系统架构设计师教程(第2版)》第10章-软件架构的演化和维护-01-软件架构演化概述

文章目录 1. 演化的重要性2. 架构演化示例 教材中,本节名为:“软件架构演化和定义的关系” 1. 演化的重要性 演化目的:维持软件架构自身的有用性 为什么说,软件架构是演化来的,而不是设计来的? 软件架构的…

【Shell】循环结构——for和while循环实例

Shell可以重复地执行特定的指令,直到特定的条件被满足为止。这重复执行的一组指令就叫做循环 特点: 首先,循环条件中使用的变量必须是已初始化的,然后在循环中开始执行每次在循环开始时进行一次测试重复地执行一个代码块 循环实例…

SD-WAN怎样提高企业网络体验

随着数字化转型的加速,传统基于MPLS的专用网络因其高度的结构化和僵化性,已无法满足现代企业对于灵活性和成本效益的日益增长的需求。相比之下,SD-WAN作为一种创新的网络架构,正以其卓越的性能和灵活的管理方式,成为企…

服务于金融新核心系统 星辰天合与中电金信完成产品兼容认证

近日,北京星辰天合科技股份有限公司(简称:XSKY星辰天合)与中电金信软件有限公司(简称:中电金信)完成产品兼容性认证,星辰天合的企业级分布式统一数据平台 XEDP 符合金融级数字底座&q…

ECG-Emotion Recognition(情绪识别)-- 数据集介绍WESADDREAMER

1、WESAD数据集 下载链接:WESAD: Multimodal Dataset for Wearable Stress and Affect Detection | Ubiquitous Computing (1)基本介绍 WESAD是一个用于可穿戴压力和影响检测的新的公开数据集。该多模式数据集以实验室研究期间15名受试者的生…

学习JFinal

1.五个配置类 configConstants(配置): configRoute(路由): 2.Controller层(控制器) 访问流程: Action: getPara: 参数说明:第一个参…

13.Blender 界面介绍(下) 雕刻、纹理绘制及属性

界面介绍 1. 布局 物体的移动旋转和缩放等操作 2. 建模 里面就是有一些建模常用的功能 里面的功能对于做MMD来说不是必备的操作 3. 雕刻 使用里面的工具可以对物体本身进行修改 4. UV编辑 如果想要编辑UV贴图 将编辑模式改为纹理绘制 再点击右边的工具 如果进行编…

MySQL-----多表查询(一)

目录 一.多表关系: 1.1 一对多(多对一): 1.2 多对多: 1.3 一对一: 二.多表查询概述: 三.连接查询: 3.1内连接: 3.2外连接: 3.3自连接查询: 3.4联合查询: 一.多表关系&…

告别单一密码,多因素身份认证带你进入安全新纪元!

文章目录 前言一、你知道什么?二、你拥有什么1.智能卡2.令牌 三、你是什么四、其他因素身份认证 前言 当我们探讨多因子/多因素身份认证时,我们可能会好奇这里的“因素”具体指的是什么?显然,用户名和密码是一种因素,…

iclientOpenlayer用uniapp开发移动端GIS应用设计及实现

GIS移动端应用是将地理信息系统(GIS)技术应用于移动设备(如智能手机、平板电脑)上,使用户能在户外或移动场景下访问、收集、分析和展示地理信息。以下是GIS移动端应用的一些关键特性和应用场景: 关键特性&…

淘宝新店没有流量和访客怎么办

淘宝新店没有流量和访客时,可以采取以下措施来提升店铺的流量和吸引更多的访客: 3an推客是给商家提供的营销工具,3an推客CPS推广模式由商家自主设置佣金比例,以及设置商品优惠券,激励推广者去帮助商家推广商品链接&…

c++初阶——类和对象(中)

大家好,我是小锋,我们今天继续来学习类和对象。 类的6个默认成员函数 我们想一想如果一个类什么都没有那它就是一个空类,但是空类真的什么都没有吗? 其实并不是,任何类在什么都不写时,编译器会自动生成以…

C++ | Leetcode C++题解之第43题字符串相乘

题目&#xff1a; 题解&#xff1a; class Solution { public:string multiply(string num1, string num2) {if (num1 "0" || num2 "0") {return "0";}int m num1.size(), n num2.size();auto ansArr vector<int>(m n);for (int i …

比亚迪海洋网再添实力爆款,海豹06DM-i、OCEAN-M、海狮07EV登陆北京车展

4月25日&#xff0c;比亚迪海洋网携海豹06DM-i、OCEAN-M、海狮07EV一齐亮相北京车展&#xff0c;引发关注热潮。其中&#xff0c;海洋网全新中型轿车海豹06DM-i价格区间12万-15万元&#xff0c;将于今年二季度上市&#xff1b;行业首款两厢后驱纯电钢炮OCEAN-M价格区间15万-20万…

重发布的原理及其应用

重发布的作用&#xff1a; 在一个网络中&#xff0c;若运行多种路由协议或者相同协议的不同进程&#xff1b;因为协议之间不能直接沟通计算&#xff0c;进程之间也是独立进行转发和运算的&#xff0c;所以&#xff0c;需要使用重发布来实现路由的共享。 条件 &#xff1a; 1&am…

RH850F1KM 搭建MCAL配置环境

1 搭建环境所需的安装包 安装以下软件安装包 1&#xff09;MCAL下载&#xff1a;AUTOSAR RH850/F1KM MCAL v42.11.00 Software 2&#xff09;Davinci工具 SIP包&#xff1a;DaVinci Configurator Pro 3&#xff09;下载网址&#xff1a;https://www.renesas.cn/cn/zh/product…

美团面试题-Nacos配置中心动态刷新原理

①&#xff1a;pull模式&#xff1a;主动拉去配置&#xff0c;通过固定的时间间隔。缺点&#xff1a;频繁请求&#xff0c;时效性不高&#xff0c;时间间隔不好设置。 ②&#xff1a;push模式&#xff1a;服务端检测到变化&#xff0c;主动将新配置推送给客户端&#xff0c;时效…

python的列表生成式

什么是列表生成式&#xff1f; 列表生成式&#xff0c;顾名思义&#xff0c;是生成列表的一个简单又直接的方法。它使用了一种紧凑的语法来构造列表&#xff0c;能够以一种更清晰、更简洁的方式来表达循环和过滤逻辑。 基础示例让我们先从一些简单的例子开始&#xff1a; 「生…

echarts 基础入门

前言&#xff1a;本文档主要讲解 echarts 在 vue3 中的用法&#xff0c;及其 echarts 的一些配置参数含义及用法。示例参考 echarts 示例 一&#xff1a;快速开始 1. 安装 echarts npm install echarts # or pnpm add echarts # or yarn add echarts 2. 使用 echarts <…
最新文章