[BioC] DiffBind error

jluis.lavin at unavarra.es jluis.lavin at unavarra.es
Wed Jan 30 16:31:34 CET 2013


@Rory,

Thank you very much for your help, it works fine. I think I'll follow your
advice about how to present the results to the researcher, it's a wise
choice.
;-)

El Mie, 30 de Enero de 2013, 16:09, Rory Stark escribió:
> Hi again-
>
> You need to explicitly retrieve the results of the analysis
> (differentially bound sites) using dba.report:
>
>> chippy.db = dba.report(chippy)
>
> By default this will come back as a GRanges object. You can get it back as
> a data frame using the DataType parameter:
>
>> chippy.db = dba.report(chippy, DataType = DBA_DATA_FRAME)
>
>
> (note you can set the default data type by setting
> chippy$config$DataType=DBA_DATA_FRAME).
>
> You can save the report to a csv file directly by specifying a file name
> to dba.report:
>
>> chippy.db = dba.report(chippy,file="ChIPseq_diffbind")
>
> Which will return the report as a Granges object and create a file called
> "ChIPseq_diffbind.csv".
>
> Note that you can control the contents of the report with other parameters
> to dba.report. By default, it will include sites with an FDR < 0.10; for
> each site you will get the interval, the log2 mean concentration of
> normalized reads overall and in the two groups, the log2 fold change
> (positive or negative depending on which group has a greater read
> concentration), as well as the p-value and FDR (corrected for multiple
> testing). You can change the threshold using the "th" and "fold"
> parameters (setting th=1 will include all sites in the report, sorted by
> lowest FDR). You can also include the counts for each sample (normalized
> or non-normalized) by setting bCounts=TRUE, among other options.
>
> I usually return all the sites as a csv file, with counts for each sample,
> to the biologist and let them think about cutoffs, using:
>
>> chippy.db = dba.report(chippy, th=1, bCounts=T, file"dba_chippy")
>
>
> Cheers-
> Rory
>
>
> On 30/01/2013 14:51, "jluis.lavin at unavarra.es" <jluis.lavin at unavarra.es>
> wrote:
>
>>Hello again,
>>
>>Thank you very much to Rory and Gordon for your kind and accurate help.
>>Changing the minMembers parameter everything seemed to work fine and I've
>>been able to perform the next steps of the whole analysis.
>>
>>Now I'm struggling with the retrieval of the analysis data; when I try to
>>write the results into a .csv table with a simple command I get the
>>following error:
>>
>>> write.csv( chippy, file="ChIPseq_diffbind.csv" )
>>
>>
>>Error in as.data.frame.default(x[[i]], optional = TRUE, stringsAsFactors
>> =
>>stringsAsFactors) :
>>  cannot coerce class '"DBA"' into a data.frame
>>
>>I read DiffBind's vignette and manual and I found the "save" command, but
>>it doesn't allow me to retrieve the data either.
>>Is there a way to coerce a DBA class object into a dataframe implemented
>>in DiffBind?
>>The person I'll be analyzing ChIPseq experiments for will need tables
>> with
>>differentially bound sites from his data comparisons so I need to learn
>>how to get data out of DiffBind...
>>
>>Thanks in advance
>>
>>JL
>>
>>> sessionInfo()
>>R version 2.15.1 (2012-06-22)
>>Platform: x86_64-redhat-linux-gnu (64-bit)
>>
>>locale:
>> [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C
>> [3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8
>> [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8
>> [7] LC_PAPER=C                 LC_NAME=C
>> [9] LC_ADDRESS=C               LC_TELEPHONE=C
>>[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
>>
>>attached base packages:
>>[1] parallel  stats     graphics  grDevices utils     datasets  methods
>>[8] base
>>
>>other attached packages:
>>[1] DESeq_1.10.1         lattice_0.20-10      locfit_1.5-8
>>[4] DiffBind_1.4.1       Biobase_2.18.0       GenomicRanges_1.10.5
>>[7] IRanges_1.16.4       BiocGenerics_0.4.0   BiocInstaller_1.8.3
>>
>>loaded via a namespace (and not attached):
>> [1] amap_0.8-7           annotate_1.36.0      AnnotationDbi_1.20.3
>> [4] DBI_0.2-5            edgeR_3.0.8          gdata_2.12.0
>> [7] genefilter_1.40.0    geneplotter_1.36.0   gplots_2.11.0
>>[10] grid_2.15.1          gtools_2.7.0         KernSmooth_2.23-8
>>[13] limma_3.14.4         RColorBrewer_1.0-5   RSQLite_0.11.2
>>[16] splines_2.15.1       stats4_2.15.1        survival_2.36-14
>>[19] tools_2.15.1         XML_3.95-0.1         xtable_1.7-0
>>[22] zlibbioc_1.4.0
>>
>>
>>El Mie, 30 de Enero de 2013, 13:28, Rory Stark escribió:
>>>
>>> Hello-
>>>
>>> It looks like your sample sheet is fine.
>>>
>>> By default, if no contrasts are set up using dba.contrast,  when you
>>>call
>>> dba.analyze it attempts to add all the two-way contrasts between groups
>>> where there are at least three samples in each group. In your case,
>>> nothing meets these conditions, as there are only two "Resistant"
>>>samples.
>>>
>>> If you add a call to dba.contrast before the call to dba.analyze, you
>>>will
>>> get the contrast you desire:
>>>
>>>> chippy = dba.contrast(chippy, minMembers=2)
>>>
>>> or, slightly more explicitly:
>>>
>>>> chippy = dba.contrast(chippy, categories=DBA_CONDITION, minMembers=2)
>>>
>>> or, even more explicitly:
>>>
>>>> chippy = dba.contrast(chippy, group1=chippy$masks$Resistant, group2 =
>>>>chippy$masksResponsive, name1="Resistant", name2="Responsive")
>>>
>>> then:
>>>
>>>> chippy = dba.analyze(chippy)
>>>
>>> Cheers-
>>> Rory
>>>
>>Hi,
>>
>>By default, dba.contrast won't create contrasts with less than 3 members
>>in each group.  The easiest solution is to set minMembers=2 when calling
>>dba.contrast:
>>
>>> chippy = dba.contrast(chippy, categories=DBA_CONDITION, minMembers=2)
>>
>>Or you can create the contrast explicitly:
>>
>>> chippy = dba.contrast(chippy, group1=chippy$masks$Resistant,
>>>group2=chippy$masks$Responsive, name1="a name", name2="another name")
>>
>>Hope this helps...
>>
>>Cheers,
>>
>> - Gord
>>>
>>> On Tue, 29 Jan 2013 15:21:23 +0100, jluis.lavin at unavarra.es wrote:
>>>
>>>
>>>>
>>>>Dear list,
>>>>
>>>>I made a new samplesheet to use with DiffBind with this format:
>>>>
>>>>SampleID	Tissue	Factor	Condition	Replicate	bamReads	bamControl	Peaks
>>>>Contrl1	Neural	K9	Resistant	1	Control1.bed	Contro_input.bed	Control1_pea
>>>>ks
>>>>.bed
>>>>Contrl2	Neural	K9	Resistant	2	Control2.bed	Control_input.bed	Control2_pe
>>>>ak
>>>>s.bed
>>>>A4_1	Neural	K9	Responsive	1	A4_1.bed	A4_input.bed	A4_1_peaks.bed
>>>>A4_2	Neural	K9	Responsive	2	A4_2.bed	A4_input.bed	A4_2_peaks.bed
>>>>A21_1	Neural	K9	Responsive	1	A21_1.bed	A21_input.bed	A21_1_peaks.bed
>>>>A21_2	Neural	K9	Responsive	2	A21_2.bed	A21_input.bed	A21_2_peaks.bed
>>>>
>>>>I can load the files,
>>>>
>>>>> chippy = dba(sampleSheet="Peaksets_sample_sheet.csv")
>>>>
>>>>plot them
>>>>
>>>>>plot(chippy)
>>>>
>>>>and count the reads,
>>>>
>>>>>chippy = dba.count(chippy, minOverlap=3)
>>>>
>>>>but when I try to establish a contrast based on the condition metadata,
>>>>I
>>>>get the following warning message:
>>>>
>>>>> chippy = dba.contrast(chippy, categories=DBA_CONDITION)
>>>>
>>>>Warning message:
>>>>No contrasts added. Perhaps try more categories, or lower value for
>>>>minMembers.
>>>>
>>>>So when I try to perform the analysis, it doesn't work:
>>>>
>>>>> chippy = dba.analyze(chippy)
>>>>
>>>>Error in pv.DBA(DBA, method, bSubControl, bFullLibrarySize, bTagwise =
>>>>bTagwise,  :
>>>>  Unable to perform analysis: no contrasts specified.
>>>>In addition: Warning message:
>>>>No contrasts added. Perhaps try more categories, or lower value for
>>>>minMembers.
>>>>
>>>>->My questions are:
>>>>-What is the contrast for DiffBind (I added the input for each set of
>>>>samples, and 2 biological replicates as control)?
>>>>-Is there something wrong with the sample sheet?
>>>>-Shouldn't the files to analyze be in bed format?
>>>>
>>>>Thanks in advance
>>>>
>>>>JL
>>>>
>>>>We may monitor all incoming and outgoing emails in line with current
>>>>legislation. We have taken steps to ensure that this email and
>>>>attachments are free from any virus, but it remains your responsibility
>>>>to ensure that viruses do not adversely affect you.
>>>>Cancer Research UKRegistered charity in England and Wales (1089464),
>>>>Scotland (SC041666) and the Isle of Man (1103)
>>>>A company limited by guarantee.  Registered company in England and
>>>> Wales
>>>>(4325234) and the Isle of Man (5713F).
>>>>Registered Office Address: Angel Building, 407 St John Street, London
>>>>EC1V 4AD.
>>>
>>>
>>
>>
>>--
>>Dr. José Luis Lavín Trueba
>>
>>Dpto. de Producción Agraria
>>Grupo de Genética y Microbiología
>>Universidad Pública de Navarra
>>31006 Pamplona
>>Navarra
>>SPAIN
>>
>>
>
>


-- 
Dr. José Luis Lavín Trueba

Dpto. de Producción Agraria
Grupo de Genética y Microbiología
Universidad Pública de Navarra
31006 Pamplona
Navarra
SPAIN



More information about the Bioconductor mailing list