本文整理汇总了C++中Alignment::seqB方法的典型用法代码示例。如果您正苦于以下问题:C++ Alignment::seqB方法的具体用法?C++ Alignment::seqB怎么用?C++ Alignment::seqB使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Alignment
的用法示例。
在下文中一共展示了Alignment::seqB方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: long
bool ExtendJobMapperWithLinks::AlTestEdgeProximity::passes(vector<Alignment*>* matches, ScoredSeq* query){
bool foundPass = false;
// this allows the query to overhang the window to a degree acceptable by the percent ID,
// while also including a -1 that compensates for the zero-indexing of the final aligned pos
long effQsizeM1 = long(float(query->size()) * _fractId) - 1;
long aLastPos = query->size() - 1;
vector<Alignment*>::iterator alIt = matches->begin();
vector<Alignment*>::iterator alEnd = matches->end();
while (alIt != alEnd){
Alignment* al = *alIt;
long bLastPos;
if ( al->isLinked(aLastPos, query) ){ bLastPos = al->getLinkage(aLastPos, query); }
else { bLastPos = al->gapPairedAfter(aLastPos, query); }
// test if the full sequence of the query would fit in the window given where the
// alignment ends (it is possible that gaps push the 5p end of the query beyond the
// window, but i don't want that to penalize the match).
foundPass = _edgeProximity >= al->seqB()->size() - bLastPos + effQsizeM1;
// if the test passed, skip to the end
if (foundPass){ alIt = alEnd; }
else { ++alIt; }
}
return foundPass;
}