vplagnol / ExomeDepth

ExomeDepth R package for the detection of copy number variants in exomes and gene panels using high throughput DNA sequencing data.
59 stars 26 forks source link

segfault "memory not mapped" during getBamCounts #16

Open wiraki opened 5 years ago

wiraki commented 5 years ago

Hi,

While generating 6 different reference pools (for gender, sequencers and target kits) we have run into the same error every time. It looks like this:

*** caught segfault ***
address 0xffffffff8f200760, cause 'memory not mapped'

Traceback:
 1: .Call(.bamfile_open, path(con), index, "rb")
 2: doTryCatch(return(expr), name, parentenv, handler)
 3: tryCatchOne(expr, names, parentenv, handlers[[1L]])
 4: tryCatchList(expr, classes, parentenv, handlers)
 5: tryCatch({    .io_check_exists(path(con))    index <- sub("\\.bai$", "", index(con, asNA = FALSE))    con$.extptr <- .Call(.bamfile_open, path(con), index, "rb")}, error = function(e
 6: open.BamFile(BamFile(file, index = index, asMates = asMates),     "rb")
 7: open(BamFile(file, index = index, asMates = asMates), "rb")
 8: .open_BamFile(file, index = index, param = param)
 9: GenomicAlignments::readGAlignments(file = bam.file, index = index,     param = my.param.single)
10: GenomicAlignments::readGAlignments(file = bam.file, index = index,     param = my.param.single)
11: countBamInGRanges.exomeDepth(bam.file = bam, index = index, granges = target,     min.mapq = min.mapq, read.width = read.width)
12: getBamCounts(bed.file = opt$target, bam.files = bams, include.chr = opt$chr,     referenceFasta = opt$reference, read.width = opt$width, )
An irrecoverable exception occurred. R is aborting now ...

This seems to happen at random times, as it occurred for example after having parsed 104 input samples and a runtime of 14h19m, but also after having parsed 214 input samples and a runtime of 33h15mins.

We can confirm that this error is not a RAM limitation.

Furthermore we would like your input regarding the size of reference pools. Since ExomeDepth selects the best matching samples from the reference pool, larger pools would always be better as they increase the chance of finding good matches. Is that interpretation correct?

Thanks!