From e533c9074da282ec26248ea6ee64074b1a85e65f Mon Sep 17 00:00:00 2001 From: Frank Austin Nothaft Date: Fri, 3 Mar 2017 21:03:37 -0800 Subject: [PATCH] Reads were getting dropped due to bad else clause. --- .../adam/rdd/read/realignment/RealignIndels.scala | 4 ++-- .../adam/rdd/read/realignment/RealignIndelsSuite.scala | 6 ++++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/adam-core/src/main/scala/org/bdgenomics/adam/rdd/read/realignment/RealignIndels.scala b/adam-core/src/main/scala/org/bdgenomics/adam/rdd/read/realignment/RealignIndels.scala index 08d073b575..5b673db438 100644 --- a/adam-core/src/main/scala/org/bdgenomics/adam/rdd/read/realignment/RealignIndels.scala +++ b/adam-core/src/main/scala/org/bdgenomics/adam/rdd/read/realignment/RealignIndels.scala @@ -412,10 +412,10 @@ private[read] class RealignIndels( } else { log.info("On " + refRegion + ", skipping realignment due to insufficient LOD improvement (" + lodImprovement + "for consensus " + bestConsensus) - readsToClean.map(_._1) ++ realignedReads + reads } } else { - realignedReads + reads } // return all reads that we cleaned and all reads that were initially realigned val endTime = System.nanoTime() diff --git a/adam-core/src/test/scala/org/bdgenomics/adam/rdd/read/realignment/RealignIndelsSuite.scala b/adam-core/src/test/scala/org/bdgenomics/adam/rdd/read/realignment/RealignIndelsSuite.scala index 1520b2790f..407e6b79b6 100644 --- a/adam-core/src/test/scala/org/bdgenomics/adam/rdd/read/realignment/RealignIndelsSuite.scala +++ b/adam-core/src/test/scala/org/bdgenomics/adam/rdd/read/realignment/RealignIndelsSuite.scala @@ -541,4 +541,10 @@ class RealignIndelsSuite extends ADAMFunSuite { assert(realignedStRead.getCigar === "2S5M") assert(realignedStRead.getMismatchingPositions === "5") } + + sparkTest("if realigning a target doesn't improve the LOD, don't drop reads") { + val reads = sc.loadAlignments(testFile("NA12878.1_854950_855150.sam")) + val realignedReads = reads.realignIndels() + assert(reads.rdd.count === realignedReads.rdd.count) + } }