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) + } }