Question: Limma : time course experiment with missing data
gravatar for SPbeginner
14 months ago by
SPbeginner0 wrote:

Dear Bioconductor community,

I have timecourse RNA-seq data.

Some sample are low quality (high RNA degradation, low coverage on genes), this is why I wanted to use limma-voom with 


Animals received 2 differents treatments (TreatmentA, TreatmentB).

There are different number of animals in each group (5 or 6).

For each animal,blood were collacted before any treatment (D0) and at different time points after treatment: D1, D5, D28.

I don't have data for all animal at each time point. For example, in treatment A, animal  A74 doesn't have data at Day5.

I also have other condition for which i don't have value for animals at Day 0.

I want to determine :

1/ Which genes respond at either the Day1, Day5 or day28 in the different group

2/ Which genes respond differently over time in the different groups

Here is my analysis :

dge <- DGEList(counts=Count)
keep <- filterByExpr(dge, Blocked_Design_model)
dge <- dge[keep,,keep.lib.sizes=FALSE]
dge.norm <- calcNormFactors(dge)<- voomWithQualityWeights(dge.norm, Blocked_Design_model, plot=TRUE) <- duplicateCorrelation(,Blocked_Design_model,block=Design_clean_simple$Animal) <- voomWithQualityWeights(dge.norm, Blocked_Design_model, plot=TRUE,$consensus) <- lmFit(, Blocked_Design_model,block=Design_clean_simple$Animal ,$consensus)
contrast.matrix.blocked<-makeContrasts(GpA.D1=GroupTreatmentA.1-GroupTreatment.0, GpA.D5=GroupTreatment.5-GroupTreatment.0, GpA.D27=GroupTreatmentA.27-GroupTreatmentA.0, GpAvsGpB.D1 = (GroupTreatmentA.1-GroupTreatmentA.0)-(GroupTreatmentB.1-GroupTreatmentB.0),GpAvsGpB.D5 = (GroupTreatmentA.5-GroupTreatmentA.0)-(GroupTreatmentB.5-GroupTreatmentB.0),levels=colnames(Blocked_Design_model)) <-, contrast.matrix.blocked) <- eBayes(,robust=TRUE)

My question : as each subject doesn't yields a value at each time point, is it relevant to use Block model ?

In general cases, I have data set with missing information at some time point, how to deal with it ? Is my model correct ?

Thanks in advance for you help




limma limma-voom • 363 views
ADD COMMENTlink modified 10 weeks ago • written 14 months ago by SPbeginner0

Is it a problem to use Limma with blocked model when the dataset contain 2 groups with time points that are different ?

As an example, I have Group A with D0,D3,D7 and D27 and Group B with D0,D1,D3,D5,D7 and D28 ? I would like to identify genes which respond differently over time in the different groups :

contrast.matrix.blocked<-makeContrasts(Day3=(GroupA.D3-GroupA.D0)-(GroupB.D3-GroupB.D0), Day7=(GroupA.D7-GroupA.D0)-(GroupB.D7-GroupB.D0)))

 Which model would be the best ?

I have to precise that number of animal at each time point in Group B is very variable (animal are dying).

I had to pool 2 experiments so animals are not the same at D1 and D3 but for both I have D0. This is why I think I shouldn't use blocked model on animals ... Any suggestion ?

ADD REPLYlink modified 14 months ago • written 14 months ago by SPbeginner0

If you are talking about a different dataset to that presented in the original post, please write a new question.

ADD REPLYlink written 14 months ago by Aaron Lun23k

Figure out how to appreciate each moment of your life. Be glad at this point. Try not to sit tight to something outside of yourself to make you cheerful later on. Think how extremely valuable is the time you need to spend, regardless of whether it's grinding away or with your family. Consistently ought to be appreciated and enjoyed. It isn't the excellence of a building you should take a gander at cheap assignment writing services. its the development of the establishment that will stand the trial of time.

ADD REPLYlink written 13 months ago by davidsteven9310
Answer: Limma : time course experiment with missing data
gravatar for James W. MacDonald
14 months ago by
United States
James W. MacDonald50k wrote:

If you are using a linear mixed model you aren't using subject level blocking. In the former case it's OK to have missing time points for some subjects, and in the latter any such samples will drop out of the analysis when you compare timepoints that include missing data for a given subject.

An alternative would be to use splines (section 9.6.2 of the limma User's guide) which don't require replicates at each time point, but might be slightly more difficult to interpret.

ADD COMMENTlink written 14 months ago by James W. MacDonald50k

So, for you, my code is correct ?

I'll try to use splines for between-group comparison and let you know !

ADD REPLYlink written 14 months ago by SPbeginner0
Please log in to add an answer.


Use of this site constitutes acceptance of our User Agreement and Privacy Policy.
Powered by Biostar version 16.09
Traffic: 141 users visited in the last hour