From e68038c5d8816e5514bbc00214b070ff24222e1b Mon Sep 17 00:00:00 2001 From: Mauricio Carneiro Date: Thu, 14 Jun 2012 15:24:15 -0400 Subject: [PATCH] Refactor post-processing downsampling using David's generic downsampler interface --- .../sting/utils/sam/GATKSAMRecord.java | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/public/java/src/org/broadinstitute/sting/utils/sam/GATKSAMRecord.java b/public/java/src/org/broadinstitute/sting/utils/sam/GATKSAMRecord.java index c6d14a8bc..5d7ad6bd7 100755 --- a/public/java/src/org/broadinstitute/sting/utils/sam/GATKSAMRecord.java +++ b/public/java/src/org/broadinstitute/sting/utils/sam/GATKSAMRecord.java @@ -336,9 +336,18 @@ public class GATKSAMRecord extends BAMRecord { * Clears all attributes except ReadGroup of the read. */ public GATKSAMRecord simplify () { - GATKSAMReadGroupRecord rg = getReadGroup(); - this.clearAttributes(); - setReadGroup(rg); + GATKSAMReadGroupRecord rg = getReadGroup(); // save the read group information + byte [] insertionQuals = getBaseInsertionQualities(); // save the insertion quality score + byte [] deletionQualities = getBaseDeletionQualities(); // save the deletion quality score + + this.clearAttributes(); // clear all attributes from the read + + this.setReadGroup(rg); // restore read group + if (insertionQuals != null) + this.setBaseQualities(insertionQuals, EventType.BASE_INSERTION); // restore base insertion if we had any + if (deletionQualities != null) + this.setBaseQualities(deletionQualities, EventType.BASE_DELETION); // restore base deletion if we had any + return this; }