From 24ad450492ef4aa2ab4f1fff1211e3885fdd3158 Mon Sep 17 00:00:00 2001 From: "Erik Garrison (aider)" Date: Thu, 6 Feb 2025 07:30:45 -0600 Subject: [PATCH 1/2] refactor: Use rfind() for delimiter-based sequence grouping --- src/map/include/sequenceIds.hpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/map/include/sequenceIds.hpp b/src/map/include/sequenceIds.hpp index ce8c7d4f..2c53ba11 100644 --- a/src/map/include/sequenceIds.hpp +++ b/src/map/include/sequenceIds.hpp @@ -111,8 +111,8 @@ class SequenceIdManager { } if (groupKey.empty() && !prefixDelim.empty()) { - // Use prefix before delimiter as group key - size_t pos = seqName.find(prefixDelim); + // Use prefix before last delimiter as group key + size_t pos = seqName.rfind(prefixDelim); if (pos != std::string::npos) { groupKey = seqName.substr(0, pos); } @@ -129,6 +129,12 @@ class SequenceIdManager { metadata[originalIndex].groupId = groupMap[groupKey]; } + // Debug output to verify grouping + for (size_t i = 0; i < metadata.size(); ++i) { + std::cerr << "[DEBUG group assignment] seq " << metadata[i].name + << " → group " << metadata[i].groupId << std::endl; + } + if (totalSeqs == 0) { std::cerr << "[SequenceIdManager::buildRefGroups] ERROR: No sequences indexed!" << std::endl; exit(1); From d4661dad035ba77742fe649f75ba2c980801c3ed Mon Sep 17 00:00:00 2001 From: "Erik Garrison (aider)" Date: Thu, 6 Feb 2025 07:40:49 -0600 Subject: [PATCH 2/2] chore: Comment out debug output in sequenceIds.hpp --- src/map/include/sequenceIds.hpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/map/include/sequenceIds.hpp b/src/map/include/sequenceIds.hpp index 2c53ba11..ee46dd32 100644 --- a/src/map/include/sequenceIds.hpp +++ b/src/map/include/sequenceIds.hpp @@ -128,13 +128,13 @@ class SequenceIdManager { } metadata[originalIndex].groupId = groupMap[groupKey]; } - +/* // Debug output to verify grouping for (size_t i = 0; i < metadata.size(); ++i) { std::cerr << "[DEBUG group assignment] seq " << metadata[i].name << " → group " << metadata[i].groupId << std::endl; } - +*/ if (totalSeqs == 0) { std::cerr << "[SequenceIdManager::buildRefGroups] ERROR: No sequences indexed!" << std::endl; exit(1);