[Bioc-devel] memory inefficiency problem of building MSPC packages
Jurat Shayidin
juratbupt at gmail.com
Tue Aug 2 08:53:42 CEST 2016
Bioc-devel:
I haven been developing Bioconductor Package for multiple sample peak
calling, and all unit test for my packages is done efficiently. However, I
have one minor problem that cause memory inefficiency when building the
packages in my machines. To get straight, I am going to find overlap for
multiple GRanges objects simultaneously and proceed joint analysis for
multiple ChIP-Seq sample to rescue weak enriched region by helping with
co-localized evidence of multiple GRanges . After I reviewed all my source
code, indeed some paired overlap repeated many times that cause unnecessary
memory usage.
This is my custom function that I developed, it works perfectly in my
current workflow, but cause memory inefficiency problem.
grs <- GRangeslist(gr1, gr2, gr3, gr4, ...)
overlap <- function(grs, idx=1L, FUN=which.min) {
chosen <- grs[[idx]]
que.hit <- as(findOverlaps(chosen), "List")
sup.hit <- lapply(grs[-idx], function(ele_) {
ans <- as(findOverlaps(chosen, ele_), "List")
out.idx0 <- as(FUN(extractList(ele_$p.value, ans)), "List")
out.idx0 <- out.idx0[!is.na(out.idx0)]
ans <- ans[out.idx0]
})
res <- c(list(que.hit), sup.hit)
return(res)
}
How can I optimize my custom function without memory inefficiency? How can
I get rid of repeated overlapped paired GRanges? How can I efficiently
solve this issue? Can anyone propose possible ideas to get through this
problem? Thanks a lot
--
Jurat Shahidin
Ph.D. candidate
Dipartimento di Elettronica, Informazione e Bioingegneria
Politecnico di Milano
[[alternative HTML version deleted]]
More information about the Bioc-devel
mailing list