The current GATK version is 3.2-2

#### Howdy, Stranger!

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

Bug Bulletin: The GenomeLocPArser error in SplitNCigarReads has been fixed; if you encounter it, use the latest nightly build.

# ts_filter_level vs. tranche settings

Posts: 2Member
edited November 2012

Hi,

I'm having a little trouble understanding the relationship between the -ts_filter_level and -tranche settings for VQSR. If I'm not mistaken the defaults are 99 and [100,99.9,99.0,90] respectively. When I run VQSR with these defaults, my tranches are altered because of the 99 ts filter level. I get:

##FILTER=<ID=LowQual,Description="Low quality">
##FILTER=<ID=TruthSensitivityTranche99.00to99.90,Description="Truth sensitivity tranche level at VSQ Lod: -0.1838 <= x < 3.1102">
##FILTER=<ID=TruthSensitivityTranche99.90to100.00+,Description="Truth sensitivity tranche level at VQS Lod < -6135.0237">
##FILTER=<ID=TruthSensitivityTranche99.90to100.00,Description="Truth sensitivity tranche level at VSQ Lod: -6135.0237 <= x < -0.1838">


Is it odd that there are two tranches with the same ts values and different VQSLOD values? If I adjust the ts filter level to 90, I get what I originally expected to see:

##FILTER=<ID=LowQual,Description="Low quality">
##FILTER=<ID=TruthSensitivityTranche90.00to99.00,Description="Truth sensitivity tranche level at VSQ Lod: 2.5901 <= x < 4.8133">
##FILTER=<ID=TruthSensitivityTranche99.00to99.90,Description="Truth sensitivity tranche level at VSQ Lod: -0.692 <= x < 2.5901">
##FILTER=<ID=TruthSensitivityTranche99.90to100.00+,Description="Truth sensitivity tranche level at VQS Lod < -6.11002079587E7">


Is it just me, or does this seem to be an incompatibility between the defaults values? Which is more important, correct ts filtering or correct tranche intervals? We will at times filter based on these tranches, so I'd like to be setting them correctly. Thanks.

Ben

Post edited by bkelly on
Tagged:

• Posts: 122GATK Developer mod

Hi there,

This looks like two different runs of VariantRecalibrator to me since the tranche cutoffs from the input tranche file are changing between the two cases. This is the result from changing the ts_filter_level in the ApplyRecalibration command line using the same tranche file as input?

For the second case there should be a filter line in his VCF file that reads: ##FILTER=<ID=TruthSensitivityTranche99.90to100.00,Description="Truth sensitivity tranche level at VSQ Lod: -6.11002079587E7 <= x < -0.692"> That line isn't found in your VCF file?

Thanks,

• Posts: 2Member

Thanks for the reply. It does appear that I copied the wrong lines, but I double checked these. The first is from ts_filter_level=90:

##FILTER=<ID=TruthSensitivityTranche90.00to99.00,Description="Truth sensitivity tranche level at VSQ Lod: 2.5901 <= x < 4.8133">
##FILTER=<ID=TruthSensitivityTranche99.00to99.90,Description="Truth sensitivity tranche level at VSQ Lod: -0.692 <= x < 2.5901">
##FILTER=<ID=TruthSensitivityTranche99.90to100.00+,Description="Truth sensitivity tranche level at VQS Lod < -6.11002079587E7">
##FILTER=<ID=TruthSensitivityTranche99.90to100.00,Description="Truth sensitivity tranche level at VSQ Lod: -6.11002079587E7 <= x < -0.692">


The second is from ts_filter_level=99:

##FILTER=<ID=TruthSensitivityTranche99.00to99.90,Description="Truth sensitivity tranche level at VSQ Lod: -1.0292 <= x < 2.4669">
##FILTER=<ID=TruthSensitivityTranche99.90to100.00+,Description="Truth sensitivity tranche level at VQS Lod < -2.92600195914E7">
##FILTER=<ID=TruthSensitivityTranche99.90to100.00,Description="Truth sensitivity tranche level at VSQ Lod: -2.92600195914E7 <= x < -1.0292">


Both used tranches [100, 99.9, 99.0, 90]. These runs did have different tranche files, but I guess that's not what I was as concerned about (they're not that far off, but I can rerun giving the same input files as well). Both tranche files contain 4 tranches. I was more curious why the default value of ts_filter_level cuts off the default number of tranches. Which is more important? Should the one override the other, or should I set ts_filter_value to 90 so that it doesn't cut off any tranches?

Thanks.

• Posts: 122GATK Developer mod

The filter header lines only appear in the VCF file for the filters that are actually applied. When you cut the file at ts_filter_level 99 the variants in the 90 to 99 tranche are marked as PASS (not filtered out) so that filter line doesn't appear in the VCF header.

• Posts: 8Member

Hello rpoplin and bkelly, would you please kindly explain me the what value in ts_filter_level provide best results and why.