This is a test version of Biostars. For the public version, visit https://www.biostars.org.
RNA-seq rRNA contamination

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.

rna-seq rrna

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?

3 answers

did you try sortMeRNA? The input are reads in fastq file + rRNA sequences. The tool will extract those reads that do not match to the rRNA sequences, so by quantifying how many reads you're left with, you should be able to gauge the contamination.

human rRNA, mouse rRNA

Hi Friederike, How to prepare rRNA fasta for metagenomic RNA-seq? Thanks.

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.