GATK4时代的VCF文件合并可能没那么简单

作者: 因地制宜的生信达人 | 来源:发表于2018-11-01 22:11 被阅读103次

    GATK4时代的VCF文件合并可能没那么简单

    通常有3个原因,我们需要进行VCF文件合并:

    • 首先是分染色体进行HaplotypeCaller得到了基于染色体的多个vcf文件,在GATK3时代需要用 CatVariants 来进行合并,在GATK4时代用 GatherVcfs 命令。
    • 其次是在HaplotypeCaller时候选择了 -ERC GVCF or -ERC BP_RESOLUTION 模式,也就是说多个样本的gvcf结果需要合并,在GATK3时代需要 CombineGVCFs命令 ,在GATK4时代用 MergeVcfs 命令。
    • 最后一个肯能是对同一个样本选择了不同工具或者参数得到了不同的vcf文件需要进行合并比较,在GATK3时代需要 CombineVariants 命令 ,这个时候会把metadata信息也合并起来,或者取两次vcf结果的交集或并集等等。

    最后,通常不建议把多个不同样本的vcf文件进行合并,只能说是合并多个样本的gvcf文件。https://gatkforums.broadinstitute.org/gatk/discussion/53/combining-variants-from-different-files-into-one

    GATK4时代一切都变了

    GATK3的时候还有CatVariants命令:https://software.broadinstitute.org/gatk/documentation/tooldocs/3.8-0/org_broadinstitute_gatk_tools_CatVariants.php 但是现在GATK4时代它也取消了,被 GatherVcfs 取代。

    所以多了两个命令:

    https://software.broadinstitute.org/gatk/documentation/tooldocs/current/picard_vcf_GatherVcfs.php

    https://software.broadinstitute.org/gatk/documentation/tooldocs/current/picard_vcf_MergeVcfs.php

    多条染色体的同样本的vcf文件合并

    # for i in {1..22} X Y ;do echo "-I final_chr$i.vcf" '\';done
    # for i in {10..19} {1..9} M X Y ;do echo "-I final_chr$i.vcf" '\';done
    module load java/1.8.0_91
    GATK=/home/jianmingzeng/biosoft/GATK/gatk-4.0.3.0/gatk
    $GATK GatherVcfs  \
    -I final_chr1.vcf \
    -I final_chr2.vcf \
    -I final_chr3.vcf \
    -I final_chr4.vcf \
    -I final_chr5.vcf \
    -I final_chr6.vcf \
    -I final_chr7.vcf \
    -I final_chr8.vcf \
    -I final_chr9.vcf \
    -I final_chr10.vcf \
    -I final_chr11.vcf \
    -I final_chr12.vcf \
    -I final_chr13.vcf \
    -I final_chr14.vcf \
    -I final_chr15.vcf \
    -I final_chr16.vcf \
    -I final_chr17.vcf \
    -I final_chr18.vcf \
    -I final_chr19.vcf \
    -I final_chr20.vcf \
    -I final_chr21.vcf \
    -I final_chr22.vcf \
    -I final_chrX.vcf \
    -I final_chrY.vcf \
    -O merge.vcf 
    

    合并的时候需要注意,vcf文件的顺序跟每个vcf文件里面头文件顺序是相同的。

    多个样本的gvcf合并

    所以很多以前基于GATK3时代的教程,比如:https://www.jianshu.com/p/840378618a35 就必然过时了,尽管教程写的非常好。

    相关文章

      网友评论

        本文标题:GATK4时代的VCF文件合并可能没那么简单

        本文链接:https://www.haomeiwen.com/subject/jsufxqtx.html