I have three questions:
- I want to use deseq2 only to normalize the miRNA-seq raw counts (I don't want to use it to do any kind of differential analysis/ downstream analysis). So, in order to conduct deseq data normalization (defined as counts divided by sample specific size factors determined by median ratio of gene counts relative to geometric mean per gene), shall I just use the following codes without using (normTransform) nor (vst) functions?
dds <- estimateSizeFactors(dds)
mat <- counts(dds, normalized=TRUE)
My understanding is that the function (collapseReplicates) calculates the sum of the counts from technical replicates and put it into a single column of the count matrix. Is that correct? Should I perform this step before or after deseq normalization, or it does not matter?
I also want to filter miRNAs based on a specific minimum number of counts in a minimum number of samples (e.g keep only those miRNAs with a minimum count of 10 in at least 50% of the samples). Should I do this filtering step before or after deseq normalization?
Thank you
Thank you so much for your response.
And if I want to use deseq2 only to normalize the miRNA-seq raw counts (I don't want to use it to do any kind of differential analysis/ downstream analysis). So, in order to conduct deseq data normalization (defined as counts divided by sample specific size factors determined by median ratio of gene counts relative to geometric mean per gene), shall I just use the following codes without using (normTransform) nor (vst) functions? dds <- estimateSizeFactors(dds) mat <- counts(dds, normalized=TRUE)
normTransform gives you normalized data on log2 scale, vst gives variance-stabilized data on log2 scale. Use what you need for your purpose. Both run the estimation of size factors internally.
Thank you for the response. So, just to make sure I understood that correctly: -I will collapse the replicates using the (collapseReplicates) function before the deseq normalization using (counts, normalized=TRUE) or before the differential expression analysis using the (DESeq) function? -I will do the filtering step before deseq normalization using (counts, normalized=TRUE) or before the differential expression analysis using the (DESeq) function? -For the normalization process, do I have to use the (vst) function or just use (counts, normalized=TRUE) and (normTransform, f=log2, pc=1)?
I am asking these questions because I want to use DESeq2 only for normalization, not for the differential expression analysis.
The DESeq() function is described in the vignette, it also runs the normalization, so if you do the collapsing and prefiltering, and then either run the normalization manually and then get normalized counts, or run DESeq() and then get the counts -- it makes no difference. See vignette on getting normalized counts. Whether to use log2 normalized counts or the vst is on you, again see vignette, vst is generally a good choice for most downstream such as clustering etc.