int main() { typedef seqan::Seed<seqan::Simple> TSeed; typedef seqan::SeedSet<seqan::Simple> TSeedSet; seqan::Dna5String seqH; seqan::Dna5String seqV; seqan::Score<int, seqan::Simple> scoringScheme(1, -1, -1); seqan::String<TSeed> seeds; appendValue(seeds, TSeed(0, 0, 2)); appendValue(seeds, TSeed(3, 5, 2)); appendValue(seeds, TSeed(4, 2, 3)); appendValue(seeds, TSeed(9, 9, 2)); TSeedSet seedSet; for (unsigned i = 0; i < length(seeds); ++i) { if (!addSeed(seedSet, seeds[i], 2, 2, scoringScheme, seqH, seqV, seqan::Chaos())) addSeed(seedSet, seeds[i], seqan::Single()); } std::cout << "Resulting seeds.\n"; typedef seqan::Iterator<TSeedSet>::Type TIter; for (TIter it = begin(seedSet, seqan::Standard()); it != end(seedSet, seqan::Standard()); ++it) std::cout << "(" << beginPositionH(*it) << ", " << endPositionH(*it) << ", " << beginPositionV(*it) << ", " << endPositionV(*it) << ", " << lowerDiagonal(*it) << ", " << upperDiagonal(*it) << ")\n"; return 0; }
void FloodFill::fill() { while (!_queue.empty()) { Common::Point *p = _queue.front(); _queue.pop_front(); addSeed(p->x , p->y - 1); addSeed(p->x - 1, p->y ); addSeed(p->x , p->y + 1); addSeed(p->x + 1, p->y ); delete p; } }
int main() { // FRAGMENT(example) typedef seqan::Seed<seqan::Simple> TSeed; typedef seqan::SeedSet<seqan::Simple> TSeedSet; TSeedSet seedSet; addSeed(seedSet, TSeed(0, 0, 2), seqan::Single()); addSeed(seedSet, TSeed(3, 5, 2), seqan::Single()); addSeed(seedSet, TSeed(4, 2, 3), seqan::Single()); addSeed(seedSet, TSeed(9, 9, 2), seqan::Single()); seqan::String<TSeed> result; chainSeedsGlobally(result, seedSet, seqan::SparseChaining()); // FRAGMENT(footer) return 0; }