Error in estimateDispersionsFit(object, fitType = fitType, quiet = quiet) on using DBA_DESEQ2 with blocking factor.
1
0
Entering edit mode
@avantika6194-19499
Last seen 5.3 years ago

Hello,

I am running DiffBind analysis on a ChIP-Seq dataset, comparing Control versus Treatment and using Factor(Donor IDs) as a blocking factor. I want to use the DESeq2 method with dba.analyze, however it gives me an error asking me to use estimateDispersionsGeneEst instead of estimateDispersionsFit within the DESeq2 model.

How do I implement this change through DiffBind?


My code:

dat.bind <- dba.contrast(dat.bind, group1=dat.bind$masks$cond1, group2=dat.bind$masks$cond0, name1=cond1, name2=cond0, block=DBA_FACTOR)                                                         
dat.bind <- dba.analyze(dat.bind, method=DBA_DESEQ2)

The error message:

Error in estimateDispersionsFit(object, fitType = fitType, quiet = quiet) : all gene-wise dispersion estimates are within 2 orders of magnitude from the minimum value, and so the standard curve fitting techniques will not work. One can instead use the gene-wise estimates as final estimates: dds <- estimateDispersionsGeneEst(dds) dispersions(dds) <- mcols(dds)$dispGeneEst ...then continue with testing using nbinomWaldTest or nbinomLRT


Session Info

R version 3.5.0 (2018-04-23)

Platform: x86_64-apple-darwin15.6.0 (64-bit)

locale: enUS.UTF-8||enUS.UTF-8||enUS.UTF-8||C||enUS.UTF-8||en_US.UTF-8

attached base packages: stats4, parallel, stats, graphics, grDevices, utils, datasets, methods and base

other attached packages: bindrcpp(v.0.2.2), pander(v.0.6.3), viridis(v.0.5.1), viridisLite(v.0.3.0), RColorBrewer(v.1.1-2), gplots(v.3.0.1), ggplot2(v.3.0.0), devtools(v.1.13.6), DT(v.0.4), tidyr(v.0.8.1), ChIPseeker(v.1.16.1), DiffBind(v.2.8.0), SummarizedExperiment(v.1.10.1), DelayedArray(v.0.6.6), BiocParallel(v.1.14.2), matrixStats(v.0.54.0), TxDb.Hsapiens.UCSC.hg38.knownGene(v.3.4.0), EnsDb.Hsapiens.v79(v.2.99.0), ensembldb(v.2.4.1), AnnotationFilter(v.1.4.0), GenomicFeatures(v.1.32.3), AnnotationDbi(v.1.42.1), Biobase(v.2.40.0), GenomicRanges(v.1.32.7), GenomeInfoDb(v.1.16.0), IRanges(v.2.14.12), S4Vectors(v.0.18.3) and BiocGenerics(v.0.26.0)

loaded via a namespace (and not attached): backports(v.1.1.2), GOstats(v.2.46.0), Hmisc(v.4.1-1), fastmatch(v.1.1-0), plyr(v.1.8.4), igraph(v.1.2.2), lazyeval(v.0.2.1), GSEABase(v.1.42.0), splines(v.3.5.0), BatchJobs(v.1.7), crosstalk(v.1.0.0), gridBase(v.0.4-7), amap(v.0.8-16), digest(v.0.6.18), htmltools(v.0.3.6), GOSemSim(v.2.6.2), GO.db(v.3.6.0), gdata(v.2.18.0), magrittr(v.1.5), checkmate(v.1.8.5), memoise(v.1.1.0), BBmisc(v.1.11), cluster(v.2.0.7-1), limma(v.3.36.5), Biostrings(v.2.48.0), annotate(v.1.58.0), systemPipeR(v.1.14.0), enrichplot(v.1.0.2), prettyunits(v.1.0.2), colorspace(v.1.3-2), blob(v.1.1.1), ggrepel(v.0.8.0), dplyr(v.0.7.8), jsonlite(v.1.5), crayon(v.1.3.4), RCurl(v.1.95-4.11), TxDb.Hsapiens.UCSC.hg19.knownGene(v.3.2.2), graph(v.1.58.2), genefilter(v.1.62.0), bindr(v.0.1.1), brew(v.1.0-6), survival(v.2.42-6), sendmailR(v.1.2-1), glue(v.1.3.0), gtable(v.0.2.0), zlibbioc(v.1.26.0), XVector(v.0.20.0), UpSetR(v.1.3.3), Rgraphviz(v.2.24.0), scales(v.1.0.0), DOSE(v.3.6.1), pheatmap(v.1.0.10), DBI(v.1.0.0), edgeR(v.3.22.5), Rcpp(v.0.12.19), plotrix(v.3.7-4), htmlTable(v.1.12), xtable(v.1.8-3), progress(v.1.2.0), units(v.0.6-1), foreign(v.0.8-71), bit(v.1.1-14), Formula(v.1.2-3), AnnotationForge(v.1.22.2), htmlwidgets(v.1.3), httr(v.1.3.1), fgsea(v.1.6.0), acepack(v.1.4.1), pkgconfig(v.2.0.2), XML(v.3.98-1.16), farver(v.1.0), nnet(v.7.3-12), locfit(v.1.5-9.1), labeling(v.0.3), later(v.0.7.5), tidyselect(v.0.2.5), rlang(v.0.3.1), reshape2(v.1.4.3), munsell(v.0.5.0), tools(v.3.5.0), RSQLite(v.2.1.1), ggridges(v.0.5.1), evaluate(v.0.12), stringr(v.1.3.1), yaml(v.2.2.0), knitr(v.1.20), bit64(v.0.9-7), caTools(v.1.17.1.1), purrr(v.0.2.5), ggraph(v.1.0.2), RBGL(v.1.56.0), mime(v.0.6), DO.db(v.2.9), biomaRt(v.2.36.1), rstudioapi(v.0.8), compiler(v.3.5.0), curl(v.3.2), geneplotter(v.1.58.0), tibble(v.1.4.2), tweenr(v.1.0.0), stringi(v.1.2.4), lattice(v.0.20-35), ProtGenerics(v.1.12.0), Matrix(v.1.2-14), pillar(v.1.3.0), data.table(v.1.11.8), cowplot(v.0.9.3), bitops(v.1.0-6), httpuv(v.1.4.5), rtracklayer(v.1.40.6), qvalue(v.2.12.0), R6(v.2.3.0), latticeExtra(v.0.6-28), hwriter(v.1.3.2), promises(v.1.0.1), ShortRead(v.1.38.0), KernSmooth(v.2.23-15), gridExtra(v.2.3), boot(v.1.3-20), MASS(v.7.3-50), gtools(v.3.8.1), assertthat(v.0.2.0), DESeq2(v.1.20.0), Category(v.2.46.0), rprojroot(v.1.3-2), rjson(v.0.2.20), withr(v.2.1.2), GenomicAlignments(v.1.16.0), Rsamtools(v.1.32.3), GenomeInfoDbData(v.1.1.0), hms(v.0.4.2), rpart(v.4.1-13), grid(v.3.5.0), rmarkdown(v.1.10), ggforce(v.0.1.3), shiny(v.1.1.0) and base64enc(v.0.1-3)

diffbind • 3.8k views
ADD COMMENT
2
Entering edit mode
Rory Stark ★ 5.2k
@rory-stark-5741
Last seen 15 days ago
Cambridge, UK

This error typically arises either a) when you are using technical replicates and not biological replicates or b) when the same bam files are erroneously supplied for different samples. Basically there is not enough variance between the samples to estimate the dispersion.

If you search for this error message online, you will find discussion from the DESeq2 authors explaining it in more detail.

If somehow you really do have biological replicates with almost no variance, DiffBind does not offer a way to bypass the dispersion estimation step, so you'd have to export the read counts and use DESeq2 directly.

ADD COMMENT
0
Entering edit mode

Thank you for your help!

ADD REPLY

Login before adding your answer.

Traffic: 787 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