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

Function getTreeSequences

RResolver/SequenceTree.cpp:172–205  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

170}
171
172std::vector<Sequence>
173getTreeSequences(
174 const ContigNode& start,
175 const int overlap,
176 const int maxLength,
177 const bool forward,
178 const int maxPaths)
179{
180 assert(overlap >= 0);
181 assert(maxLength > 0);
182 assert(maxPaths >= 1);
183
184 auto traces = getTreeTraces(start, overlap, maxLength, forward, maxPaths);
185
186 std::vector<Sequence> sequences;
187 sequences.reserve(traces.size());
188
189 for (const auto& trace : traces) {
190 Sequence sequence;
191 sequence.reserve(trace.size() * EXPECTED_BASES_PER_NODE);
192 if (forward) {
193 for (Trace::const_iterator it = trace.begin(); !(it == trace.end()); it++) {
194 sequence += it->treeSequence();
195 }
196 } else {
197 for (Trace::const_reverse_iterator it = trace.rbegin(); !(it == trace.rend()); it++) {
198 sequence += it->treeSequence();
199 }
200 }
201 sequences.push_back(sequence);
202 }
203
204 return sequences;
205}

Callers 1

Calls 6

getTreeTracesFunction · 0.85
treeSequenceMethod · 0.80
sizeMethod · 0.45
beginMethod · 0.45
endMethod · 0.45
push_backMethod · 0.45

Tested by

no test coverage detected