relipmoc / skewer

MIT License
95 stars 17 forks source link

Clarification on quality filtering/trimming #14

Closed enricoferrero closed 9 years ago

enricoferrero commented 9 years ago

Can you please clarify here and in the documentation or help files at what stage the quality filtering/trimming is done? Is it before or after the adapter trimming?

From the help file:

 Filtering & Post-trimming & Redistribution:
          -q, --end-quality  <int> Trim 3' end until specified or higher quality reached; (0)
          -Q, --mean-quality <int> The lowest mean quality value allowed before trimming; (0)

From the output:

8000000 read pairs processed; of these:
     23 ( 0.00%) read pairs filtered out by quality control
   4199 ( 0.05%) short read pairs filtered out after trimming by size control
    175 ( 0.00%) empty read pairs filtered out after trimming by size control
7995603 (99.95%) read pairs available; of these:
4834307 (60.46%) trimmed read pairs available after processing
3161296 (39.54%) untrimmed read pairs available after processing

Thanks!

relipmoc commented 9 years ago

The mean quality filtering is before adapter trimming while the end quality trimming if after adapter trimming. Thank you for your advice! I'll add this clarification to the skewer manual.

nick-youngblut commented 2 years ago

Sorry to hit up an old post, but it could help to have some clarification on the documentation:

 Filtering & Post-trimming & Redistribution:
          -q, --end-quality  <int> Trim 3' end until specified or higher quality reached; (0)
          -Q, --mean-quality <int> The lowest mean quality value allowed before trimming; (0)

For "The lowest mean quality value allowed before trimming", do you mean "...allowed before filtering"? It's not clear, at least to me, how --end-quality is different from --mean-quality, base on how the documentation is worded. It seems like --mean-quality means: "if the mean quality of the read is < the cutoff, then filter the read", but the wording appears to be otherwise ("trimming"). Is there a way to filter a read (no trim) based on average read quality?