r708: implemented double Z-drop thresholds (#112)

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).
This commit is contained in:
Heng Li
2018-02-14 17:10:02 -05:00
parent c0e0d5d84b
commit 1372977a37
6 changed files with 77 additions and 39 deletions

View File

@@ -26,7 +26,7 @@ cdef extern from "minimap.h":
int min_join_flank_sc
int a, b, q, e, q2, e2
int noncan
int zdrop
int zdrop, zdrop_inv
int end_bonus
int min_dp_max
int min_ksw_len