Skip to content

Commit

Permalink
STREL-966 Fix RNA-seq realignment with mismatches
Browse files Browse the repository at this point in the history
RNA-Seq reads pinned to fixed start position by an intron-exon boundary,
and containing a leading insertion, were being incorrectly processed
when the reads also contained a mismatch, leading to an exception.
Adding the read start position to the alignment processing step should
fix the issue.
  • Loading branch information
ctsa committed Jul 17, 2018
1 parent 5daae2b commit 4f143dd
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 1 deletion.
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
## Unreleased

### Fixed
- Fix realignment error when processing certain RNA-seq inputs (STREL-966)
- Recent changes to read realignment/scoring introduced an edge case which fails on RNA-Seq reads from certain aligners - specifically when an insertion immediately follows an intron gap. The issue is now fixed.

## v2.9.5 - 2018-06-25

This is a minor bugfix update from v2.9.4.
Expand Down
5 changes: 4 additions & 1 deletion src/c++/lib/starling_common/starling_read_align.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1884,7 +1884,10 @@ getCandidateAlignments(
}
if (isRecomputeRequired)
{
cal = make_start_pos_alignment(cal.al.pos, 0, cal.al.is_fwd_strand, rseg.read_size(), validIndels);
// Convert the input alignment path to differentiate sequence match (=) and mismatch (X) from
// 'alignment match' (M). This is required for mismatch processing to work correctly.
const pos_t readStartPos(unalignedPrefixSize(cal.al.path));
cal = make_start_pos_alignment(cal.al.pos, readStartPos, cal.al.is_fwd_strand, rseg.read_size(), validIndels);
}
}

Expand Down

0 comments on commit 4f143dd

Please sign in to comment.