[BioC] Low number of replicates DESeq

Steve Lianoglou lianoglou.steve at gene.com
Wed Feb 26 10:03:50 CET 2014


Hi,

On Wed, Feb 26, 2014 at 12:50 AM, Federico Gaiti <f.gaiti at uq.edu.au> wrote:
> Hi Steve,
>
> thanks for the reply and sorry for all the code.
> I'm still a beginner in this field so I'm still learning how to correctly formulate my questions/emails.

Yeah, no problem, just pointing these things out -- keep in mind that
it takes even experienced people time to wade through lots of code, so
it's best to keep things short and sweet (with sufficient detail, of
course ;-)

> I agree with you about the PCA plot analysis.
> Could you just explain better to me what you mean with " If this is the case, then encoding the libType as a main effect in your model (as you've done) should go a long ways in dealing with this issue for you." ??
>
> So let's see if I got what you are saying.
> Are you suggesting I should  try to do a DGE with the undtranded data with "condition" as the only level and then compare it to the DGE outcome using a multifactorial design?
>
> This would be the way I start the multifactorial analysis:
>
> dds<-DESeqDataSetFromMatrix(countData=CountTable,colData=Design,design=~condition + libType)
>> colData(dds)$condition<-factor(colData(dds)$condition,levels=c("PRECOMP","COMP","JUV","ADULT"))
>> design(dds)<-formula(~libType + condition)
>
> Am I getting it right?
> If so, I'll go ahead and keep you posted about the outcome

Yes, you are getting it right -- I'd put the `condition` data on the
Design data.frame before you create the dds, but I'm not if it will
matter.

Just follow closely the example in the deseq2 vignette. Read the
entire vignette actually, so you understand how to get the particular
results you are after out of your objects (ie. what the things are
that you should pass into a call to `results` for instance).

You will be working with two models, say `dds1` which was built with
*only* the unstranded data and your design is ~ condition.

dds2 will be the model with the unstranded and stranded along with the
`~ libType + condition` design.

Once you have those, look at the output from `resultsNames(dds1)` and
`resultsNames(dds2)` and see that you compare the same results between
dds1 and dds2.

This should become more clear to you as you read the deseq2 vignette
(read it again if you think you already read it once) and when you
look with your data.

Note that the DESeq2 folks recently posted an early version of the
paper detaling the deseq2 method here:
http://biorxiv.org/content/early/2014/02/19/002832

Which would be helpful to read.

-steve

-- 
Steve Lianoglou
Computational Biologist
Genentech



More information about the Bioconductor mailing list