DataProcessingPipeline and --disable_indel_quals

Johan_DahlbergJohan_Dahlberg Posts: 85Member ✭✭✭
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.

Regards, Johan

Best Answer

Answers

  • CarneiroCarneiro Posts: 274Administrator, GATK Developer admin

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

  • ebanksebanks Posts: 684GATK Developer mod

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

    Eric Banks, PhD -- Senior Group Leader, MPG Analysis, Broad Institute of Harvard and MIT

  • Johan_DahlbergJohan_Dahlberg Posts: 85Member ✭✭✭

    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"
      }
    
  • mengyuankanmengyuankan Posts: 2Member

    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 Posts: 85Member ✭✭✭

    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 Posts: 6,643Administrator, GATK Developer 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.

    Geraldine Van der Auwera, PhD

Sign In or Register to comment.