From efceb0d48c4ee466ad762c53e8fe3e54b4823fdc Mon Sep 17 00:00:00 2001 From: Eric Banks Date: Wed, 26 Dec 2012 14:30:51 -0500 Subject: [PATCH] Check for well-encoded reads while fixing mis-encoded ones --- .../sting/utils/sam/MisencodedBaseQualityReadTransformer.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/public/java/src/org/broadinstitute/sting/utils/sam/MisencodedBaseQualityReadTransformer.java b/public/java/src/org/broadinstitute/sting/utils/sam/MisencodedBaseQualityReadTransformer.java index cac51239a..17d40e530 100644 --- a/public/java/src/org/broadinstitute/sting/utils/sam/MisencodedBaseQualityReadTransformer.java +++ b/public/java/src/org/broadinstitute/sting/utils/sam/MisencodedBaseQualityReadTransformer.java @@ -47,6 +47,8 @@ public class MisencodedBaseQualityReadTransformer extends ReadTransformer { final byte[] quals = read.getBaseQualities(); for ( int i = 0; i < quals.length; i++ ) { quals[i] -= encodingFixValue; + if ( quals[i] < 0 ) + throw new UserException.BadInput("while fixing mis-encoded base qualities we encountered a read that was correctly encoded; we cannot handle such a mixture of reads so unfortunately the BAM must be fixed with some other tool"); } read.setBaseQualities(quals); return read;