Re: DiffBind time course

Rory Stark <[email protected]> Tue, 9 Sep 2014 15:20:52 +0000
Newsgroups gmane.science.biology.informatics.conductor
Message-ID <D034D601.49BD4%[email protected]>
You can get the binding matrix after the call to dba.count, but you should
make sure to set the "score" to either DBA_SCORE_READS or
DBA_SCORE_READS_MINUS. If you've already counted and don't want to do it
again, you can change the score and then retrieve the binding matrix:

> DBA = dba.count(DBA,peaks=NULL,score=DBA_SCORE_READS)
> bindingMatrix = dba.peakset(DBA, bRetrieve=TRUE)

This will return the binding matrix as a GRanges object, with the read
counts in the metadata. It may be easier to work with a dataframe:

> bindingMatrix = dba.peakset(DBA, bRetrieve=TRUE, DataType=DBA_DATA_FRAME)


In which case the count matrix is:

> counts = bindingMatrix[,4:ncol(bindingMatrix)]

As for retrieving the actual edgeR and DESeq object, the final section int
he vignette describes where they are after a call to dba.analyze().

Cheers-
Rory

On 09/09/2014 15:29, "Enrico Ferrero" <[email protected]> wrote:

>Hi Rory,
>
>Many thanks for the explanation. At first sight, using a blocking
>factor should probably do the job - I hadn't though about it.
>For future reference, how and at what step I can extract the binding
>matrix or edgeR/DESeq2 objects to continue the analysis with those
>packages?
>
>Thanks!
>Best,
>
>
>On 9 September 2014 14:43, Rory Stark <[email protected]> wrote:
>> Hello Enrico-
>>
>> You can do some more advanced modelling using DiffBind, but to really
>>get
>> the full power of the GLMs, you probably want to extract the binding
>> matrix and/or the edgeR/DESEq2 objects and run the appropriate RNA-seq
>> package directly.
>>
>> Within DiffBind, you can use the "block" parameter in dba.contrast to
>> indicate the metadata field that has the timepoint. So if the
>> sample/control distinction is indicated as the Treatment and the
>>timepoint
>> info is in the Condition, you can say:
>>
>>> DBA = dba.contrast(DBA,categories=DBA_TREATMENT, block=DBA_CONDITION)
>>> DBA = dba.analyze(DBA) # for default edgeR analysis
>>
>> This will model the data as [~Condition + Treatment] and give you the
>> effects of the treatment consistent across timepoints. There are other
>> models you may want to fit, (eg [~Condition * Treatment]); for this you
>> would need to run edgeR (or DESeq/DESeq2) independently -- their
>> respective vignettes give examples of analyzing time series data.
>>
>> -Rory
>>
>> On 09/08/2014 12:02, Enrico Ferrero <[email protected]>  wrote:
>>
>>>
>>>----------------------------------------------------------------------
>>>
>>>Message: 1
>>>Date: Mon, 8 Sep 2014 12:01:57 +0100
>>>From: Enrico Ferrero <[email protected]>
>>>To: "[email protected]" <[email protected]>
>>>Subject: [BioC] DiffBind time course
>>>Message-ID:
>>>       
>>><CAO22HXcAQM_61p7uH4KSKkM13yFn5G5hp7fZS32+cBGTNnpzDw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
>>>Content-Type: text/plain; charset=UTF-8
>>>
>>>Hi,
>>>
>>>Is there a way to use DiffBind to analyse time course data?
>>>I have sample and control replicates at five different time points and
>>>I would like to know which sites show differential binding over time.
>>>
>>>At the moment I'm doing multiple pairwise comparisons (i.e: sample at
>>>24h vs control at 24h) and I'm trying to understand if it's possible
>>>at all and, if yes, what parameters I should pass to dba.contrast()
>>>and dba.analyze().
>>>
>>>Thanks!
>>>
>>>--
>>>Enrico Ferrero
>>
>
>
>
>-- 
>Enrico Ferrero

_______________________________________________
Bioconductor mailing list
[email protected]
https://stat.ethz.ch/mailman/listinfo/bioconductor
Search the archives: http://news.gmane.org/gmane.science.biology.informatics.conductor