diff --git a/src/mapper.rs b/src/mapper.rs index 7589da22..80c25f7d 100644 --- a/src/mapper.rs +++ b/src/mapper.rs @@ -393,8 +393,10 @@ pub fn align_single_end_read( // Use score-based dropoff: NAMs are sorted by score. let score_dropoff = nam.score / nam_max.score; - if (tries > 1 && best_edit_distance == 0) - || score_dropoff < mapping_parameters.dropoff_threshold + // Always extend at least the top-2 NAMs so that second_best_score is + // meaningful when computing MAPQ score. + if tries > 1 + && (best_edit_distance == 0 || score_dropoff < mapping_parameters.dropoff_threshold) { break; }