After adapter trimming and quality filtering, I found some reads are too short (eg. 10bp),
so I delete all reads shorter than 25bp.
However, after this manipulation, some reads are missing from one PE library,
(eg. read1 was presented in 5'library, but missed in 3'library)
I try to re sync the PE library, but i did not find efficient methods.
I wrote a perl script to do this job, using hash table to store reads in each library, but the memory requirement is too high.
do anyone have some memory efficient methods to do this job?
2 answers
Have you tried using trimmomatic? I takes care about the read pairing.
Usually, this is done by the trimmer. However, with your constraints, you could use a bloom filter (in perl) backed by a hash.
There's an example of how you'd do this here.
But, the simplest way is to use something like Sickle that does this for you as @frenkiboy suggests.
Log in to answer this question.