diff --git a/src/map/include/sequenceIds.hpp b/src/map/include/sequenceIds.hpp index ce8c7d4f..ee46dd32 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); } @@ -128,7 +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);