From 6d010663aa4ac1815d9299a8c7addbf386a2bb07 Mon Sep 17 00:00:00 2001 From: Kristoffer Sahlin Date: Thu, 11 Jun 2026 21:28:09 +0200 Subject: [PATCH] Compute MAPQ score better by considering at least two mappings. Prevents most (but not all) of the false MAPQ=60 assignments. --- src/mapper.rs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) 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; }