Calculates the ref length of mate read using "MC:Z" when available #67
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Previously, we inferred the mate reference length using the query length of a read. This can result in inconsistent lift-over results between a pair of reads. For example, if the soft clipped region of a paired-end read overlaps with a chain gap, leviosam2 used to ignore the gap for the main segment but assign the mate to be unliftable.
The
MC:Z
tag describes the CIGAR of the mate read in the paired-end mode. This PR uses the tag (when available) to calculate the mate starting and ending positions (wrt the reference) to increase the consistency of paired-end lift-over.This feature is not compatible with htslib v1.11, which is pretty old. I also terminate the support of that version in this PR.