* Allow passing read name to mappy
This adds the (optional) ability to pass the read
name to the mappy `map` method. Without the
read name, the call to `map` can sometimes give
different output than the command line version
of `minimap2` because of the way minimap uses
the hash of the read name to break ties in ordering
hits. This can affect which / if certain
supplementary alignments are generated, and even
which / if non-primary alignments are generated.
* Pass name directly to mm_map_aux
Get rid of additional function, and always
accept the name parameter in the mm_map_aux
function (can be nullptr if not available).
---------
Co-authored-by: Rob Patro <rob@newton>
When aligning long reads, we would prefer to align through low-quality
regions. This requires a large Z-drop threshold. However, to find small
inversions, we need to use a small Z-drop. This commit address this
conflict with two Z-drop thresholds. When Z-drop exceeds the smaller
threshold, we perform a local alignment to check if there is a potential
inversion. If there is one, we break the alignment; otherwise we break
the alignment only if Z-drop excess the larger threshold.
This commit also fixes a bug that reported wrong coordinates when the
inversion is on the forward strand (#112).