Hi,
I have an time-course RNA-seq data set with 8 different time points. I am trying to find expression patterns in the data - clusters of genes that change in similar ways throughout the experimental conditions.
I guess one option would be to do pair-wise comparisons in DESeq2 by specifying the contrast. But since I am not interested in comparing only two of the time points, I was looking for an alternative that would allow me to consider expression patterns in the whole data set. I have found the FunPat package, but cannot seem to get this to work.
I would appreciate any advice since I am not sure how to proceed. Does anyone have experience with this kind of analysis and can recommend a good package or function that I should look into?
How about differential expression between some relevant time points followed by a simple heatmap with hierarchical clustering. Patterns will show up as distinct clusters plus you can use an awesome machine learning tool (
human_brain.R
) to directly interpret the patterns :) Is a heatmap an option here? For the DE maybe a LRT test to detect any changes with regard to the starting time point? See the DESeq2 manual for it.Wow, thanks for the super quick and helpful reply!! Yes, I have already generated heatmaps and there are distinct groups/patterns, but I was wondering if that is the best approach for this. I was not aware of LRT, so far I've only used the default Wald test in DESeq2. Thanks a lot for pointing this out!
The advantage of using only the differential genes would be to limit the heatmap on the relevant genes. I think for exploration this is the easiest option without the need for any fancy machine learning/classification/whatever approach. Just look at the heatmap and see whether it makes some biological sense. You could then e.g. feed the genes per cluster into some kind of enrichment analysis, e.g. g:profiler2 to see what these genes might do in terms of a biological function.
This sounds very reasonable, thanks!
I just discovered the degPatterns() function from the DEGreport package: It clusters genes according to their pattern throughout time; as input I used DE genes resulting from LRT in DESeq2
You may also want to check out mfuzz or WGCNA. These are straight-up clustering approaches on your whole dataset. You could always limit the input to significant as per LRT, or any metric you want, really. Note the manuals, as you probably want to feed VST, or RLog (see DESeq2 manual) transformed data into the clustering.