From 4cbff5d6f9ed158d8ceb7def8c0a1745107c6fbc Mon Sep 17 00:00:00 2001 From: David Benjamin Date: Wed, 26 Jan 2022 13:06:38 -0500 Subject: [PATCH] palindorme ITR artifact transformer skips reads whose contigs are not in sequence dictionary (#6968) --- .../transformers/PalindromeArtifactClipReadTransformer.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/broadinstitute/hellbender/transformers/PalindromeArtifactClipReadTransformer.java b/src/main/java/org/broadinstitute/hellbender/transformers/PalindromeArtifactClipReadTransformer.java index 0e0e10016c4..b1fdfa77beb 100644 --- a/src/main/java/org/broadinstitute/hellbender/transformers/PalindromeArtifactClipReadTransformer.java +++ b/src/main/java/org/broadinstitute/hellbender/transformers/PalindromeArtifactClipReadTransformer.java @@ -3,6 +3,7 @@ import htsjdk.samtools.Cigar; import htsjdk.samtools.CigarOperator; import htsjdk.samtools.SAMSequenceDictionary; +import htsjdk.samtools.SAMSequenceRecord; import org.apache.commons.lang3.mutable.MutableInt; import org.broadinstitute.hellbender.engine.ReferenceDataSource; import org.broadinstitute.hellbender.utils.BaseUtils; @@ -95,7 +96,8 @@ public GATKRead apply(final GATKRead read) { // it's possible that the read's assigned fragment length / mate start were incompatible with the contig length, // so we explicitly check for this case to avoid errors below. We can't rely on the alignment! - if (refStart < 1 || refEnd > sequenceDictionary.getSequence(contig).getSequenceLength()) { + final SAMSequenceRecord sequenceRecord = sequenceDictionary.getSequence(contig); + if (refStart < 1 || sequenceRecord == null || refEnd > sequenceRecord.getSequenceLength()) { return read; }