bool FilterCriteria::Satisfy(const DNALength& alnLength, const float& pctSimilarity, const float& pctAccuracy, const Score& score) const { if (alnLength < _minAlnLength) { if (_verbose > 0) std::cout << "Alignment length " << alnLength << " is too short." << std::endl; return false; } if (pctSimilarity < _minPctSimilarity) { if (_verbose > 0) std::cout << "Percentage similarity " << pctSimilarity << " is too low." << std::endl; return false; } if (pctAccuracy < _minPctAccuracy) { if (_verbose > 0) std::cout << "Percentage accuracy " << pctAccuracy << " is too low." << std::endl; return false; } if (_useScore and not score.BetterThanOrEqual(_scoreCutoff)) { if (_verbose) std::cout << "Alignment score " << score.Value() << " worse than cut off." << std::endl; return false; } return true; }