We've moved!
This site is now read-only. You can find our new documentation site and support forum for posting questions here.
Be sure to read our welcome blog!

Using -L to filter calls from SomvarIUS and other tools

DollinaDollina Member
edited October 2019 in Ask the GATK team
Hi,

I am trying to using Mutect (v4.1.3.0) to filter variants called from other Somatic variant callers such as SomVarIUS, LoFreq and Platypus. This works for LoFreq and Platypus but for SomVarIUS, I am unable to use FilterMutectCalls.

```
The error generated is:
14:12:53.697 INFO ProgressMeter - chr19:43946067 3.8 1478000 389678.9
14:13:03.016 INFO FilterMutectCalls - Finished pass 1 through the variants
14:13:56.805 INFO FilterMutectCalls - Starting pass 2 through the variants
14:13:56.833 INFO FilterMutectCalls - Shutting down engine
[October 16, 2019 2:13:56 PM PDT] org.broadinstitute.hellbender.tools.walkers.mutect.filtering.FilterMutectCalls done. Elapsed time: 4.90 minutes.
Runtime.totalMemory()=42649780224
java.lang.IllegalArgumentException: errorRate must be good probability but got NaN
at org.broadinstitute.hellbender.utils.Utils.validateArg(Utils.java:730)
at org.broadinstitute.hellbender.utils.QualityUtils.errorProbToQual(QualityUtils.java:225)
at org.broadinstitute.hellbender.utils.QualityUtils.errorProbToQual(QualityUtils.java:209)
at org.broadinstitute.hellbender.tools.walkers.mutect.filtering.Mutect2FilteringEngine.lambda$applyFiltersAndAccumulateOutputStats$13(Mutect2FilteringEngine.java:176)
at java.util.Optional.ifPresent(Optional.java:159)
at org.broadinstitute.hellbender.tools.walkers.mutect.filtering.Mutect2FilteringEngine.applyFiltersAndAccumulateOutputStats(Mutect2FilteringEngine.java:174)
at org.broadinstitute.hellbender.tools.walkers.mutect.filtering.FilterMutectCalls.nthPassApply(FilterMutectCalls.java:148)
at org.broadinstitute.hellbender.engine.MultiplePassVariantWalker.lambda$traverse$0(MultiplePassVariantWalker.java:40)
at org.broadinstitute.hellbender.engine.MultiplePassVariantWalker.lambda$traverseVariants$1(MultiplePassVariantWalker.java:77)
at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)
at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)
at java.util.Iterator.forEachRemaining(Iterator.java:116)
at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418)
at org.broadinstitute.hellbender.engine.MultiplePassVariantWalker.traverseVariants(MultiplePassVariantWalker.java:75)
at org.broadinstitute.hellbender.engine.MultiplePassVariantWalker.traverse(MultiplePassVariantWalker.java:40)
at org.broadinstitute.hellbender.engine.GATKTool.doWork(GATKTool.java:1048)
at org.broadinstitute.hellbender.cmdline.CommandLineProgram.runTool(CommandLineProgram.java:139)
at org.broadinstitute.hellbender.cmdline.CommandLineProgram.instanceMainPostParseArgs(CommandLineProgram.java:191)
at org.broadinstitute.hellbender.cmdline.CommandLineProgram.instanceMain(CommandLineProgram.java:210)
at org.broadinstitute.hellbender.Main.runCommandLineProgram(Main.java:162)
at org.broadinstitute.hellbender.Main.mainEntry(Main.java:205)
at org.broadinstitute.hellbender.Main.main(Main.java:291)
```

My workflow is:
1) Call variants using SomVarIUS/LoFreq/Platypus

2) Pass the .vcf file generated ( using the interval (-L) argument) by the above tools into Mutect2 to generate an unfiltered .vcf file
```
java -jar gatk-package-4.1.3.0-local.jar Mutect2
-R hg38.fa
-L path_to_vcf_generated_by_SomVarIUS
-I tumor bam
-germline-resource path_to_gnomad_germline_resource
--f1r2-tar-gz f1r2.tar.gz
-O unfiltered.vcf
```

3) Learn Orientation model
```
java -jar gatk-package-4.1.3.0-local.jar LearnReadOrientationModel
-I f1r2.tar.gz
-O read-orientation-model.tar.gz
```
4) Get Pileup Summaries
```
java -jar gatk-package-4.1.3.0-local.jar GetPileupSummaries
-I tumor_bam
-V small_exac_common_3.hg38.vcf.gz
-L small_exac_common_3.hg38.vcf.gz
-O getpileupsummaries.table
```
5) Calculate contamination
```
java -jar gatk-package-4.1.3.0-local.jar CalculateContamination
-I getpileupsummaries.table
-tumor-segmentation segments.table
-O calculatecontamination.table
```

6) Filtreing Mutect calls
```
java -jar gatk-package-4.1.3.0-local.jar FilterMutectCalls
-V unfiltered.vcf
--tumor-segmentation segments.table
--contamination-table calculatecontamination.table
--ob-priors read-orientation-model.tar.gz
-R hg38.fa
-O Filtered.vcf
```

The error is not generated when I use other tools like LoFreq or Platypus.

The contamination error generated by CalculateContamination is always less than 1 and more or less consistent across the three tools.

Any help is appreciated!

Thanks,
Dollina
Post edited by Dollina on

Answers

Sign In or Register to comment.