MCPcopy Create free account
hub / github.com/BirolLab/abyss / processBranchesAssembly

Method processBranchesAssembly

Parallel/NetworkSequenceCollection.cpp:1288–1312  ·  view source on GitHub ↗

Processes branches that are in progress, removing those that have * completed. * @return the number of contigs and k-mer assembled */

Source from the content-addressed store, hash-verified

1286 * @return the number of contigs and k-mer assembled
1287 */
1288pair<size_t, size_t> NetworkSequenceCollection::
1289processBranchesAssembly(FastaWriter* fileWriter, unsigned currContigID)
1290{
1291 size_t assembledContigs = 0, assembledKmer = 0;
1292 for (BranchGroupMap::iterator it = m_activeBranchGroups.begin();
1293 it != m_activeBranchGroups.end();) {
1294 if (!it->second.isActive()) {
1295 assert(it->second.size() == 1);
1296 BranchRecord& branch = it->second[0];
1297 assert(branch.getState() == BS_NOEXT
1298 || branch.getState() == BS_AMBI_SAME
1299 || branch.getState() == BS_AMBI_OPP);
1300 if ((opt::ss && branch.getDirection() == SENSE)
1301 || (!opt::ss && branch.isCanonical())) {
1302 assembledContigs++;
1303 assembledKmer += branch.size();
1304 assembleContig(fileWriter, branch,
1305 m_numAssembled + currContigID++);
1306 }
1307 m_activeBranchGroups.erase(it++);
1308 } else
1309 ++it;
1310 }
1311 return make_pair(assembledContigs, assembledKmer);
1312}
1313
1314/** Send a request for the edges of vertex kmer. */
1315void NetworkSequenceCollection::generateExtensionRequest(

Callers

nothing calls this directly

Calls 9

assembleContigFunction · 0.85
getStateMethod · 0.80
eraseMethod · 0.80
beginMethod · 0.45
endMethod · 0.45
isActiveMethod · 0.45
sizeMethod · 0.45
getDirectionMethod · 0.45
isCanonicalMethod · 0.45

Tested by

no test coverage detected