Process a sequence extension for popping. */
| 1401 | |
| 1402 | /** Process a sequence extension for popping. */ |
| 1403 | void NetworkSequenceCollection::processSequenceExtensionPop( |
| 1404 | uint64_t groupID, uint64_t branchID, const V& seq, |
| 1405 | const SymbolSetPair& extRec, int multiplicity, |
| 1406 | unsigned maxLength) |
| 1407 | { |
| 1408 | BranchGroupMap::iterator groupIt |
| 1409 | = m_activeBranchGroups.find(groupID); |
| 1410 | if (groupIt == m_activeBranchGroups.end()) { |
| 1411 | // This branch is already complete. Double check that that is |
| 1412 | // the case. |
| 1413 | assert(m_finishedGroups.count(groupID) > 0); |
| 1414 | return; |
| 1415 | } |
| 1416 | |
| 1417 | BranchGroup& group = groupIt->second; |
| 1418 | bool extendable = AssemblyAlgorithms::processBranchGroupExtension( |
| 1419 | group, branchID, seq, extRec, multiplicity, maxLength); |
| 1420 | if (extendable && group.updateStatus(maxLength) == BGS_ACTIVE) |
| 1421 | generateExtensionRequests(groupID, |
| 1422 | group.begin(), group.end()); |
| 1423 | } |
| 1424 | |
| 1425 | /** Add a k-mer to this collection. */ |
| 1426 | void NetworkSequenceCollection::add(const V& seq, |
nothing calls this directly
no test coverage detected