Haplotyper creating vcf files but stopping before reading SNPs

Please forgive me if this is a naive question because I am new to gatk.

I am using HapltoypeCaller to call SNPs using a pseudo reference I have created from my sequence data (no reference available and the data is bait capture not whole genome). When I invoke HaplotypeCaller I get the following error after what appears to be normal work:

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

The vcf files I am asking to be made are in fact made but they are devoid of SNP data.

Thanks for the help and advice.

Answers

  • SheilaSheila Broad InstituteMember, Broadie, Moderator

    @gspellman
    Hi,

    Can you tell us what version of GATK you are using and the exact command you ran?

    Thanks,
    Sheila

  • edited March 22

    I'm having the same problem when using HaplotypeCaller to call SNPs of bacterial genome sequencing reads. The gatk version on my ubuntu 16.04 workstation is gatk-4.0.2.1. The exact command I run is as follows:

    for i in $(ls -d ERR*); do echo $i; cd $i; \
    gatk --java-options "-Xmx8G" HaplotypeCaller \
    -R ../../index/AM180355.1.fasta \
    -I $i.sorted.dedup.bam \
    -O $i.vcf.gz \
    -ploidy 1 \
    -bamout $i.vcf.bam; \
    cd ..;done
    

    The exception message is copied as follows:

    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
        at org.broadinstitute.hellbender.transformers.ReadTransformer.identity(ReadTransformer.java:30)
        at org.broadinstitute.hellbender.engine.GATKTool.makePreReadFilterTransformer(GATKTool.java:221)
        at org.broadinstitute.hellbender.engine.AssemblyRegionWalker.traverse(AssemblyRegionWalker.java:266)
        at org.broadinstitute.hellbender.engine.GATKTool.doWork(GATKTool.java:893)
        at org.broadinstitute.hellbender.cmdline.CommandLineProgram.runTool(CommandLineProgram.java:135)
        at org.broadinstitute.hellbender.cmdline.CommandLineProgram.instanceMainPostParseArgs(CommandLineProgram.java:180)
        at org.broadinstitute.hellbender.cmdline.CommandLineProgram.instanceMain(CommandLineProgram.java:199)
        at org.broadinstitute.hellbender.Main.runCommandLineProgram(Main.java:159)
        at org.broadinstitute.hellbender.Main.mainEntry(Main.java:202)
        at org.broadinstitute.hellbender.Main.main(Main.java:288)
    

    Any help or suggestions will be highly appreciated.

    Post edited by shlee on
  • shleeshlee CambridgeMember, Broadie, Moderator

    Hi @xhe764,

    Can you run your reads through ValidateSamFile and see what it says? Also, which version of Java are you using? GATK requires Java 8. Is it possible you are on Java 9?

  • Hi @shlee
    Thank you very much for your advice. I have run ValidateSamFile on a bam file and got one error, which is copied below:

    HISTOGRAM java.lang.String

    Error Type Count
    ERROR:MATE_NOT_FOUND 22629

    The aligner I used to generate the bam file was bwa mem. Do you have any suggestion for fixing this error? The java version on my computer is Java 9. Do I have to install Java 8 on my computer?
    Thanks.

  • shleeshlee CambridgeMember, Broadie, Moderator

    @xhe764, HaplotypeCaller should still process your data as it does not check whether the mates are in the file or not. You definitely need to switch to Java v1.8. The Java version is required by GATK4 and results with any other version of java cannot be guaranteed.

    You can either (i) install Java v8 on your system to switch to when running GATK or (ii) use the GATK4 Docker, which sets up a virtual environment running Java v8. Instructions for using Docker are at https://software.broadinstitute.org/gatk/documentation/article?id=11090. Official GATK4 Docker images are listed on our Dockerhub account broadinstitute/gatk. Everything is free--you just need to sign up for various accounts.

  • @shlee, After installing Java 8, the problem disappeared. I really appreciate your advice.

Sign In or Register to comment.