2013-09-27 2 views
1

Может ли mclapply работать с CompressedRleList?Может ли mclapply работать с CompressedRleList?

Например, у меня есть вектор сигар (а), и cigarToRleList возвращает CompressedRleList при условии, что вектор:

a = c("44M","44M","9S35M","44M","40M4S") 
b = cigarToRleList(a) 

Если я пытаюсь запустить mclapply на б я получаю эту ошибку:

mclapply(b,function(x) class(x)) 
Error in as.list.default(X) : 
    no method for coercing this S4 class to a vector 

принуждение б в список не похоже, чтобы помочь в этом список имеет длину 1:

mclapply(list(b),function(x) class(x)) 
[[1]] 
[1] "CompressedRleList" 
attr(,"package") 
[1] "IRanges" 

Любые Идея, как заставить mclapply работать со структурой CompressedRleList?

ответ

2

Это вопрос о биоконденсаторе и поэтому должен быть адресован список рассылки Bioconductor. В прошлом были проблемы, поэтому предоставляем вывод sessionInfo(); Я считаю, что с нынешним Bioc это работает; это делается с

> library(GenomicRanges) 
> library(parallel) 
> a = c("44M","44M","9S35M","44M","40M4S") 
> b = cigarToRleList(a) 
> unlist(mclapply(b, class)) 
[1] "Rle" "Rle" "Rle" "Rle" "Rle" 
> sessionInfo() 
R version 3.0.2 RC (2013-09-23 r63972) 
Platform: x86_64-unknown-linux-gnu (64-bit) 

locale: 
[1] LC_CTYPE=en_US.UTF-8  LC_NUMERIC=C    
[3] LC_TIME=en_US.UTF-8  LC_COLLATE=en_US.UTF-8  
[5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 
[7] LC_PAPER=en_US.UTF-8  LC_NAME=C     
[9] LC_ADDRESS=C    LC_TELEPHONE=C    
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C  

attached base packages: 
[1] parallel stats  graphics grDevices utils  datasets methods 
[8] base  

other attached packages: 
[1] GenomicRanges_1.12.5 IRanges_1.18.3  BiocGenerics_0.6.0 

loaded via a namespace (and not attached): 
[1] stats4_3.0.2 


library(GenomicRanges) 
library(parallel) 
> unlist(mclapply(b, class)) 
[1] "Rle" "Rle" "Rle" "Rle" "Rle" 
> sessionInfo() 
R version 3.0.2 RC (2013-09-23 r63972) 
Platform: x86_64-unknown-linux-gnu (64-bit) 

locale: 
[1] LC_CTYPE=en_US.UTF-8  LC_NUMERIC=C    
[3] LC_TIME=en_US.UTF-8  LC_COLLATE=en_US.UTF-8  
[5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 
[7] LC_PAPER=en_US.UTF-8  LC_NAME=C     
[9] LC_ADDRESS=C    LC_TELEPHONE=C    
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C  

attached base packages: 
[1] parallel stats  graphics grDevices utils  datasets methods 
[8] base  

other attached packages: 
[1] GenomicRanges_1.12.5 IRanges_1.18.3  BiocGenerics_0.6.0 

loaded via a namespace (and not attached): 
[1] stats4_3.0.2