DESeq2 time course analysis
1
0
Entering edit mode
K. • 0
@k-24552
Last seen 3.8 years ago

Hi! I want to perform time course analysis on my dataset. I have harvested samples from 3 intestinal organoid lines (which are derived from different patients) over 3 different timepoints (0h, 24h and 48h) after exposure to the compound. Now I have a bulk RNA-seq dataset, where I initially thought I could use the 3 donors as biological replicates, but it seems that the inter-patient differences are bigger than the effect that the treatment induces.

Just to illustrate:

PCA illustration

So, since I don't have 3 technical replicates per donor for each timepoint (but each timepoint has 3 donors that I though I could use as biological replicates), I feel a bit stuck, because averaging over all biological donors will not give good results (because baselevels are different).

What I think I should do, is first fit a linear regression line on expression vs time for each donor separately and then compare those slopes and regard them as replicates? I am quite new to DESeq2 model design that involves interactions, so I was wondering if you could help me out?

Here's an overview about the components of my design:

Time = as.factor(c(0, 0, 0, 24, 24, 24, 48, 48, 48))

Donor = as.factor(c(1, 2, 3, 1, 2, 3, 1, 2, 3))

metadata = c("Time", "Donor")

After googling around a bit, I tried something like this:

dds <- DESeqDataSetFromMatrix(countData = myData, colData = metadata, design = ~Donor + Time + Donor:Time)

dds <- DESeq(dds, test = "LRT", reduced = ~ Donor + Time)

It started off fine, but then returned me an error:

Error in checkForExperimentalReplicates(object, modelMatrix) :

The design matrix has the same number of samples and coefficients to fit, so estimation of dispersion is not possible. Treating samples as replicates was deprecated in v1.20 and no longer supported since v1.22.

Do you have any suggestions what to change in design? And how to make sure that timepoint 0 is considered as a reference level? Thanks in advance!

DESeq2 Timecourse • 3.0k views
ADD COMMENT
1
Entering edit mode
@mikelove
Last seen 2 hours ago
United States

You can perform an analysis with ~donor + time vs ~time. The GLM will account for donor baseline.

I feel a bit stuck, because averaging over all biological donors will not give good results (because baselevels are different).

I'm not sure I follow, this is what we do all the time in linear models when we put a nuisance covariate in the design. We are controlling for different baselines by adding regressors.

ADD COMMENT

Login before adding your answer.

Traffic: 663 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6