diff --git a/src/main/java/picard/sam/RevertSam.java b/src/main/java/picard/sam/RevertSam.java index d608b324a..0220a85d7 100644 --- a/src/main/java/picard/sam/RevertSam.java +++ b/src/main/java/picard/sam/RevertSam.java @@ -397,7 +397,7 @@ public void revertSamRecord(final SAMRecord rec) { for (final SAMRecord rec : recs) { // The only valid quality score encoding scheme is standard; if it's not standard, change it. final FastqQualityFormat recordFormat = readGroupToFormat.get(rec.getReadGroup()); - if (!recordFormat.equals(FastqQualityFormat.Standard)) { + if (recordFormat != null && !recordFormat.equals(FastqQualityFormat.Standard)) { final byte[] quals = rec.getBaseQualities(); for (int i = 0; i < quals.length; i++) { quals[i] -= SolexaQualityConverter.ILLUMINA_TO_PHRED_SUBTRAHEND; diff --git a/src/test/java/picard/sam/RevertSamTest.java b/src/test/java/picard/sam/RevertSamTest.java index fe533c17f..d859d28d4 100755 --- a/src/test/java/picard/sam/RevertSamTest.java +++ b/src/test/java/picard/sam/RevertSamTest.java @@ -445,7 +445,7 @@ public void testGetDefaultExtension() { } @Test(expectedExceptions = PicardException.class) - public void testNoRgInfo() { + public void testNoRgInfoOutputByRg() { final String [] args = new String[]{ "I=testdata/picard/sam/bam2fastq/paired/bad/missing-rg-info.sam", "OUTPUT_BY_READGROUP=true", @@ -453,4 +453,17 @@ public void testNoRgInfo() { }; runPicardCommandLine(args); } + + @Test + public void testNoRgInfoSanitize() throws Exception { + final File output = File.createTempFile("no-rg-reverted", ".sam"); + output.deleteOnExit(); + final String [] args = new String[]{ + "I=testdata/picard/sam/bam2fastq/paired/bad/missing-rg-info.sam", + "SANITIZE=true", + "O=" + output.getAbsolutePath() + }; + Assert.assertEquals(runPicardCommandLine(args), 0); + verifyPositiveResults(output, new RevertSam(), true, true, false, false, null, 240, null, null); + } }