[Bioc-sig-seq] viewApplying Efficiently

Dario Strbenac D.Strbenac at garvan.org.au
Mon Feb 14 00:00:15 CET 2011


Hello,

I have an RleList of about 17000 Rles and I'd like to get the regularly spaced values out of each one of them and have a list of vectors of numbers as the result.

e.g. my views locations is 17000 of these :

> samplingRL[[1]] # is a RangesList
IRanges of length 101
      start   end width
[1]     501   501     1
[2]    1001  1001     1
[3]    1501  1501     1
[4]    2001  2001     1
[5]    2501  2501     1
[6]    3001  3001     1
[7]    3501  3501     1
[8]    4001  4001     1
[9]    4501  4501     1
...     ...   ...   ...
[93]  46501 46501     1
[94]  47001 47001     1
[95]  47501 47501     1
[96]  48001 48001     1
[97]  48501 48501     1
[98]  49001 49001     1
[99]  49501 49501     1
[100] 50001 50001     1
[101] 50501 50501     1

and my RleList has data like :

> rleList[[1]]
'numeric' Rle of length 51001 with 38620 runs
  Lengths:               501                 1 ...              1089
  Values : 0.671728853793319 0.677726432845045 ... 0.224909214439609

I do the following to get the sampling position values in one step, but it uses up over 20 GB RAM in a matter of seconds, and I have to kill the process.

result <- viewApply(Views(rleList, samplingRL), function(samples) as.numeric(samples), simplify = TRUE)

Is there a better way ?

--------------------------------------
Dario Strbenac
Research Assistant
Cancer Epigenetics
Garvan Institute of Medical Research
Darlinghurst NSW 2010
Australia



More information about the Bioc-sig-sequencing mailing list