当前位置: 首页>>代码示例>>C++>>正文


C++ Grammar::maxParse方法代码示例

本文整理汇总了C++中Grammar::maxParse方法的典型用法代码示例。如果您正苦于以下问题:C++ Grammar::maxParse方法的具体用法?C++ Grammar::maxParse怎么用?C++ Grammar::maxParse使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Grammar的用法示例。


在下文中一共展示了Grammar::maxParse方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: predStructure

void predStructure(vector<PredRecord> & subStrPredVec, vector<PredRecord> & completeStrPredVec, bool calcComplStr, vector<SeqData> const & seqDataVec, Grammar & g, EmitWrappers & ew, EmitAnnoMap & eam, string const & annoName)
{
  TransAnnoMap am(eam, g.emitTransitions() );
  map<string, vector<string> > annoEquiMap = mkEquivalenceMap(g, am);

  for (unsigned i = 0; i < seqDataVec.size(); i++) {
    SeqData const & seqData = seqDataVec[i];

    // setup data structures for emissions probs (could be done outside loop if grammar accepted seqLength argument!)
    calcAndResetEmissions(seqData, g, ew, eam, annoName);

    // call main algorithms
    g.cyk();
    vector<EmitInfo> vei = g.maxParse();
    g.insideOutside();
    string fold = am.convertToString(vei);
    vector_t posScore = toNumber( g.postProbParse(vei, annoEquiMap) );

    // substructures
    vector<unsigned> begin;
    vector<unsigned> end;
    defineSubStructureIntervals(fold, begin, end);
    for (unsigned i = 0; i < begin.size(); i++) {
      string entryId = seqData.entryId + "." + toString(i);
      subStrPredVec.push_back( mkStrPredRecord(g, entryId, begin[i], end[i], fold, posScore) );
    }
    
    // complete structures
    if (calcComplStr) {
      completeStrPredVec.push_back( mkStrPredRecord(g, seqData.entryId, 0, seqData.seqSize(), fold, posScore) );
    }
  }
}
开发者ID:jakob-skou-pedersen,项目名称:phy,代码行数:33,代码来源:EvoFold.cpp


注:本文中的Grammar::maxParse方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。