Error when run dba.count() in Diffbind
1
0
Entering edit mode
yu.fu • 0
@yufu-9272
Last seen 8.8 years ago

Hello,

I receive a error message when running the dba.count() in Diffbind.

SCFIL = dba.count(SCFIL, minOverlap = 1)
Fehler in if (res[i] == -1) { : Fehlender Wert, wo TRUE/FALSE nötig ist

The DBA file looks like that (I took all of the peak in all samples):

6 Samples, 18962 sites in matrix:
               ID   Tissue  Factor   Condition Replicate Caller Intervals
1   Stemcell_K4_I stemcell H3K4me3 stemcell_K4         1    raw     15213
2  Stemcell_K4_II stemcell H3K4me3 stemcell_K4         2    raw     15633
3 Stemcell_K4_III stemcell H3K4me3 stemcell_K4         3    raw     16141
4        FIL_K4_I      FIL H3K4me3      FIL_K4         1    raw     15106
5       FIL_K4_II      FIL H3K4me3      FIL_K4         2    raw     14426
6      FIL_K4_III      FIL H3K4me3      FIL_K4         3    raw     15194

Does anyone have any idea what could be the problem? and how to fix it?

Thanks.

 

diffbind • 2.2k views
ADD COMMENT
0
Entering edit mode

Hi,

Could you post your sessionInfo(), so I can see what version of R and DiffBind you're running?  Also your sample sheet and the first few lines of one of your peak files?  Or email them to me, if you'd rather not post them publicly (email available on DiffBind's Bioconductor page).  Also the output of "traceback()" immediately after the error might help. - Gord

ADD REPLY
0
Entering edit mode
Gord Brown ▴ 670
@gord-brown-5664
Last seen 3.9 years ago
United Kingdom

Hi,

In your sample sheet, you have columns "bedReads" and "bedControl", that should be "bamReads" and "bamControl", even though your reads are bed format.  DiffBind will accept bam or bed-formatted reads for now (though bed support will probably be removed in the next release or two).  Originally Rory was not expecting to support bed format at all for reads (only for peaks) so he named the columns "bamReads" and "bamControl", but as it happened I had some code handy to support bed as well, so added that in.  Sorry for the confusion.

I'll see if we can generate a slightly more useful error message for this situation...

Cheers,

 - Gord

ADD COMMENT
0
Entering edit mode

Hi Gord,

Thanks for your answer. The dba.count problem is solved partially. Afterwards, it seems not all of the samples get the '"FRiP"score, and I could not plot it. Then I thought the computer may not have enough memory. So I tried on a PC with bigger memory. But still does not work, Could you please have a look and help me out from here.

> SCFIL = dba.count(SCFIL, minOverlap = 1)
Error: Error processing one or more read files. Check warnings().
In addition: Warning messages:
1:  
2:  
3:  
4:  
5:  
6:  
7:  
> traceback()
3: stop("Error processing one or more read files. Check warnings().",
       call. = FALSE)
2: pv.counts(DBA, peaks = peaks, minOverlap = minOverlap, defaultScore = score,
       bLog = bLog, insertLength = insertLength, bOnlyCounts = T,
       bCalledMasks = bCalledMasks, minMaxval = filter, bParallel = bParallel,
       bUseLast = bUseLast, bWithoutDupes = bRemoveDuplicates, bScaleControl = bScaleControl,
       filterFun = filterFun, bLowMem = bUseSummarizeOverlaps, readFormat = readFormat)
1: dba.count(SCFIL, minOverlap = 1)

First Output (PC with small memory)

> SCFIL = dba.count(SCFIL, minOverlap = 1)
> SCFIL
6 Samples, 18962 sites in matrix:
               ID   Tissue  Factor   Condition Replicate Caller Intervals FRiP
1   Stemcell_K4_I stemcell H3K4me3 stemcell_K4         1 counts     18962 0.70
2  Stemcell_K4_II stemcell H3K4me3 stemcell_K4         2 counts     18962 0.65
3 Stemcell_K4_III stemcell H3K4me3 stemcell_K4         3 counts     18962 0.65
4        FIL_K4_I      FIL H3K4me3      FIL_K4         1 counts     18962 0.76
5       FIL_K4_II      FIL H3K4me3      FIL_K4         2 counts     18962     
6      FIL_K4_III      FIL H3K4me3      FIL_K4         3 counts     18962     
> plot(SCFIL)
Fehler in if (sd(v2) == 0) { : Fehlender Wert, wo TRUE/FALSE nötig ist

> traceback()
6: pv.pairs(pv, mask = mask, CorMethod = CorMethod, bPlot = bPlot,
       minVal = minVal, bCorOnly = bCorOnly, bNonZeroCors = bNonZeroCors)
5: pv.occupancy(DBA, mask = mask, sites = sites, Sort = "cor", bCorOnly = T,
       CorMethod = distMethod)
4: dba.plotHeatmap(x, ...)
3: plot.DBA(SCFIL)
2: plot(SCFIL)
1: plot(SCFIL)

Thanks

 

ADD REPLY
0
Entering edit mode

I can't see how that could happen, but obviously it can.  Would it be possible to save your DBA object ("SCFIL") to a file (after running dba.count, just "save(SCFIL,file="scfil.Rdata)") and send it to the same email address?  I may not be able to diagnose the problem, but if not I can pass it along to Rory, who can.

ADD REPLY

Login before adding your answer.

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