This is a test version of Biostars. For the public version, visit https://www.biostars.org.
GATK Error on variant filteration

Dear All,

I am running GATK variant calling analysis and came around an error which I could really use your suggestions on:

command line is :

gatk -T VariantFiltration -R $ref -V raw_snps.vcf -filterName "QD_filter" -filter "QD'<'2.0" -filterName "FS_filter" -filter "FS'>'60.0" -filterName "MQ_filter" -filter "MQ'<'40.0" -filterName "SOR_filter" -filter "SOR'>'4.0" -o filtered_snps.vcf

I get this error:

INFO  17:38:52,530 ProgressMeter - [INITIALIZATION COMPLETE; STARTING PROCESSING] 
INFO  17:38:52,530 ProgressMeter -                 | processed |    time |    per 1M |           |   total | remaining 
INFO  17:38:52,531 ProgressMeter -        Location |     sites | elapsed |     sites | completed | runtime |   runtime 
##### ERROR --
##### ERROR stack trace 
java.lang.IllegalArgumentException: Argument SOR_filterhas a bad value. Invalid expression used (SOR'>'4.0). Please see the JEXL docs for correct syntax.
    at htsjdk.variant.variantcontext.VariantContextUtils.initializeMatchExps(VariantContextUtils.java:283)
    at htsjdk.variant.variantcontext.VariantContextUtils.initializeMatchExps(VariantContextUtils.java:243)
    at htsjdk.variant.variantcontext.VariantContextUtils.initializeMatchExps(VariantContextUtils.java:259)
    at org.broadinstitute.gatk.tools.walkers.filters.VariantFiltration.initialize(VariantFiltration.java:251)
    at org.broadinstitute.gatk.engine.executive.LinearMicroScheduler.execute(LinearMicroScheduler.java:83)
    at org.broadinstitute.gatk.engine.GenomeAnalysisEngine.execute(GenomeAnalysisEngine.java:323)
    at org.broadinstitute.gatk.engine.CommandLineExecutable.execute(CommandLineExecutable.java:123)
    at org.broadinstitute.gatk.utils.commandline.CommandLineProgram.start(CommandLineProgram.java:256)
    at org.broadinstitute.gatk.utils.commandline.CommandLineProgram.start(CommandLineProgram.java:158)
    at org.broadinstitute.gatk.engine.CommandLineGATK.main(CommandLineGATK.java:108)
##### ERROR ------------------------------------------------------------------------------------------
##### ERROR A GATK RUNTIME ERROR has occurred (version 3.8-1-0-gf15c1c3ef):
##### ERROR
##### ERROR This might be a bug. Please check the documentation guide to see if this is a known problem.
##### ERROR If not, please post the error message, with stack trace, to the GATK forum.
##### ERROR Visit our website and forum for extensive documentation and answers to 
##### ERROR commonly asked questions https://software.broadinstitute.org/gatk
##### ERROR
##### ERROR MESSAGE: Argument SOR_filterhas a bad value. Invalid expression used (SOR'>'4.0). Please see the JEXL docs for correct syntax.

I am not able to understand what is the issue with SOR_filter value > 4.0. I would really appreciate your suggestions on solving this issue.

Thanks, DK

gatk sor filter

1 answer

dont quote the operator.

you wrote

-filter "MQ'<'40.0"

you want

-filter "MQ < 40.0"

Log in to answer this question.