We have a data pipeline that served us well for years that includes DiffBind, which generates consensus peak files with different minOverlap values for a set of peak files. The code used in DiffBind is very simple, see below, and worked flawlessly so far. We however recently updated our Singularity image, and we now work with a newer DiffBind package version. Unfortunately, the new(er) versions either introduce a new bug (see below) or at least an undocumented and hard to understand behaviour that results in 0 consensus peak sets. I have reproducible code that runs just fine when running with DIffBind 2.14, but results in 0 consensus peaks with a newer DiffBind version. Can someone help?
I can provide the rds file of the dba object if needed for both R versions (they seem to be a bit different, as I get an error when I try to lrun a DiffBind v3 object within DiffBind v2.
> R.version.string
[1] "R version 3.6.2 (2019-12-12)"
> packageVersion("DiffBind")
[1] ‘2.14.0’
dba <- dba(sampleSheet = sampleMetaData.df)
dba.peakset(dba, minOverlap = 1)
9 Samples, 33498 sites in matrix:
ID Caller Intervals
1 1 narrow 18881
2 2 narrow 15370
3 3 narrow 16446
4 4 narrow 13283
5 5 narrow 20127
6 6 narrow 15987
7 7 narrow 21918
8 8 narrow 15457
9 1-2-3-4-5-6-7-8 narrow 33498
> R.version.string
[1] "R version 4.1.2 (2021-11-01)"
>packageVersion("DiffBind")
[1] ‘3.4.11’
dba <- dba(sampleSheet = sampleMetaData.df)
dba.peakset(dba, minOverlap = 1)
9 Samples, 22954 sites in matrix (33498 total):
ID Caller Intervals Reads
1 1 narrow 18881 NA
2 2 narrow 15370 NA
3 3 narrow 16446 NA
4 4 narrow 13283 NA
5 5 narrow 20127 NA
6 6 narrow 15987 NA
7 7 narrow 21918 NA
8 8 narrow 15457 NA
9 9 0 0
The problem here is the 9th and last row, which (used to) stores the consensus peakset. It is 0 for the new version.
An rds version of the dba object for reproducing the issue can be downloaded here: Hyperlink removed, as issue is solved
I agree the documentation could be clearer -- it took me a while to understand what it said so I could address your issue!