Diffbind dba.report error
2
0
Entering edit mode
@jbergenstrahle-12485
Last seen 7.0 years ago

Hi!

I'm using DiffBind for ATAC-seq data, and everything runs smoothly except one thing -> I cant make a dba.report for one of my contrasts. All steps from loading -> counting -> analyzing seems to work, I get differently called peaks etc. I have 4 different conditions and 6 contrasts (output after dba.analyze):

6 Contrasts:
             Group1 Members1         Group2 Members2 DB.DESeq2
1 Olig2_Non_injured        2  Olig2_Injured        2         1
2 Olig2_Non_injured        2 WT_Non_injured        2         0
3 Olig2_Non_injured        2 WT_Injured_24h        2        50
4     Olig2_Injured        2 WT_Non_injured        2      2509
5     Olig2_Injured        2 WT_Injured_24h        2         8
6    WT_Non_injured        2 WT_Injured_24h        2       952

 

What really puzzles me is that I have done the exact same workflow for all my samples, but it's just one single contrast (contrast = 1) that produce this error:

Error in `colnames<-`(`*tmp*`, value = c("Chr", "Start", "End", "Conc",  : 

  'names' attribute [9] must be the same length as the vector [7]

 

Furthermore, the same samples are (as you see in my contrast table) included in other comparisons, which works fine, hence, it's only for contrast=1 this happens. 

Do anyone have any idea what could be the reason for this?

Best,

JB

 

diffbind • 1.3k views
ADD COMMENT
1
Entering edit mode
Rory Stark ★ 5.2k
@rory-stark-5741
Last seen 5 weeks ago
Cambridge, UK

Hi JB-

What version of DiffBind are you using? This specific bug was addressed in the most recent release (2.4.0).

There is a workaround. The problem is caused by the report for contrast 1 having only one element (R doesn't always deal well with single-row matrices/dataframes etc). The easiest way to get around the problem is to set the threshold higher so you get more sites, then extract the site you actually want by using the threshold explicitly:

> contrast1.report <- dba.report(myDBA,contrast=1,th=1)
> contrast1.report <- contrast1.report[contrast1.report$FDR <= 0.05,]

-Rory

P.S. It is worth noting than in investigating your issue, I discovered that the "fix" to this problem introduced a new problem, which will be fixed in DiffBind 2.4.1 in the next few days.

ADD COMMENT
0
Entering edit mode

Hi Rory, this workaround doesn't work for me. It still appeared the same error message.

ADD REPLY
0
Entering edit mode
@jbergenstrahle-12485
Last seen 7.0 years ago

Hi Rory,

I see that I didn't have the latest release. I will use your workaround (works well) until the new release, thanks for the quick reply!

Best,

JB

ADD COMMENT

Login before adding your answer.

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