Hi Friederike, How to prepare rRNA fasta for metagenomic RNA-seq? Thanks.
I would like to screen for rRNA contamination in my RNA-seq. I tried two different methods, which can be summed up as:
- take human GENCODE GTF, filter for "rRNA", extract sequence for the matching coordinates
- download Rfam FASTA file, filter for "ribosomal_rna" and "homo_sapiens" (example protocol)
I then align against each one separately. I don't expect them to yield very close results, but the difference can be 100X. Why such a big difference? Can I trust either?
One possibility is that the Rfam sequences are overestimating the abundance and I am getting a lot of false positives. However, I frequently have alignment rate of less than 5%, which is very reasonable.
3 answers
A very simple approach would be to download rRNA bed coordinates (from Ensembl) and then count the total number of reads that fall into this ROI (using bedtools suite) and divide this by total number of reads in the bam (samtools idxstats). This would give you a rough estimate of your background rRNA levels. If you have many samples you can set an acceptable threshold ( <2 %).
Yes, that is essentially the first method I mentioned, but I am trying to reconcile it with the alternative.
igor : Since you reactivated this thread and as it has not been mentioned I will make a note of bbsplit.sh from BBMap suite. You can use it to bin the reads mapping to rDNA repeat away from your sequences.
Just found it again and made a minor edit, which reactivated it. Thanks for the additional suggestion, though!
Log in to answer this question.
How about using the human rDNA repeat sequence to screen against. A link for that is in this post.
But then I will have three different results.
I am actually trying to make this work with Picard CollectRnaSeqMetrics, which needs an intevals file (so it has to be based on reference genome coordinates).
I was wondering if you figured out what the best approach is?