GATK4-Mutect2-FilterMutectCalls

最近在搭建大panel(528基因)Tumor-Normal样本分析的管线,用的是GATK4-Mutect2工具。

1.GATK4用到的数据库(b37)

ref="b37/human_g1k_v37.fasta"
common_biallelic=" b37_common_biallelic.vcf"

2.Mutect2


gatk="/biotools/gatk-4.0.7.0/gatk"

${gatk} --java-options "-Xmx4G "  Mutect2 \
        -R ${ref} \
        -I normal.bam \
        -I tumor.bam \
        -normal normal_samplename\        
        -tumor tumor_samplename \
        --native-pair-hmm-threads  16 \
        -stand-call-conf 30 \
        --minimum-mapping-quality 30 \
        -O outputname.mutect2.vcf 

说明
1)normal.bam和tumor.bam是输入的bam文件;
2)-tumor 和 -normal 后面跟着的是最后输出vcf文件的时候最后两列的名字;
3)下面三个不是必须的,根据自己的需要来设定;(设置线程的参数在官网没有介绍,可能是个隐藏彩蛋,而且在GATK4大多数工具包里已经没有了,HaplotypeCaller似乎也可以用)

3.FilterMutectCalls
如果想要加入cotamination的过滤,就先要用GetPileupSummaries,再用CalculateContamination 生成一个.contamination.table.

${gatk} GetPileupSummaries -I ${Tumor}.recal.bam  -V ${common_biallelic}  -O ${Tumor}.pileups.table
${gatk} GetPileupSummaries -I ${Normal}.recal.bam  -V ${common_biallelic}  -O ${Normal}.pileups.table

${gatk} CalculateContamination \
-I ${Tumor}.pileups.table  -matched ${Normal}.pileups.table \
-O ${Tumor}.contamination.table

${gatk} --java-options "-Xmx4G" FilterMutectCalls \
-V outputname.mutect2.vcf  \
-contamination-table ${Tumor}.contamination.table \
-O filtername.somatic.vcf

1)-V 就是Mutect2的输出文件,Filter一栏全部为".";
2)加上-contamination-table 参数在Filter会加上一个contamination的tag;

  1. -O 输出文件Filter一栏标注PASS,t_lod,contamination等tags;
    4)GetPileupSummaries 用到的参考文件,只要是 only common biallelic variants就行;

4.ANNOVAR
后面要用ANNOVAR,所以先用convert2annovar将vcf转成avinput格式文件

perl convert2annovar.pl -format vcf4 -filter pass filtername.somatic.vcf  --allsample --outfile string

1)-filter pass 是为了只保留vcf文件中Filter一栏PASS的variant;
2)--allsample 是因为Mutect2 的输出的vcf包含了两个样本的信息(Tumor和Normal)
3)--outfile 这个要注意的是实际输出的时候文件名是--outfile后面写的字符串加上每个样本的样本名(在这里就是上面Mutect2中normal_samplename和tumor_samplename),再加上"avinput"。比如写了”string“就是"string.normal_samplename.avinput",有几个样本就会输出几个文件。

疑问:我这里做完之后,normal的avinput都是空,只有tumor有内容。

你可能感兴趣的:(GATK4-Mutect2-FilterMutectCalls)