inline void QTrimImpl ( FORMAT<TUPLETYPE>& fq )
	{
		std::vector< float > sum_qscores;
		MapQualityToSumScore ( std::get<3>(fq.data), sum_qscores );
		size_t read_length ( std::get<1>(fq.data).size() );
		size_t cut_pos(0);
		while ( read_length > quality_score_trait_.min_read_length_ )
		{
			if ( sum_qscores[read_length-1] < quality_score_trait_.q_table_[read_length-1] )			
			{
				++cut_pos;
				--read_length;
			}
			else
				break;
		}
		std::get<1>(fq.data).resize ( std::get<1>(fq.data).size() - cut_pos );  
		std::get<3>(fq.data).resize ( std::get<3>(fq.data).size() - cut_pos );  
	}
Exemplo n.º 2
0
Token Tokenizer::next_long_comment()
 {
  return cut_pos(Token_LongComment,ScanLongComment(text));
 }
Exemplo n.º 3
0
Token Tokenizer::next_space()
 {
  return cut_pos(Token_Space,ScanSpace(text));
 }