gagneurlab/OUTRIDER

Connection limit error while running OUTRIDER

Closed this issue · 3 comments

Hi, I was trying to follow the vignette but ran into an error due to limit on number of connections. I wanted to see if you have any suggestions on how to work around the issue. Thanks.

> ctsFile <- system.file('extdata', 'KremerNBaderSmall.tsv', package='OUTRIDER')
> ctsTable <- read.table(ctsFile, check.names=FALSE)
> ods <- OutriderDataSet(countData=ctsTable)
> ods <- filterExpression(ods, onlyZeros=TRUE, filterGenes=TRUE)
216 genes are filtered out due to zero counts. This is 21.6% of the genes.
> ods <- OUTRIDER(ods)
Fri May 25 13:24:36 2018: SizeFactor estimation ...
Fri May 25 13:24:36 2018: Running auto correct ...
[1] "Initial PCA loss: 4.62018005328588"
[1] "Time elapsed: 7.89964747428894"
[1] "nb-PCA loss: 4.43675707619974"
Fri May 25 13:24:44 2018: Fitting the data ...
Error in .local(x, ...) : 
  cannot create 783 workers; 125 connections available in this session

> sessionInfo()
R version 3.4.0 (2017-04-21)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: SUSE Linux Enterprise Server 11 SP4

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

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

other attached packages:
 [1] OUTRIDER_0.99.7            GenomicFeatures_1.28.3     AnnotationDbi_1.38.2      
 [4] BiocParallel_1.10.1        RcppArmadillo_0.6.700.6.0  githubinstall_0.2.2       
 [7] devtools_1.13.5            HTSFilter_1.16.0           BiocInstaller_1.26.1      
[10] mixOmics_6.3.1             lattice_0.20-35            MASS_7.3-47               
[13] RColorBrewer_1.1-2         pcaMethods_1.68.0          cowplot_0.8.0             
[16] ggpmisc_0.2.16             ggsignif_0.4.0             ggpubr_0.1.5              
[19] magrittr_1.5               ggplot2_2.2.1              bindrcpp_0.2              
[22] DESeq2_1.16.1              SummarizedExperiment_1.6.3 DelayedArray_0.2.7        
[25] matrixStats_0.52.2         Biobase_2.36.2             GenomicRanges_1.28.3      
[28] GenomeInfoDb_1.12.2        IRanges_2.10.2             S4Vectors_0.14.3          
[31] BiocGenerics_0.22.1        plyr_1.8.4                 edgeR_3.18.1              
[34] limma_3.32.10              data.table_1.11.2         

Thanks for pointing this out. I was able to reproduce the error. I think this relates to the issue of having a maximum number of connections one can have open in R (in addition to the three always reserved) is 125.

A quick workaround is to register your own correct BiocParallel Backend.

register(MulticoreParam(10))

Registering more then 125 workers would result in the same error as described above.

For reference HenrikBengtsson/Wishlist-for-R#28
Bioconductor/BiocParallel#55

I also wrote an issue for BiocParallel to create a correct default BiocParallel backend.
Bioconductor/BiocParallel#74

@pkothiyal I think this issue can be closed. Martin Morgen implemented a working default for servers with more than 125 cores in the new BiocParallel version 1.15.4 and also if you do not want to upgrade the package you can register your own MulticoreParam as follows:

register(MulticoreParam(10))

Thank you. I will try it out with your suggestion.