HI All,
I have been using DiffBind for several analyses. But lately I am having problems with a dataset. Please see the terminal log file below.
~$ R
R version 3.2.4 Revised (2016-03-16 r70336) -- "Very Secure Dishes"
Copyright (C) 2016 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)
R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.
Natural language support but running in an English locale
R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.
Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.
> library(DiffBind)
Loading required package: GenomicRanges
Loading required package: BiocGenerics
Loading required package: parallel
Attaching package: ‘BiocGenerics’
The following objects are masked from ‘package:parallel’:
clusterApply, clusterApplyLB, clusterCall, clusterEvalQ,
clusterExport, clusterMap, parApply, parCapply, parLapply,
parLapplyLB, parRapply, parSapply, parSapplyLB
The following object is masked from ‘package:stats’:
xtabs
The following objects are masked from ‘package:base’:
anyDuplicated, append, as.data.frame, as.vector, cbind, colnames,
duplicated, eval, evalq, Filter, Find, get, intersect, is.unsorted,
lapply, Map, mapply, match, mget, order, paste, pmax, pmax.int,
pmin, pmin.int, Position, rank, rbind, Reduce, rep.int, rownames,
sapply, setdiff, sort, table, tapply, union, unique, unlist
Loading required package: IRanges
Loading required package: XVector
> diffAnalysis = dba(sampleSheet="dataInfo.csv")
1 KO1 H3K4me1 KnockOut 1 raw
2 KO2 H3K4me1 KnockOut 2 raw
3 WT1 H3K4me1 WildType 1 raw
4 WT2 H3K4me1 WildType 2 raw
> diffAnalysis = dba.count(diffAnalysis, minOverlap=2)
*** caught segfault ***
address 0xfffffffc7824c980, cause 'memory not mapped'
Traceback:
1: .Call("croi_count_reads", bamfile, as.integer(insertLength), as.integer(fileType), as.integer(bufferSize), as.character(intervals[[1]]), as.integer(intervals[[2]]), as.integer(intervals[[3]]), as.integer(icount), as.logical(bWithoutDupes), counts.croi)
2: FUN(X[[i]], ...)
3: lapply(X = S, FUN = FUN, ...)
4: doTryCatch(return(expr), name, parentenv, handler)
5: tryCatchOne(expr, names, parentenv, handlers[[1L]])
6: tryCatchList(expr, classes, parentenv, handlers)
7: tryCatch(expr, error = function(e) { call <- conditionCall(e) if (!is.null(call)) { if (identical(call[[1L]], quote(doTryCatch))) call <- sys.call(-4L) dcall <- deparse(call)[1L] prefix <- paste("Error in", dcall, ": ") LONG <- 75L msg <- conditionMessage(e) sm <- strsplit(msg, "\n")[[1L]] w <- 14L + nchar(dcall, type = "w") + nchar(sm[1L], type = "w") if is.na(w)) w <- 14L + nchar(dcall, type = "b") + nchar(sm[1L], type = "b") if (w > LONG) prefix <- paste0(prefix, "\n ") } else prefix <- "Error : " msg <- paste0(prefix, conditionMessage(e), "\n") .Internal(seterrmessage(msg[1L])) if (!silent && identical(getOption("show.error.messages"), TRUE)) { cat(msg, file = stderr()) .Internal(printDeferredWarnings()) } invisible(structure(msg, class = "try-error", condition = e))})
8: try(lapply(X = S, FUN = FUN, ...), silent = TRUE)
9: sendMaster(try(lapply(X = S, FUN = FUN, ...), silent = TRUE))
10: FUN(X[[i]], ...)
11: lapply(seq_len(cores), inner.do)
12: mclapply(arglist, fn, ..., mc.preschedule = TRUE, mc.allow.recursive = TRUE)
13: config$lapplyFun(config, params, arglist, fn, ...)
14: dba.parallel.lapply(pv$config, params, todo, pv.getCounts, bed, insertLength, bWithoutDupes = bWithoutDupes, bLowMem, yieldSize, mode, singleEnd, scanbamparam, readFormat)
15: 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)
16: dba.count(diffAnalysis, minOverlap = 2)
Possible actions:
1: abort (with core dump, if enabled)
2: normal R exit
3: exit R without saving workspace
4: exit R saving workspace
Selection:
*** caught segfault ***
address 0x113a5b2a8, cause 'memory not mapped'
Traceback:
1: .Call("croi_count_reads", bamfile, as.integer(insertLength), as.integer(fileType), as.integer(bufferSize), as.character(intervals[[1]]), as.integer(intervals[[2]]), as.integer(intervals[[3]]), as.integer(icount), as.logical(bWithoutDupes), counts.croi)
2: FUN(X[[i]], ...)
3: lapply(X = S, FUN = FUN, ...)
4: doTryCatch(return(expr), name, parentenv, handler)
5: tryCatchOne(expr, names, parentenv, handlers[[1L]])
6: tryCatchList(expr, classes, parentenv, handlers)
7: tryCatch(expr, error = function(e) { call <- conditionCall(e) if (!is.null(call)) { if (identical(call[[1L]], quote(doTryCatch))) call <- sys.call(-4L) dcall <- deparse(call)[1L] prefix <- paste("Error in", dcall, ": ") LONG <- 75L msg <- conditionMessage(e) sm <- strsplit(msg, "\n")[[1L]] w <- 14L + nchar(dcall, type = "w") + nchar(sm[1L], type = "w") if is.na(w)) w <- 14L + nchar(dcall, type = "b") + nchar(sm[1L], type = "b") if (w > LONG) prefix <- paste0(prefix, "\n ") } else prefix <- "Error : " msg <- paste0(prefix, conditionMessage(e), "\n") .Internal(seterrmessage(msg[1L])) if (!silent && identical(getOption("show.error.messages"), TRUE)) { cat(msg, file = stderr()) .Internal(printDeferredWarnings()) } invisible(structure(msg, class = "try-error", condition = e))})
8: try(lapply(X = S, FUN = FUN, ...), silent = TRUE)
9: sendMaster(try(lapply(X = S, FUN = FUN, ...), silent = TRUE))
10: FUN(X[[i]], ...)
11: lapply(seq_len(cores), inner.do)
12: mclapply(arglist, fn, ..., mc.preschedule = TRUE, mc.allow.recursive = TRUE)
13: config$lapplyFun(config, params, arglist, fn, ...)
14: dba.parallel.lapply(pv$config, params, todo, pv.getCounts, bed, insertLength, bWithoutDupes = bWithoutDupes, bLowMem, yieldSize, mode, singleEnd, scanbamparam, readFormat)
15: 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)
16: dba.count(diffAnalysis, minOverlap = 2)
Possible actions:
1: abort (with core dump, if enabled)
2: normal R exit
3: exit R without saving workspace
4: exit R saving workspace
Selection:
I am having the same issue even with 6 column bed file as advised earlier on similar problems in discussion forums.
Please help me in solving this issue.
Here is the sessionInfo()
> sessionInfo()
R version 3.3.0 (2016-05-03)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 14.04.4 LTS
locale:
[1] LC_CTYPE=en_GB.UTF-8 LC_NUMERIC=C
[3] LC_TIME=en_GB.UTF-8 LC_COLLATE=en_GB.UTF-8
[5] LC_MONETARY=en_GB.UTF-8 LC_MESSAGES=en_GB.UTF-8
[7] LC_PAPER=en_GB.UTF-8 LC_NAME=C
[9] LC_ADDRESS=C LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_GB.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] parallel stats graphics grDevices utils datasets methods
[8] base
other attached packages:
[1] DiffBind_1.8.5 GenomicRanges_1.14.4 XVector_0.2.0
[4] IRanges_1.20.7 BiocGenerics_0.8.0
loaded via a namespace (and not attached):
[1] edgeR_3.4.2 gtools_3.5.0 bitops_1.0-6 stats4_3.3.0
[5] KernSmooth_2.23-15 amap_0.8-14 gplots_3.0.1 zlibbioc_1.8.0
[9] gdata_2.17.0 limma_3.18.13 RColorBrewer_1.1-2 caTools_1.17.1
many thanks
Hi,
Your sessionInfo shows DiffBind version 1.8.5, which is very out of date. Please upgrade to the current version that goes with R 3.3 (which is DiffBind version 2.0.2) and let us know what happens. (You'll probably have to upgrade a number of other packages too.)
Cheers,
- Gord
Hi Gord,
It is still the same with upgraded DiffBind version 2.0.2. Any more suggestions please?
Hi,
Have you upgraded all other packages as well?
Try running dba.count with "bUseSummarizeOverlaps=TRUE" to use different counting code. If it still fails, there's something wrong with your read files. What format are they in? Also, if you could send or attach your sample sheet, I can see if there's something not quite right there.
Cheers,
- Gord