If you happen to see a question you know the answer to, please do chime in and help your fellow community members. We encourage our fourm members to be more involved, jump in and help out your fellow researchers with their questions. GATK forum is a community forum and helping each other with using GATK tools and research is the cornerstone of our success as a genomics research community.We appreciate your help!

Test-drive the GATK tools and Best Practices pipelines on Terra

Check out this blog post to learn how you can get started with GATK and try out the pipelines in preconfigured workspaces (with a user-friendly interface!) without having to install anything.
We will be out of the office on November 11th and 13th 2019, due to the U.S. holiday(Veteran's day) and due to a team event(Nov 13th). We will return to monitoring the GATK forum on November 12th and 14th respectively. Thank you for your patience.

DataProcessingPipeline and --disable_indel_quals

Johan_DahlbergJohan_Dahlberg Member ✭✭✭
edited July 2012 in Ask the GATK team

When I try to run the latest version of the DataProcessingPipeline I get the following error message:

ERROR MESSAGE: GATK Lite does not support all of the features of the full version: base insertion/deletion recalibration is not supported, please use the --disable_indel_quals argument

However in the recal case class this option is set to be true:
this.disable_indel_quals = true

Any idea how to solve this? It seams to me this is a bug, but I cannot find the source for the PrintReads class (guessing that its not in the public code), so I can't check it myself.


Best Answer


  • CarneiroCarneiro Charlestown, MAMember admin

    Is this error happening in the PrintReads step of the pipeline? Can you paste this part of the output?

  • ebanksebanks Broad InstituteMember, Broadie, Dev ✭✭✭✭

    It should only be possible to get this error during the BaseRecalibrator step. If you are seeing it during PrintReads then something is awry.

  • Johan_DahlbergJohan_Dahlberg Member ✭✭✭

    Ok. I found the problem. I was being a bit hasty last night (writing my last post just before leaving for the day). The error is thrown by the BaseRecalibrator step, just as ebanks wrote. However, the "this.disable_indel_quals = true" is only set in the PrintReads step. I tried removing it there and adding it to the BaseRecalibrator step, and now its working. This is what the code looks like now, with the removed line just commented away to make it more clear.

      case class cov (inBam: File, outRecalFile: File) extends BaseRecalibrator with CommandLineGATKArgs {
        this.knownSites ++= qscript.dbSNP
        this.covariate ++= Seq("ReadGroupCovariate", "QualityScoreCovariate", "CycleCovariate", "ContextCovariate")
        this.input_file :+= inBam
        this.out = outRecalFile
        if (!defaultPlatform.isEmpty) this.default_platform = defaultPlatform
        if (!qscript.intervalString.isEmpty) this.intervalsString ++= Seq(qscript.intervalString)
        else if (qscript.intervals != null) this.intervals :+= qscript.intervals
        this.scatterCount = nContigs
        this.analysisName = queueLogDir + outRecalFile + ".covariates"
        this.jobName = queueLogDir + outRecalFile + ".covariates"
        // Added this
        this.disable_indel_quals = true
      case class recal (inBam: File, inRecalFile: File, outBam: File) extends PrintReads with CommandLineGATKArgs {
        this.input_file :+= inBam
        this.BQSR = inRecalFile
        // Removed this
        // this.disable_indel_quals = true
        this.baq = CalculationMode.CALCULATE_AS_NECESSARY
        this.out = outBam
        if (!qscript.intervalString.isEmpty) this.intervalsString ++= Seq(qscript.intervalString)
        else if (qscript.intervals != null) this.intervals :+= qscript.intervals
        this.scatterCount = nContigs
        this.isIntermediate = false
        this.analysisName = queueLogDir + outBam + ".recalibration"
        this.jobName = queueLogDir + outBam + ".recalibration"
  • ebanksebanks Broad InstituteMember, Broadie, Dev ✭✭✭✭
    Accepted Answer

    Thanks for reporting this. I've just pushed a patch into the stable version of the codebase.

  • mengyuankanmengyuankan Member

    Is it true that the --disable_indel_quals option is now removed from "BaseRecalibrator"? I am writing up my own pipeline using DPP scala (from a while ago) as a reference but I cannot find this option in the recalibrator. What does BaseRecalibrator now do to the indel quals? Thanks a lot!

  • Johan_DahlbergJohan_Dahlberg Member ✭✭✭

    I have removed this from my own pipelines, and it seems to be working fine. The Broad guys will have to confirm this, but my guess would be that the BaseRecalibrator now recalibrates base qualities for indels as well.

  • Geraldine_VdAuweraGeraldine_VdAuwera Cambridge, MAMember, Administrator, Broadie admin

    That's correct, this issue only affected GATK Lite, so now that GATK Lite is gone, that option is no longer applicable. BaseRecalibrator does indeed recalibrate base qualities for indels in all versions form now on.

Sign In or Register to comment.