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


C++ Pattern::size方法代码示例

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


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

示例1: pMatch

  // 從本文的begin位置到end位置,找到第一個Pattern發生之起始位置
    T1::iterator pMatch(T1::iterator begin, T1::iterator end) {
	    T1::iterator i;
		int j;

		for (i = begin, j = 0; ((i != end) && (j < pat->size())); ) {
			if (*i == (*pat->ch)[j]) {
				i++; j++;
			}
			else {
				if (j == 0)  i++;
				else  j = pat->Fail(j - 1) + 1;
			}
		}
		return ( (j == pat->size()) ? i - pat->size() : end );
	}
开发者ID:Jonathan2251,项目名称:ow,代码行数:16,代码来源:EX1.CPP

示例2: search_read_backwards

SearchStates gram::search_read_backwards(const Pattern &read,
                                         const Pattern &kmer,
                                         const KmerIndex &kmer_index,
                                         const PRG_Info &prg_info) {
    // Test if kmer has been indexed
    bool kmer_in_index = kmer_index.find(kmer) != kmer_index.end();
    if (not kmer_in_index)
        return SearchStates{};

    // Test if kmer has been indexed, but has no search states in prg
    auto kmer_index_search_states = kmer_index.at(kmer);
    if (kmer_index_search_states.empty())
        return kmer_index_search_states;


    // Reverse iterator + skipping through indexed kmer in read
    auto read_begin = read.rbegin();
    std::advance(read_begin, kmer.size());

    SearchStates new_search_states = kmer_index_search_states;

    for (auto it = read_begin; it != read.rend(); ++it) { /// Iterates end to start of read
        const Base &pattern_char = *it;
        new_search_states = process_read_char_search_states(pattern_char,
                                                            new_search_states,
                                                            prg_info);
        // Test if no mapping found upon character extension
        auto read_not_mapped = new_search_states.empty();
        if (read_not_mapped)
            break;
    }

    new_search_states = handle_allele_encapsulated_states(new_search_states, prg_info);
    return new_search_states;
}
开发者ID:iqbal-lab,项目名称:gramtools,代码行数:35,代码来源:search.cpp

示例3: convert

bool Analyzer::convert(Pattern& pattern, vector<string>& items, RowData& row_data){

	// pattern and item size must match
	if (pattern.size() != items.size()) {
		return false;
	}
		
	Pattern::iterator itr_pattern = pattern.begin();
	vector<string>::iterator itr_items = items.begin();

	// process every element using proper element parser
	// return true only if all items are proper handled
	while (itr_pattern != pattern.end()) {
		Element* ele = *(*itr_pattern);
		string str = *itr_items;

		// increase pattern itr and corresponding item itr
		itr_pattern++;
		itr_items++;

		Data data;

		if (ele->convert(str, data)) {
			row_data.push_back(data);
		} else {
			row_data.clear();
			return false;
		}
	}
	return true;
}
开发者ID:happyxgang,项目名称:CodeExam,代码行数:31,代码来源:analyzer.cpp

示例4: round

   void PSU1Rules::BuildCodeSignal(const CodeTupleVector& codeTupleVec,
         const TrTupleVector& trTupleVec, const double bauda)
   {
      std::cout << "BUILDING CODE Signal " << std::endl;

      LocationVector lv = codeTupleVec[0].get<0>();
      const Pattern pattern = codeTupleVec[0].get<1>();
      const uint16_t pre_baud = round(trTupleVec[0].get<1>()/bauda);

      for(uint16_t idx=0; idx<lv.size(); ++idx)
      {
         const uint16_t ch_idx = ChIndex(lv,idx);
         ports_[ch_idx].resize(pre_baud+pattern.size());

         for(uint16_t jdx=0; jdx<pattern.size(); ++jdx) 
         {
            const uint16_t code_offset = pre_baud + jdx;
            ports_[ch_idx][code_offset] = pattern[jdx];
         }
      }
   }
开发者ID:rseal,项目名称:BitPatternGenerator,代码行数:21,代码来源:PSU1Rules.cpp

示例5: search

Row ClusterRepository::search(Pattern pattern, double threshold){
	std::vector<double> origin(pattern.size());
	Converter<Pattern> converter;

	std::fill(origin.begin(), origin.end(), (double)1);
	double feature = Math::cosSimilarity(origin, converter.convert(pattern));

	//しきい値以下のクラスタ
	std::vector<Row> result = this->sqlite.execute(this->getSelectClusterQuery(feature, threshold));
	
	if(result.empty()) throw std::exception("not found");

	return result[0];
}
开发者ID:leftfelt,项目名称:LeftFelt,代码行数:14,代码来源:ClusterRepository.cpp

示例6: quasimap_read

bool gram::quasimap_read(const Pattern &read,
                         Coverage &coverage,
                         const KmerIndex &kmer_index,
                         const PRG_Info &prg_info,
                         const Parameters &parameters) {
    auto kmer = get_kmer_from_read(parameters.kmers_size, read); // Gets last k bases of read

    auto search_states = search_read_backwards(read, kmer, kmer_index, prg_info);
    auto read_mapped_exactly = not search_states.empty();
    // Test read did not map
    if (not read_mapped_exactly)
        return read_mapped_exactly;
    auto read_length = read.size();

    uint64_t  random_seed = parameters.seed;
    coverage::record::search_states(coverage,
                                    search_states,
                                    read_length,
                                    prg_info,
                                    random_seed);
    return read_mapped_exactly;
}
开发者ID:iqbal-lab,项目名称:gramtools,代码行数:22,代码来源:quasimap.cpp

示例7: get_kmer_from_read

Pattern gram::get_kmer_from_read(const uint32_t &kmer_size, const Pattern &read) {
    Pattern kmer;
    auto kmer_start_it = read.begin() + read.size() - kmer_size;
    kmer.assign(kmer_start_it, read.end());
    return kmer;
}
开发者ID:iqbal-lab,项目名称:gramtools,代码行数:6,代码来源:quasimap.cpp


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