From RleList to RleArray
1
2
Entering edit mode
davide risso ▴ 950
@davide-risso-5075
Last seen 5 weeks ago
University of Padova

Hi all,

is there a way to transform an RleList (or a list of Rle's) into a RleArray / RleMatrix?

My use case is that I have a loop / lapply that returns a list of Rle objects that I would like to store as a RleMatrix (each column as an Rle).

Minimal example:

x <- Rle(10:1, 1:10)
rl <- RleList(x, x)

Ideally, something like

rm <- RleArray(rl, dim=c(length(x), length(r1))

or

rm <- as(rl, "RleArray")

The more realistic (but not reproducible at this moment example):

idx <- c(50, 100)
rleBinCovList <- lapply(idx, function(win) {
        runsum(chrCovRle, k=win, endrule="constant")
    })

Or perhaps is there a way to create directly a RleArray?

Thanks! Davide

delayedarray rlelist rle • 1.6k views
ADD COMMENT
4
Entering edit mode
Peter Hickey ▴ 740
@petehaitch
Last seen 1 day ago
WEHI, Melbourne, Australia

rm <- RleArray(unlist(rl), c(lengths(rl)[1], length(rl))) will give you what you want (the unlist() is cheap because of how an RleList is defined). With some checks added, this could become the as(rl, "RleArray") method.

ADD COMMENT
0
Entering edit mode

Thanks Pete!

I knew you could help! I almost just wrote directly to you ;)

ADD REPLY
1
Entering edit mode

Will try to write a PR to add this to DelayedArray over the next few days

ADD REPLY
0
Entering edit mode

Thanks for the PR Pete. I just merged it.  H.

ADD REPLY

Login before adding your answer.

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