本文整理汇总了C++中AlignmentPtr::addRootGenome方法的典型用法代码示例。如果您正苦于以下问题:C++ AlignmentPtr::addRootGenome方法的具体用法?C++ AlignmentPtr::addRootGenome怎么用?C++ AlignmentPtr::addRootGenome使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类AlignmentPtr
的用法示例。
在下文中一共展示了AlignmentPtr::addRootGenome方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: createCallBack
void GenomeMetaTest::createCallBack(AlignmentPtr alignment)
{
hal_size_t alignmentSize = alignment->getNumGenomes();
CuAssertTrue(_testCase, alignmentSize == 0);
Genome* ancGenome = alignment->addRootGenome("AncGenome", 0);
MetaData* ancMeta = ancGenome->getMetaData();
ancMeta->set("Young", "Jeezy");
}
示例2: createCallBack
void TopSegmentIteratorToSiteTest::createCallBack(AlignmentPtr alignment)
{
vector<Sequence::Info> seqVec(1);
TopSegmentIteratorPtr ti;
TopSegmentStruct ts;
// case 1: single segment
Genome* case1 = alignment->addRootGenome("case1");
seqVec[0] = Sequence::Info("Sequence", 10, 2, 0);
case1->setDimensions(seqVec);
ti = case1->getTopSegmentIterator();
ts.set(0, 9);
ts.applyTo(ti);
ti->toRight();
ts.set(9, 1);
ts.applyTo(ti);
case1 = NULL;
// case 2: bunch of random segments
const hal_size_t numSegs = 1133;
hal_size_t total = 0;
vector<hal_size_t> segLens(numSegs);
for (size_t i = 0 ; i < numSegs; ++i)
{
hal_size_t len = rand() % 77 + 1;
segLens[i] = len;
total += len;
assert(len > 0);
}
Genome* case2 = alignment->addRootGenome("case2");
seqVec[0] = Sequence::Info("Sequence", total, numSegs, 0);
case2->setDimensions(seqVec);
hal_index_t prev = 0;
for (size_t i = 0 ; i < numSegs; ++i)
{
ti = case2->getTopSegmentIterator((hal_index_t)i);
ts.set(prev, segLens[i]);
prev += segLens[i];
ts.applyTo(ti);
}
}
示例3: createCallBack
void MappedSegmentMapDupeTest::createCallBack(AlignmentPtr alignment)
{
vector<Sequence::Info> seqVec(1);
BottomSegmentIteratorPtr bi;
BottomSegmentStruct bs;
TopSegmentIteratorPtr ti;
TopSegmentStruct ts;
// setup simple case were there is an edge from a parent to
// child and it is reversed
Genome* parent = alignment->addRootGenome("parent");
Genome* child1 = alignment->addLeafGenome("child1", "parent", 1);
Genome* child2 = alignment->addLeafGenome("child2", "parent", 1);
seqVec[0] = Sequence::Info("Sequence", 3, 0, 1);
parent->setDimensions(seqVec);
seqVec[0] = Sequence::Info("Sequence", 9, 3, 0);
child1->setDimensions(seqVec);
seqVec[0] = Sequence::Info("Sequence", 9, 3, 0);
child2->setDimensions(seqVec);
parent->setString("CCC");
child1->setString("CCCTACGTG");
child2->setString("CCCTACGTG");
bi = parent->getBottomSegmentIterator();
bs.set(0, 3);
bs._children.push_back(pair<hal_size_t, bool>(0, true));
bs._children.push_back(pair<hal_size_t, bool>(0, false));
bs.applyTo(bi);
ti = child1->getTopSegmentIterator();
ts.set(0, 3, 0, true, NULL_INDEX, 1);
ts.applyTo(ti);
ti->toRight();
ts.set(3, 3, 0, true, NULL_INDEX, 2);
ts.applyTo(ti);
ti->toRight();
ts.set(6, 3, 0, true, NULL_INDEX, 0);
ts.applyTo(ti);
ti = child2->getTopSegmentIterator();
ts.set(0, 3, 0, false);
ts.applyTo(ti);
ti->toRight();
ts.set(3, 3, NULL_INDEX, true);
ts.applyTo(ti);
ti->toRight();
ts.set(6, 3, NULL_INDEX, false);
ts.applyTo(ti);
}