void GappedSegmentIteratorIndelTest::createCallBack(AlignmentPtr alignment) { addIdenticalParentChild(alignment, 1, 20, 5); Genome* parent = alignment->openGenome(alignment->getRootName()); Genome* child = parent->getChild(0); TopSegmentIteratorPtr ti = child->getTopSegmentIterator(); BottomSegmentIteratorPtr bi = parent->getBottomSegmentIterator(); // int i = 0; // bool reversed = true; bi = parent->getBottomSegmentIterator(0); makeDelGap(bi); bi = parent->getBottomSegmentIterator(3); makeDelGap(bi); /* ti = child->getTopSegmentIterator(1); makeInsGap(ti); ti = child->getTopSegmentIterator(21); makeInsGap(ti); ti = child->getTopSegmentIterator(28); makeInsGap(ti); */ /* for (size_t i = 0; i < 20; ++i) { cout << i << ": "; bi = parent->getBottomSegmentIterator(i); ti = child->getTopSegmentIterator(i); cout << "ci=" << bi->getBottomSegment()->getChildIndex(0) << " pi=" << ti->getTopSegment()->getParentIndex() << endl; }*/ }
void GappedSegmentSimpleIteratorTest2::createCallBack(AlignmentPtr alignment) { addIdenticalParentChild(alignment, 2, 100, 5); Genome* parent = alignment->openGenome(alignment->getRootName()); Genome* child = parent->getChild(0); TopSegmentIteratorPtr ti = child->getTopSegmentIterator(); BottomSegmentIteratorPtr bi = parent->getBottomSegmentIterator(); hal_index_t i = 0; bool reversed = true; while (ti != child->getTopSegmentEndIterator()) { if (i % 5 == 0) { reversed = !reversed; if (reversed && i < (hal_index_t)(parent->getNumBottomSegments() - 1)) { makeInversion(ti, 5); } } ti->toRight(); bi->toRight(); ++i; } }
void GappedSegmentSimpleIteratorTest::createCallBack(AlignmentPtr alignment) { addIdenticalParentChild(alignment, 2, 100, 5); Genome* parent = alignment->openGenome(alignment->getRootName()); Genome* child = parent->getChild(0); TopSegmentIteratorPtr ti = child->getTopSegmentIterator(); BottomSegmentIteratorPtr bi = parent->getBottomSegmentIterator(); int i = 0; while (ti != child->getTopSegmentEndIterator()) { if (i++ % 2) { ti->getTopSegment()->setParentReversed(true); bi->getBottomSegment()->setChildReversed(0, true); } ti->toRight(); bi->toRight(); } }