Dear all,
I am using GATK's BaseRecalibrator to recalibrate the base quality of an alignment.
The BAM file's duplicates were removed with SAMBAMBA:
sambamba markdup -r --overflow-list-size 1000000 --hash-table-size 1000000 <input>.bam <output>.bam
I am using the VCF file clinvar.vcf.gz and the reference human Homo_sapiens.GRCh38.dna.toplevel.fa.gz, which I have called grch38.fa for short; both files call the chromosome with numbers only.
I created the index fasta and dictionary of the reference sequence:
samtools faidx grch38.fa
java -jar ~/src/picard/picard.jar CreateSequenceDictionary R=grch38.fa O=grch38.dict
I then ran GATK with this:
gatk BaseRecalibrator -I <file>.bam -R ~/grch38.fa --known-sites ~/grch38.vcf.gz -O <file>.tab
but I got:
[...]
14:02:01.642 INFO BaseRecalibrator - Initializing engine
14:02:01.935 INFO FeatureManager - Using codec VCFCodec to read file file:///home/gigiux/refSeq/human/grch38/old/grch38.vcf.gz
14:02:01.969 WARN IndexUtils - Feature file "/home/gigiux/refSeq/human/grch38/old/grch38.vcf.gz" appears to contain no sequence dictionary. Attempting to retrieve a sequence dictionary from the associated index file
14:02:02.035 INFO BaseRecalibrator - Done initializing engine
14:02:02.068 INFO BaseRecalibrationEngine - The covariates being used here:
14:02:02.069 INFO BaseRecalibrationEngine - ReadGroupCovariate
14:02:02.069 INFO BaseRecalibrationEngine - QualityScoreCovariate
14:02:02.069 INFO BaseRecalibrationEngine - ContextCovariate
14:02:02.069 INFO BaseRecalibrationEngine - CycleCovariate
14:02:02.084 INFO ProgressMeter - Starting traversal
14:02:02.084 INFO ProgressMeter - Current Locus Elapsed Minutes Reads Processed Reads/Minute
14:02:02.087 INFO BaseRecalibrator - Shutting down engine
[27 September 2018 at 14:02:02 CEST] org.broadinstitute.hellbender.tools.walkers.bqsr.BaseRecalibrator done. Elapsed time: 0.01 minutes.
Runtime.totalMemory()=1056964608
Exception in thread "main" java.lang.IncompatibleClassChangeError: Inconsistent constant pool data in classfile for class org/broadinstitute/hellbender/transformers/ReadTransformer. Method lambda$identity$d67512bf$1(Lorg/broadinstitute/hellbender/utils/read/GATKRead;)Lorg/broadinstitute/hellbender/utils/read/GATKRead; at index 65 is CONSTANT_MethodRef and should be CONSTANT_InterfaceMethodRef
I think the main message is: Exception in thread "main" java.lang.IncompatibleClassChangeError
at index 65 is CONSTANT_MethodRef and should be CONSTANT_InterfaceMethodRef
.
How can I sort this out? How could that variable be changed? (I haven't touch anything within GATK...)
Thank you
Hello marongiu.luigi ,
if your overall basequality is fine, stop wasting your time by doing BQSR. The impact of this will be negligible.
fin swimmer
and how would I know that? Isn't the BQSR supposed to be superior to the first alignment? And even if in this particular case the quality is fine, what about possible future files? This step should have been fast and the downstream comparison of before/after should have shown little gain in doing BQSR. Like this I am simply stuck...
it's a bug with the way gatk was compiled. You should report this to the Broad.
There was a similar issue related to HaplotypeCaller in GATK and that was apparently solved by a change in java version. You might want to have a look at that.
Thanks, I've seen now that post and looks it was indeed the Java version. I changed the default Java with:
I selected option 2 and then run GATK; the output was:
Looks like it is solved.