From fcf18f7bc65e5c1e2b57fa6974cde84c8ebe9fde Mon Sep 17 00:00:00 2001 From: Frank Austin Nothaft Date: Fri, 14 Apr 2017 10:06:56 -0700 Subject: [PATCH] [ADAM-1488] Only increment BQSR min quality by 33 once. Resolves #1488. --- .../org/bdgenomics/adam/rdd/read/AlignmentRecordRDD.scala | 2 +- .../adam/rdd/read/recalibration/RecalibrationTable.scala | 4 ++-- .../bdgenomics/adam/rdd/read/recalibration/Recalibrator.scala | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/adam-core/src/main/scala/org/bdgenomics/adam/rdd/read/AlignmentRecordRDD.scala b/adam-core/src/main/scala/org/bdgenomics/adam/rdd/read/AlignmentRecordRDD.scala index 9ad6ad665c..979448d773 100644 --- a/adam-core/src/main/scala/org/bdgenomics/adam/rdd/read/AlignmentRecordRDD.scala +++ b/adam-core/src/main/scala/org/bdgenomics/adam/rdd/read/AlignmentRecordRDD.scala @@ -645,7 +645,7 @@ case class AlignmentRecordRDD( replaceRdd(BaseQualityRecalibration(rdd, knownSnps, recordGroups, - (minAcceptableQuality + 33).toChar, + minAcceptableQuality, optStorageLevel)) } diff --git a/adam-core/src/main/scala/org/bdgenomics/adam/rdd/read/recalibration/RecalibrationTable.scala b/adam-core/src/main/scala/org/bdgenomics/adam/rdd/read/recalibration/RecalibrationTable.scala index e6f3bf95f5..d1f19ecf30 100644 --- a/adam-core/src/main/scala/org/bdgenomics/adam/rdd/read/recalibration/RecalibrationTable.scala +++ b/adam-core/src/main/scala/org/bdgenomics/adam/rdd/read/recalibration/RecalibrationTable.scala @@ -49,7 +49,7 @@ private[adam] case class RecalibrationTable private[recalibration] ( var idx = 0 while (idx < numCovariates) { val key = covariates(idx) - newQuals(idx) = table.getOrElse(key, key.quality) + newQuals(idx) = table.getOrElse(key.toDefault, key.quality) idx += 1 } } @@ -200,7 +200,7 @@ private[recalibration] object RecalibrationTable { val recalibrationQualityMappings = InvertingRecalibrationTable.time { observed.entries .keys - .map(key => (key, tt.lookup(key))) + .map(key => (key.toDefault, tt.lookup(key))) .toMap } diff --git a/adam-core/src/main/scala/org/bdgenomics/adam/rdd/read/recalibration/Recalibrator.scala b/adam-core/src/main/scala/org/bdgenomics/adam/rdd/read/recalibration/Recalibrator.scala index 312cf8ecef..f289b8dbc2 100644 --- a/adam-core/src/main/scala/org/bdgenomics/adam/rdd/read/recalibration/Recalibrator.scala +++ b/adam-core/src/main/scala/org/bdgenomics/adam/rdd/read/recalibration/Recalibrator.scala @@ -66,7 +66,7 @@ private[recalibration] case class Recalibrator( covariates: Array[CovariateKey]): String = ComputeQualityScore.time { val origQuals = read.getQual val quals = new StringBuilder(origQuals) - val newQuals = table(covariates.map(_.toDefault)) + val newQuals = table(covariates) var idx = 0 while (idx < origQuals.length) { // Keep original quality score if below recalibration threshold