The current GATK version is 3.7-0
Examples: Monday, today, last week, Mar 26, 3/26/04

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Get notifications!

You can opt in to receive email notifications, for example when your questions get answered or when there are new announcements, by following the instructions given here.

Got a problem?

1. Search using the upper-right search box, e.g. using the error message.
2. Try the latest version of tools.
3. Include tool and Java versions.
4. Tell us whether you are following GATK Best Practices.
5. Include relevant details, e.g. platform, DNA- or RNA-Seq, WES (+capture kit) or WGS (PCR-free or PCR+), paired- or single-end, read length, expected average coverage, somatic data, etc.
6. For tool errors, include the error stacktrace as well as the exact command.
7. For format issues, include the result of running ValidateSamFile for BAMs or ValidateVariants for VCFs.
8. For weird results, include an illustrative example, e.g. attach IGV screenshots according to Article#5484.
9. For a seeming variant that is uncalled, include results of following Article#1235.

Did we ask for a bug report?

Then follow instructions in Article#1894.

Formatting tip!

Wrap blocks of code, error messages and BAM/VCF snippets--especially content with hashes (#)--with lines with three backticks ( ``` ) each to make a code block as demonstrated here.

Jump to another community
Picard 2.10.2 is now available at
GATK version 4.beta.2 (i.e. the second beta release) is out. See the GATK4 BETA page for download and details.

VariantRecalibrator, creating a truth data set

lbernalberna Member
edited January 2013 in Ask the GATK team

Hello community, I am working with yeast and I am doing the VariantRecalibrator step, as I dont have a truth data set I want to "filter" my initial round of raw SNP in order to have the highest quality score SNP as the gatk team suggest.

1) I was wondering if you have any suggestion about the parameters of filtration...

I am working with each strain as different species (WGS), so I have good coverage (80X) but only one "Lane"
I tried with:

java -Xmx4g -jar GenomeAnalysisTK.jar -R S288c.fasta -T VariantFiltration --variant $1.raw.vcf --filterExpression "QD<2.0 || MQ<45.0 || FS>60 || MQEankSum< -12.5 || ReadPosRankSum<-8.0 " --filterName "hardtovalidate" -o $1.filt.vcf

to remove after the LowQual and hardtovalidate snps, that make sense? thanks for your help!

2) Then after, I would do the VariantRecalibrator, but I will have only one truth set, can I use -mode both, or I should try to obtain a truth data set of indels and do the VQSR for SNP and Indels separately? What do you think?

java -Xmx4g -jar  GenomeAnalysisTK.jar -T VariantRecalibrator  -R ncbi_S288c.fasta -input $1.raw.vcf -recalFile $1.raw.recal -tranchesFile $1.raw.tranches -resource:filtered,known=false,training=true,truth=true,prior=15.0 $1.truth.vcf -an QD -an HaplotypeScore -an MQRankSum -an ReadPosRankSum -an FS -an MQ -an DP **-mode both** 


Post edited by Geraldine_VdAuwera on


  • 3) Otherwise, I am thinking in skip the VariantRecalibration, and simple "filter" the raw SNP in order to have a more accurate SNPs

  • Hey Luisa,
    the easiest way of designing a truth set is to call your variants with multiple callers (UnifiedGenotyper, Samtools mpileup, HaplotypeCaller, CORTEX, VarScan, comercial ones depending on your sequencing platform). For example select 3 callers with different calling algorithms. Then combine these callsets so only variants in all 3 are reported and you get a set of very confident Variants.
    Further you could resequence some samples with a other technology and crosscheck the resulting calls yielding even better true positives.

  • As for using multiple methods, do VariantRecalibration and Base calibration any better than consensus of multiple methods, in particular an organism without any definitive SNP DB? I use 5 methods including GATK (no calibration), Mpileup, Freebayes, Cortex and pileup. Depth is over at least 40-50x for each samples so I expect even pileup is doing good. And I takes SNPs which are called by 2.5 or 3 callers in 206 to 301 samples.
    As far as I checked, this 5 caller method is more sensitive to pick rare valiant SNPs and is better to exclude spurious SNPs than GATK (simple population method). I trust GATK perform well in human data but I am not so sure GATK recalibration strategy works well for organisms whose genome is not well characterised. For example, we study the organism whose chromosome copy number constantly ranges between 2-5 and these chromosome copy number is not that stable over long time.

    So do VariantRecalibration and Base calibration reduce false positive rate or increase sensitivity to identify variants???

    But for not-so-well studied organisms or organisms whose trusted SNPs cannot be well defined, I would rather trust the results generated by multiple callers. If VariantRecalibration works well, I would ingrate it to a multiple caller strategy.

  • Do any of you know whether there is a reference (official GATK documentation, a publication, etc.) recommending the practice of using the overlap of variants called by multiple calling algorithms as a truth set for recalibration?

  • Geraldine_VdAuweraGeraldine_VdAuwera Cambridge, MAMember, Administrator, Broadie

    This practice is mentioned in passing in some of our documentation, but it is not explained in much detail. Are you looking for instructions on how to do it, or for a reference to cite in support of the practice?

Sign In or Register to comment.