Hi Dario Strbenac,

Are you asking if you can rewrite your code to work faster, or are you asking if the BioC devs need to improve the code to be faster? As a first test, I would try a few alternatives to see if they are significantly faster. One would be "unlist(GRangesList(blockRanges))". Another would be manually splitting each GRanges objects into its components: seqnames, IRanges, strand, and metadata. Then concatenate these components and build one big GRanges object. Try both of these approaches and see if either one makes things faster.

Alternatively, give me some code to generate a list of GRanges similar in size to your blockRanges object, and I'll test them myself.

-Ryan Thompson


On 01/06/2013 06:00 PM, Dario Strbenac wrote:
Hello,

For a not so large list of GRanges:

length(blockRanges)
[1] 4029
class(blockRanges)
[1] "list"

Which don't have an unreasonable number of elements in them:

summary(sapply(blockRanges, length))
    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.
       1     961   20710   55210   77680  759600

Combining them takes 15 minutes:

system.time(allRanges <- do.call(c, blockRanges))
sessionInfo()
    user  system elapsed
935.770  23.657 961.952

head(blockRanges[[1]])
GRanges with 6 ranges and 1 metadata column:
       seqnames         ranges strand | conservation
          <Rle>      <IRanges>  <Rle> |    <numeric>
   [1]     chr1 [10918, 10918]      * |        0.064
   [2]     chr1 [10919, 10919]      * |        0.056
   [3]     chr1 [10920, 10920]      * |        0.064
   [4]     chr1 [10921, 10921]      * |        0.056
   [5]     chr1 [10922, 10922]      * |        0.064
   [6]     chr1 [10923, 10923]      * |        0.064
   ---
   seqlengths:
    chr1
      NA

Could this code be faster ?

sessionInfo()
R version 2.15.2 (2012-10-26)
Platform: x86_64-pc-linux-gnu (64-bit)

other attached packages:
[1] GenomicRanges_1.10.5 IRanges_1.16.4       BiocGenerics_0.4.0

--------------------------------------
Dario Strbenac
PhD Student
University of Sydney
Camperdown NSW 2050
Australia

_______________________________________________
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel

_______________________________________________
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel

Reply via email to