JexlEngine - ![0,14]: 'ReadPosRankSum < -20.0;' undefined variable ReadPosRankSum For GATK VariantFiltration
I am not sure if this question is allowed but I am having a bit of difficulty using the Variant Filtration command and I cannot seem to find a way around it.
REQUIRED for all errors and issues:
a) GATK version used: 4.4.0.0
b) Exact command used:
```
singularity exec ${singularity_image} /gatk/gatk --java-options "-Xmx${mem}g" VariantFiltration \```
-R"${ref_genome}"\
-V"${genotyped_output}"\
--filter-expression"QUAL < 30.0"--filter-name"QUAL30"\
--filter-expression"FS > 200.0"--filter-name"FS200"\
--filter-expression"ReadPosRankSum < -20.0"--filter-name"ReadPosRankSum-20"\
--filter-expression"DP < 4"--filter-name"DP4"\
-O"${VariantFiltration_Output_File}"
c) Entire program log:
It repeatedly gives the same warning (only given 3 times below for brevity) and does create an output but I am wondering if the output would be valid with this error/warning? The data does contain `ReadPosRankSum` in it.
4:48:05.419 WARN JexlEngine - ![0,14]: 'ReadPosRankSum < -20.0;' undefined variable ReadPosRankSum
14:48:05.419 WARN JexlEngine - ![0,14]: 'ReadPosRankSum < -20.0;' undefined variable ReadPosRankSum
14:48:05.419 WARN JexlEngine - ![0,14]: 'ReadPosRankSum < -20.0;' undefined variable ReadPosRankSum
14:48:05.419 WARN JexlEngine - ![0,14]: 'ReadPosRankSum < -20.0;' undefined variable ReadPosRankSum
14:48:05.419 INFO ProgressMeter - KI270591.1:4901 0.5 1706895 3788189.4
14:48:05.419 INFO ProgressMeter - Traversal complete. Processed 1706895 total variants in 0.5 minutes.
14:48:05.634 INFO VariantFiltration - Shutting down engine
If I am not allowed to ask this question I can take down the post. But I do not know what to do to get the error/warning to stop but to have the filters I need?
-
Hi Y R
Warning messages are normal since not all the variant contexts have all the info tags present. Those that do not have those tags will throw this warning. Output file will still be valid.
Regards.
-
Thank you. Is there a way to suppress warnings unless it is an error?
-
Sure you can. There is a parameter for suppressing logs unless a certain level is reached.
--verbosity <LogLevel> Control verbosity of logging. Default value: INFO. Possible values: {ERROR, WARNING,
INFO, DEBUG}Setting this parameter to ERROR will suppress all logs unless it is an error message. But this also means that you will lose all the info messages along the way.
Regards.
-
Gökalp Çelik If I set the verbosity to `--verbosity ERROR` will it only show the errors or will it show everything but the errors? Would this suppress the warnings I am getting? Or should I do something else?
-
It will only show errors. INFO and WARNING messages will be gone.
-
Gökalp Çelik Therefore that is the best option for a script that has already been debugged to suppress the warning messages? Is there anything else you would suggest?
-
That is how GATK logger is configured in the source. If you think this behavior is wrong or unacceptable we are open for suggestions and pull requests (not without a stringent review of course) to accomodate better options.
-
I was just curious. Thank you Gökalp Çelik.
Please sign in to leave a comment.
8 comments