This is a test version of Biostars. For the public version, visit https://www.biostars.org.
Filtering Fastq based on GC content

Hello,

In my Illumina NovaSeq read, I have many G and C homopolymer reads. I used fastp --trim_poly_g option.

However, this option detects reads with at least 10 Gs at the end and trims the 10 Gs. If the whole read is made up of Gs, those reads still stay there but will only be 10 base pairs shorted. In addition, if G homopolymers appear in the middle of reads, this filtering option does not remove them.

I can easily imagine to write a python script to filter reads based on GC% but given I have 300 million reads, it will probably take forever to finish the job.

Is there any way you would suggest for doing this filtering in an efficient way?

Example before filtering from sample 1 Example after filtering from sample 1

fastq

1 answer

Use polyfilter.sh, a new tool available in BBMap suite: New Illumina error mode, new BBTools release (39.09) to deal with it

Log in to answer this question.