Exemplo n.º 1
0
// Check if sequence is composed of predominantely a single base
// Returns true if the sequence is not degenrate
bool QCProcess::performDegenerateCheck(const SequenceWorkItem& item)
{
    std::string w = item.read.seq.toString();
    AlphaCount64 bc;
    for(size_t i = 0; i < w.size(); ++i)
    {
        bc.increment(w[i]);
    }

    size_t maxCount = bc.getMaxCount();
    double prop = (double)maxCount / w.size();
    if(prop > m_params.degenProportion)
    {
        if(m_params.verbose > 0)
            std::cout << "Read " << w << " failed degenerate filter\n";
        return false;
    }
    return true;
}