GATK4 最佳实践-生殖细胞突变的检测与识别

欢迎关注"生信修炼手册"!

GATK4 对于体细胞突变和生殖细胞突变的检测分别给出了对应的pipeline:

  1. Germline SNPs+Indels

  2. Somatic SNVs + Indels

本篇主要关注生殖细胞突变的分析流程Germline SNPs+Indels。示意图如下:

图中红色方框部分的从Analysis-Ready Bam 到,主要包括以下4步

  1. HaplotyperCaller in GVCF mode

  2. ImportGenomicsDB Consolidate GVCFs

  3. GenotypeGVCFs

  4. Filter Variants by Variabt Recalibration

官网给出了6套用于参考的pipeline

主要分析步骤都差不多,这里我选择第4个通用的流程 ,网址如下

https://github.com/gatk-workflows/gatk4-germline-snps-indels

1.  HaplotyperCaller in GVCF mode

对于每个样本,采用HaplotyperCaller计算突变位点,命令如下

gatk --java-options "-Xmx6G -XX:GCTimeLimit=50 -XX:GCHeapFreeLimit=10" \HaplotypeCaller \-R ${ref_fasta} \-I ${input_bam} \-L ${interval_list} \-O ${output_filename} \-contamination 0 -ERC GVCF

ref_fasta代表参考基因组的fasta文件;input_bam代表预处理阶段产生的 bam文件;interval代表interval list文件,如果指定这个参数,只会输出指定区域的突变信息。对于全基因组测序,不需要这个参数,对于外显子和目的区域捕获测序, 则需要这个参数;output_filename代表每个样本输出的gvcf文件的名字。

2. ImportGenomicsDB Consolidate GVCFs

将所有样本的gvcf文件合并,产生一个总的gvcf文件,命令如下:

gatk --java-options -Xmx2G  \MergeVcfs \--INPUT ${sep=' --INPUT ' input_vcfs} \--OUTPUT ${output_filename}

3. GenotypeGVCFs

包括两个步骤,第一步,导入MergeVcfs合并好的gvcf文件, 命令如下

gatk --java-options "-Xmx4g -Xms4g" \GenomicsDBImport \--genomicsdb-workspace-path ${workspace_dir_name} \--batch-size ${batch_size} \-L ${interval} \--sample-name-map ${sample_name_map} \--reader-threads 5 \-ip 500

workspace_dir_name代表输出目录;batch_size指定同时访问的最大文件数,默认值为0,表示同时访问所有样本的文件;interval代表interval list文件,如果指定这个参数,只会输出指定区域的突变信息。对于全基因组测序,不需要这个参数,对于外显子和目的区域捕获测序, 则需要这个参数;sampple_name_map是一个文件,记录了样本名称和每个样本对应的gvcf文件的路径。格式如下

sample1      sample1.vcf.gz
sample2      sample2.vcf.gz
sample3      sample3.vcf.gz

第二步, 运行GenotypeGVCFs,命令如下

gatk --java-options "-Xmx5g -Xms5g" \GenotypeGVCFs \-R ${ref_fasta} \-O ${output_vcf_filename} \-D ${dbsnp_vcf} \-G StandardAnnotation \--only-output-calls-starting-in-intervals \--use-new-qual-calculator \-V gendb://$WORKSPACE \-L ${interval}

需要注意-V 参数,指定的是GenomicsDBImport输出目录的路径。

4. Filter Variants by Variabt Recalibration

第一步,过滤vcf文件,条件为ExcessHet大于给定的阈值,命令如下:

gatk --java-options "-Xmx3g -Xms3g" \VariantFiltration \--filter-expression "ExcessHet > ${excess_het_threshold}" \--filter-name ExcessHet \-O ${variant_filtered_vcf_filename} \-V ${vcf}

excess_het_threshold指定ExcessHet的阈值;variant_filtered_vcf_filename代表输出的vcf文件的名字;vcf代表GenotypeGVCFs 生成的vcf文件的名字。注意,不满足条件的记录也会出现在最终生成的vcf文件中, 只不过对应的Filter字段的信息不是PASS

第二步,删除vcf文件中的基因型信息,命令如下

gatk --java-options "-Xmx3g -Xms3g" \MakeSitesOnlyVcf \--INPUT ${variant_filtered_vcf_filename} \--OUTPUT ${sites_only_vcf_filename}

第三步,合并不同区间的vcf文件,并建立索引

gatk --java-options "-Xmx6g -Xms6g" \GatherVcfsCloud \--ignore-safety-checks \--gather-type BLOCK \--input ${inputs.list} \--output ${output_vcf_name}
gatk --java-options "-Xmx6g -Xms6g" \IndexFeatureFile \--feature-file ${output_vcf_name}

output_vcf_name代表输出的vcf文件;inputs.list指定不同区间的vcf文件的路径,格式如下

cohortA_chr1.vcf.gz
cohortA_chr2.vcf.gz

第四步,分别评估SNP和INDEL突变位点的质量, 命令如下

gatk --java-options "-Xmx24g -Xms24g" \VariantRecalibrator \-V ${sites_only_variant_filtered_vcf} \-O ${recalibration_filename} \--tranches-file ${tranches_filename} \--trust-all-polymorphic \-tranche ${sep=' -tranche ' recalibration_tranche_values} \-an ${sep=' -an ' recalibration_annotation_values} \-mode INDEL \--max-gaussians 4 \-resource mills,known=false,training=true,truth=true,prior=12:${mills_resource_vcf} \-resource axiomPoly,known=false,training=true,truth=false,prior=10:${axiomPoly_resource_vcf} \-resource dbsnp,known=true,training=false,truth=false,prior=2:${dbsnp_resource_vcf}
gatk --java-options "-Xmx100g -Xms100g" \VariantRecalibrator \-V ${sites_only_variant_filtered_vcf} \-O ${recalibration_filename} \--tranches-file ${tranches_filename} \--trust-all-polymorphic \-tranche ${sep=' -tranche ' recalibration_tranche_values} \-an ${sep=' -an ' recalibration_annotation_values} \-mode SNP \--sample-every-Nth-variant ${downsampleFactor} \--output-model ${model_report_filename} \--max-gaussians 6 \-resource hapmap,known=false,training=true,truth=true,prior=15:${hapmap_resource_vcf} \-resource omni,known=false,training=true,truth=true,prior=12:${omni_resource_vcf} \-resource 1000G,known=false,training=true,truth=false,prior=10:${one_thousand_genomes_resource_vcf} \-resource dbsnp,known=true,training=false,truth=false,prior=7:${dbsnp_resource_vcf}

resource指定建模时参考的vcf文件,可以看到对于indel和snp, 参考的数据库不一样。这一步只是建模,会输出一个recalibration table文件,用于ApplyVQSR命令。

第五步,运行VQSR, 命令如下

gatk --java-options "-Xmx5g -Xms5g" \ApplyVQSR \-O tmp.indel.recalibrated.vcf \-V ${input_vcf} \--recal-file ${indels_recalibration} \--tranches-file ${indels_tranches} \--truth-sensitivity-filter-level ${indel_filter_level} \--create-output-variant-index true \-mode INDEL
gatk_path --java-options "-Xmx5g -Xms5g" \ApplyVQSR \-O ${recalibrated_vcf_filename} \-V tmp.indel.recalibrated.vcf \--recal-file ${snps_recalibration} \--tranches-file ${snps_tranches} \--truth-sensitivity-filter-level ${snp_filter_level} \--create-output-variant-index true \-mode SNP

input_vcf文件为GatherVcfsCloud生成的vcf文件,先校正INDEL位点,后校正SNP位点。

扫描关注微信号,更多精彩内容等着你!

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GATK4最佳实践-体细胞突变的检测与识别

欢迎关注"生信修炼手册"! 分析体细胞突变时,通常采用tumor_vs_nomal 的实验设计。在检测时,由于同时会检测出生殖细胞突变和体细胞突变,需要做的就是去除生殖细胞突变位点,那么剩下的就是体细胞突变位点了&a…

TCGA差异表达分析|2022.5.1更新

作者:Squirrelity 2022-07-18 补充说明 最近R更新了,很多包都用不了,如果遇到报错或者是运行不了有可能是因为版本问题。 一、加载对应的R包 这里用到十三个包(距离上次更新之后又新增了不少方法/包): lib…

病理基因突变综述

颜锐, 梁智勇, 李锦涛, 任菲. 基于深度学习和H&E染色病理图像的肿瘤相关指标预测研究综述[J]. 计算机科学, 2022, 49(2): 69-82. YAN Rui, LIANG Zhi-yong, LI Jin-tao, REN Fei. Predicting Tumor-related Indicators Based on Deep Learning and H&E Stained Patholo…

maftools|TCGA肿瘤突变数据的汇总,分析和可视化

之前介绍了使用maftools | 从头开始绘制发表级oncoplot(瀑布图) R-maftools包绘制组学突变结果(MAF)的oncoplot或者叫“瀑布图”,以及一些细节的更改和注释。 本文继续介绍maftools对于MAF文件的其他应用,为…

生信-记一次NCBI-R语言-淋巴癌突变与未突变基因的差异分析

关键词:基因芯片、R、筛选、预处理、差异分析 NCBI-淋巴癌突变与未突变基因的差异分析 PS:好久没分享生信了,这是一年前做的一次生信task(准确来说是2018年11月了),这里分享一下给大家,有助于一…

TCGA 亚型突变负荷代码

#1、准备文件/数据并加载相应的包 #1.1下载并加载相应的包,有就直接加载,没有就下载后再加载。 install.packages("pacman") library(pacman) p_load(TCGAbiolinks,DT,tidyverse) BiocManager::install("TCGAbiolinks") library(t…

四、肿瘤全基因组学体细胞点突变特征(The repertoire of mutational signatures in human cancer)

全文链接 一、肿瘤突变特征:碱基置换及插入、缺失突变 单碱基置换(49种特征类型,single-base-substitution,SBS) 双碱基置换(11种特征类型,doublet-base-substitution,DBS&#xf…

TCGA_联合GTEx分析2_查看批次效应

在 TCGA_联合GTEx分析1_得到表达矩阵.tpm_老实人谢耳朵的博客-CSDN博客 中,获取了TCGA和GTEx中样本的表达矩阵数据,数据格式均为tpm。本文对二者进行合并后,通过PCA分析、绘制内参箱线图等方法,查看是否存在批次效应。 关于批次效…

提取TCGA 中体细胞突变数据的表达矩阵

#因为之前的命令调用GDCquery_Maf 发现用不了 #故找到了一些其他的方法,并且自己试着将其弄成了一个表达矩阵。 #代码如下 #1、下载加载相应的包 install.packages("pacman") library(pacman) p_load(TCGAbiolinks,DT,tidyverse) BiocManager::insta…

chatgpt赋能python:Python抢票的绝招

Python 抢票的绝招 随着互联网技术的不断发展,越来越多的人开始享受网购的便利。但是,随着一些热门事件的到来,如演唱会、体育比赛等,大家面临同一个问题:如何抢到热门事件的门票?这时,Python …

CSDN问答

近期AI成为热点话题, ChatGPT, GPT4, new bing, Bard,AI 绘画, AI 编程工具引发大量讨论。请结合自身学习经历,一起来聊聊你对 AI 技术以及其今后发展的看法吧。请在下面的问题中选择一些来回答…

起名源码PHP(宝宝取名源码)

起名源码有助于更好的借助八字风水来帮助起名的需求,其参考了一部中国古代经典文本易经。以这种方式咨询的过程包括通过随机生成的方法确定卦,然后阅读与该卦相关的文本。      演示:m.appwin.top      部分源码:texts.py…

携程英语口语测验题目

携程入职前会有两个测验:CATA能力测验、英语测验(部分岗位可能没有英语测验) 这两个测验通过,方可进入下面流程,所有这两个测验一定要引起重视; 题型分布 携程英语测验 题型攻略 携程英语测验 总共六部分…

Ubuntu软件安装新选择—星火应用商店(QQ、微信等一网打尽)

Ubuntu软件安装新选择—星火应用商店(QQ、微信等一网打尽) 1. 星火应用商店介绍2. 下载安装星火应用商店3. 使用星火应用商店安装软件4. 使用星火应用商店更新软件5. 日常软件推荐6. 星火应用商店交流群 1. 星火应用商店介绍 官网地址 http://spark-app…

学生信息后台管理系统(GUI)

一、目的 通过制作学生信息后台管理系统熟悉java中JDBC和CUI(图形用户接口)的使用。 二、实验工具 1.Eclipse IDE Version: 2020-12 (4.18.0) 2.mysql 3.Navicat Premium 15(数据库管理工具) 4.WindowBuilder(java图形用户界面插件) 具体下载和使用可以参考以下链接: 下…

数影周报:SpaceX设计图纸被泄露,拍明芯城正式在纳斯达克上市

本周看点:LockBit勒索软件团伙扬言泄露SpaceX设计图纸;亚马逊宣布将停止 Kindle Newsstand 服务;“拍明芯城”正式在纳斯达克上市...... 数据安全那些事 LockBit勒索软件团伙扬言泄露SpaceX设计图纸 近日,勒索软件组织LockBit给埃…

小米汽车设计图纸泄露,官方称非最终文件;微软裁员遣散费高达8亿美元,人均获赔54万元;苹果暂停自研Wi-Fi芯片|极客头条...

「极客头条」—— 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧。 整理 | 梦依丹 出品 | CSDN(ID:CSDNnews) 一分钟速览新闻点&#…

为什么要使用低代码 – 前端角度的思考

为什么要使用低代码 – 前端角度的思考 文章目录 为什么要使用低代码 – 前端角度的思考当前前端发展现状低代码的热潮已经掀起千层浪UI工程师常常面临一些令人尴尬的场景低代码化解场景思路低代码对于外包型企业或软件研发企业在前端有什么优势呢?这里简单列举三点…

《互联网大厂推荐算法实战》上线啦!

为什么是“上线”而非“出版”? 你没眼花,我也没写错,是“上线”而非“出版”,个中原因,请容我慢慢道来。如果你对八卦不感兴趣,可以直接跳到本文的第2部分,看看我给出的“你需要读这本书”的理…

石塔西的《互联网大厂推荐算法实战》上线啦!

PS:史塔西的文章还是很有质量的,成体系的内容输出更是有质量保障,感兴趣的可以关注下(感觉好像我也得努力下了,数据与广告系列还没有完,也给自己加个油)。 为什么是“上线”而非“出版”&#x…