Hello,
I am trying to analyze miRNA data from the platform NanoString ncounter to identify miRNAs differentially expressed (DE) in human serum samples. I think that the data that comes from this platform is very similar to RNA-seq counts data, because the results are the number of counts in aprox. 800 miRNAs for each sample. So I want to know if I could use RNA-Seq bioinformatics tools to identify the DE miRNAs in three conditions, because I think that some considerations should be taken into account:
Although the panel can detect 800 miRNAs, I have only detected an average of 30 endogenous miRNAs in each serum sample (could be due to the low amounts of miRNAs in the blood), of which most have <100 counts (with a substraction of the mean of the negative controls plus two standard desviations) . Because of that, I think that all the methods that are based on global expression would not be appropiated. Also, at the moment, there isn't a valid endogenous housekeeping miRNA when analyzing circulating miRNAs, so I think that the best would be to normalize data with 5 miRNA Spike-Ins (in different concentrations) that I added to the samples prior to extraction. Or maybe you could suggest me a better way to normalize this data.
So I would like to know if current RNA-Seq tools could be adapted to analyze this kind of data. I would also appreciate your commenting on useful tools that I could use for an exploratory analysis (eg volcano plot, heatmap, etc). I have few experience in Bioinformatics, although I have some notions of programming in R, so I hope that I could learn how to use some tools to study this kind of data. Any kind of tutorials or resources that you recommend me will be very helpful.
Thanks you in advance,
Miguel
2 answers
Some thoughts:
- You could probably use packages like edgeR or DESeq2 the same way they are used with genes, they can work with any counts matrix.
- Since the data is sparse and small you might get some intuition from just observing it.
- You can definitely use the spike-ins to normalize the counts, you can add them to the counts table and use them in DESeq2 as
controlGenesinestimateSizeFactors() - If the miRNAs you see don't overlap between the samples it wouldn't work
For the people who read this post, I have found a very interesting resource:
There is explained how to contruct the variable that DESeq and edgeR needs to work when you need to start from a matrix counts. There is also explained some exploratory analysis that you can apply to your data.
Thanks you Asaf for the help, i am actually trying to learn how to use Rand to apply it to analyze my data.
All kinds of help will be well received
Log in to answer this question.
What are the negative controls you mentioned, background noise or actual biological samples?
The platform is based on hybridization, so they include 8 probes to miRNAs that aren't present in the samples (this is done in each sample). So for each sample, I sustract the mean plus two standard desviations (of the counts of this 8 probes) to the counts of all the miRNAs and considered as detectable all the miRNAs with a positive number of counts.
Please use
ADD COMMENT/ADD REPLYwhen responding to existing posts to keep threads logically organized.SUBMIT ANSWERis for new answers to original question.Thanks you Asaf.
Regarding to point 4:
On the other hand, I also have some miRNAs that are present in a condition but not in the other, which are of the most interesting I think, do these packages detect when the counts are just present in a condition and absent in the others?
No. However, you need some that will be present in all for normalization
I would normalize with the spike-ins, which are present in all samples. Or what do you mean?