终于看到了一个完整的mutect2使用脚本

因为嫌麻烦,所以一直使用的是简化版mutect2流程,其实就一个命令:

time $GATK  --java-options "-Xmx10G -Djava.io.tmpdir=./"  Mutect2 -R $reference \
-I $tumor_bam  -tumor $(basename "$tumor_bam" _recal.bam) \
-I $normal_bam -normal $(basename "$normal_bam" _recal.bam) \
-O ${sample}_mutect2.vcf
$GATK  FilterMutectCalls -V ${sample}_mutect2.vcf -O ${sample}_somatic.vcf

但是很明显,这其实不符合官网教程的理念

https://gatkforums.broadinstitute.org/gatk/discussion/9183/how-to-call-somatic-snvs-and-indels-using-mutect2 https://software.broadinstitute.org/gatk/documentation/article?id=9183

但是官网教程的确太繁琐,里面涉及到6个步骤,而我只是运行了最后一个!

因为种种原因,没能抽出时间细致的探索mutect2的用法,但是无意中搜索到脚本一个: https://figshare.com/articles/scripts_sh/4542397

可以说是非常良心了:

#!/bin/sh

##GATK bundle download
wget ftp://gsapubftp-anonymous@ftp.broadinstitute.org/bundle/hg19/ucsc.hg19.fasta.gz -O /path/to/GATK/bundle/ucsc.hg19.fasta.gz
wget ftp://gsapubftp-anonymous@ftp.broadinstitute.org/bundle/hg19/dbsnp_138.hg19.vcf.gz -O /path/to/GATK/bundle/dbsnp_138.hg19.vcf.gz
wget https://ndownloader.figshare.com/files/7354246 -O /path/to/GATK/bundle/TP53.sorted.bed
wget https://ndownloader.figshare.com/files/7354213 -O /path/to/GATK/bundle/CosmicCodingMuts.chr.sort.head.vcf

##ANNOVAR database files download
export PATH=$PATH:/path/to/annovar

annotate_variation.pl -buildver hg19 -downdb -webfrom annovar refGene humandb/
annotate_variation.pl -buildver hg19 -downdb cytoBand humandb/
annotate_variation.pl -buildver hg19 -downdb genomicSuperDups humandb/
annotate_variation.pl -buildver hg19 -downdb -webfrom annovar esp6500siv2_all humandb/
annotate_variation.pl -buildver hg19 -downdb -webfrom annovar 1000g2015aug humandb/
annotate_variation.pl -buildver hg19 -downdb -webfrom annovar snp138 humandb/
annotate_variation.pl -buildver hg19 -downdb -webfrom annovar dbnsfp30a humandb/
annotate_variation.pl -buildver hg19 -downdb -webfrom annovar cosmic70 humandb/
annotate_variation.pl -buildver hg19 -downdb -webfrom annovar exac03 humandb/
annotate_variation.pl -buildver hg19 -downdb -webfrom annovar clinvar_20160302 humandb/

#define the reference file path
GATK=/path/to/GATK/GenomeAnalysisTK.jar
REF=/path/to/GATK/bundle/ucsc.hg19.fasta
DBSNP=/path/to/GATK/bundle/dbsnp_138.hg19.vcf
COSMIC=/path/to/GATK/bundle/CosmicCodingMuts.chr.sort.head.vcf
BED=/path/to/GATK/bundle/TP53.sorted.bed

#create a Panel of Normals (PoN) vcf file from the 4 low-grade tumour samples
for pathandfile in /path/to/EGA/normal/*.clean.recal.TP53.bam ; do
   basewithpath=${pathandfile%.clean.recal.TP53.*}
   basenopath=$(basename $basewithpath)

java -jar $GATK \
   -T MuTect2 \
   -R $REF \
   -I:tumor $(echo $basewithpath).clean.recal.TP53.bam \
   --dbsnp $DBSNP \
   --cosmic $COSMIC \
   --artifact_detection_mode \
   -L $BED \
   -o $(echo $basewithpath).clean.recal.TP53.normal.vcf
done

java -jar $GATK \
   -T CombineVariants \
   -R $REF \
   -V /path/to/EGA/normal/GB544-10_S18.clean.recal.TP53.normal.vcf -V /path/to/EGA/normal/GB624-11_S81.clean.recal.TP53.normal.vcf -V /path/to/EGA/normal/GB730-12_S41.clean.recal.TP53.normal.vcf -V /path/to/EGA/normal/GB909-13_S90.clean.recal.TP53.normal.vcf \
   -minN 2 \
   --setKey "null" \
   --filteredAreUncalled \
   --filteredrecordsmergetype KEEP_IF_ANY_UNFILTERED \
   -L $BED \
   -o /path/to/EGA/normal/MuTect2_PON.vcf

#call somatic variants
for pathandfile in /path/to/EGA/tumor/*.clean.recal.TP53.bam ; do
   basewithpath=${pathandfile%.clean.recal.TP53.*}
   basenopath=$(basename $basewithpath)
   
java -jar $GATK \
   -T MuTect2 \
   -R $REF \
   --dbsnp $DBSNP \
   --cosmic $COSMIC \
   -dt NONE \
   --input_file:tumor $(echo $basewithpath).clean.recal.TP53.bam \
   --intervals $BED \
   -PON /path/to/EGA/normal/MuTect2_PON.vcf \
   -o $(echo $basewithpath).clean.recal.TP53.vcf

done

#ANNOVAR annotation
mkdir /path/to/EGA/tumor/ANNOVAR
cp /path/to/EGA/tumor/*.vcf /path/to/EGA/tumor/ANNOVAR

##convert file format
for pathandfile in /path/to/EGA/tumor/ANNOVAR/*.vcf ; do
   filename=${pathandfile%.*}
   convert2annovar.pl --format vcf4 --includeinfo --withzyg $pathandfile > $(echo $filename).avinput
done

##add sample information
for pathandfile in /path/to/EGA/tumor/ANNOVAR/*.avinput ; do
   filename=$(basename $pathandfile)
   mainfilename=${filename%.clean.recal.TP53.avinput}
   pathandmain=${pathandfile%.*}
   awk -v var1="$mainfilename" '{OFS = "\t" ; print $0, var1}' $pathandfile > $(echo $pathandmain).avinputs
done

##merge file
cat /path/to/EGA/tumor/ANNOVAR/*.avinputs > /path/to/EGA/tumor/ANNOVAR/TP53.Tonly.avinput
   
##annotate
table_annovar.pl /path/to/EGA/tumor/ANNOVAR/TP53.Tonly.avinput /path/to/annovar/humandb/ -buildver hg19 -out /path/to/EGA/tumor/ANNOVAR/TP53.Tonly -remove -protocol refGene,cytoBand,genomicSuperDups,esp6500siv2_all,1000g2015aug_all,snp138,dbnsfp30a,cosmic70,exac03,clinvar_20160302 -operation g,r,r,f,f,f,f,f,f,f --otherinfo

虽然这个流程是基于 hg19 参考基因组的,但是很容易就能改写为 hg38版本的!

还有一个问题是他那个流程的项目背景是,得到的肿瘤样品是没有配对normal的,而是 create a Panel of Normals (PoN) vcf file from the 4 low-grade tumour samples

而且,这个流程是基于  GATK3成熟版本的,并不是GATK4哦。

如果大家有GATK4的MUTECT2经验,可以交流一下哈。

(0)

相关推荐

  • 【软件介绍】ANNOVAR注释软件用法

    变异检测得到的结果是检测样本的基因组序列与参考基因组序列之间的差异.本质上是一个将真实的变异从文库准备.样本富集.检测/测序和映射/比对产生的产物中分离出来的过程.想要进一步研究每一个变异的实际意义, ...

  • 高手如何打造一个完整的生态链轻松赚大钱的秘诀分享

    今天的企业竞争,归根到底是商业模式的竞争. 认为一个公司需要建立它自己的商业模式.众所周知这两年新能源领域非常火爆,迎来了发展的风口,尤其是电动车领域. 众所周知,我们国内的电动车都是卖到国外去的,所 ...

  • 黄金终于有了一个像样的反弹幅度

    黄金带来了久违的力量.受美元走弱和疫情不确定性影响,加上累计黄金消费需求释放,昨晚纽约黄金期货价格和国际现货黄金价格双双上涨,突破1800美元/盎司的重要关口,再创两个多月来新高.今日早盘,A股黄金板 ...

  • 后轮异响怎么办?给你一个完整的解决过程

    作者:龙行天下 有个电动摩托车车主骑着车来到我店,说自己的车刹车异响,让我帮看一下. 接车后用手左右摇动后轮有很大的间隙,初步诊断为后轮轴承损坏.将轮毂电机分解,电机内部生锈的不能看. 清理电机定子硅 ...

  • PPT造车 or 实力造车?——给你一个完整的蔚来

    自打蔚来汽车横空出世,网络上对它的质疑和攻击就没有消停过,究竟是李斌携众星之力打造中国版特斯拉,还是玩一场泡沫式的资本狂欢,本文告诉你答案. Part1 2019年号称是蔚来最惨的一年,一单50亿的融 ...

  • 如何引导客户做一个完整的腹式呼吸?

    大家好 这里是诺亚第运动康复学院 "运动康复你来问,解决问题我来答" 今天是<你问我答>系列视频的第117期 本期将由我们的陈浩老师 来给大家做答疑分享 希望能帮助到大 ...

  • 一个完整的小区智能化有哪些系统?如何实现?

    小区智能化是弱电朋友做的比较多的项目,哪么一份完善的小区弱电智能化会有哪些弱电系统呢?如何实现呢?我们来看下. 首先完善的智能化小区它需要包括以下系统.我们来逐一介绍. 一.访客系统 作为现代化的小区 ...

  • 初中时暗恋的白衣少年,终于成了一个油腻的中年大叔|高中|恋爱

    #故事人生# 01 初中的时候喜欢过一个男生,我们俩坐前后桌,他总是会拽我的辫子. 每每我都会转过头来,怒目而视:"我跟你说过了我不喜欢这样,你再这样我要报告老师了." 他笑了笑, ...

  • 一个完整的网络项目,如何根据需求配置交换机?值得收藏学习!

    通过实例来详细讲解一个完整的网络项目从规划到交换机配置的详细过程. 一.案例要求拓扑图 小型园区中,分为两个部门,每个部门相互独立,却又通信,进行组网如下图. 二.分析 在拿到项目后,首先的就是对项目 ...

  • 语言文字是载体,并不能呈现一个完整的人

    编辑:筱燕 设计:小小 期数:第598篇 心之力 | 爱语言 | 爱沟通 | 正念力 | 悟书会                语言.文字是一个人思维的载体,是思维的表现形式,但不等同于说话的这个人. ...