This is a test version of Biostars. For the public version, visit https://www.biostars.org.
PRINSEQ order of preprocessing: filtering not last step?

I preprocessed my data with PRINSEQ including filtering and trimming:

prinseq-lite.pl -fastq forward.fq -fastq2 reverse.fq -min_qual_mean 20 -min_len 50 -trim_qual_right 20 -trim_qual_window 15 -trim_qual_step 5 -trim_qual_type min -out_format 3 -out_good filtered.qc -out_bad null

For the sequences in filtered (out_good), I had expected them to be at least 50bp. It does not seem to be the case. There are shorter sequences present, for example of 1 bp long.

My question is: Is it true that the filter step is not the last step executed by PRINSEQ, thus is it possible to have sequences shorter than min_len? (Or did I miss something, getting these results?)

filtering prinseq preprocessing trimming

1 answer

I found the answer about the order. If someone was wondering, PRINSEQ performs the processing of the available options in the following order:

  • seq_num,
  • trim_left, trim_right, trim_left_p, trim_right_p, trim_qual_left, trim_qual_right, trim_tail_left, trim_tail_right, trim_ns_left, trim_ns_right, trim_to_len,
  • min_len, max_len, range_len,
  • min_qual_score, max_qual_score, min_qual_mean, max_qual_mean,
  • min_gc, max_gc, range_gc,
  • ns_max_p, ns_max_n,
  • noniupac, lc_method, derep, seq_id, seq_case, dna_rna, out_format

Log in to answer this question.