Hi there,
I'm try to use DEXSeq to analysis differential exon usage and it worked fine with small sample sizes. But when my sample size goes over 30, the "estimateExonFoldChanges" function start to output the following error:
"Error in .local(x, ...):
cannot create 126 workers; 125 connections available in this session"
I tried both parallel version (with different number of workers specified) and serial version and met the same problem.
Does anyone know what's causing this error and how to solve it?
BTW, here's my R session info:
R version 3.3.2 (2016-10-31)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: CentOS release 6.7 (Final)
locale:
[1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8 LC_MONETARY=en_US.UTF-8
[6] LC_MESSAGES=en_US.UTF-8 LC_PAPER=en_US.UTF-8 LC_NAME=C LC_ADDRESS=C LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] stats4 parallel stats graphics grDevices utils datasets methods base
other attached packages:
[1] DEXSeq_1.20.2 RColorBrewer_1.1-2 AnnotationDbi_1.36.0 DESeq2_1.14.1 SummarizedExperiment_1.4.0
[6] GenomicRanges_1.26.1 GenomeInfoDb_1.10.1 IRanges_2.8.1 S4Vectors_0.12.2 Biobase_2.34.0
[11] BiocGenerics_0.20.0 BiocParallel_1.8.1 ggplot2_2.2.1 dplyr_0.5.0
loaded via a namespace (and not attached):
[1] genefilter_1.56.0 statmod_1.4.30 locfit_1.5-9.1 splines_3.3.2 lattice_0.20-34 colorspace_1.3-2 htmltools_0.3.6
[8] survival_2.39-5 XML_3.98-1.5 rlang_0.1.1 foreign_0.8-67 DBI_0.5-1 plyr_1.8.4 stringr_1.2.0
[15] zlibbioc_1.20.0 Biostrings_2.42.1 munsell_0.4.3 gtable_0.2.0 hwriter_1.3.2 memoise_1.0.0 latticeExtra_0.6-28
[22] knitr_1.17 biomaRt_2.30.0 geneplotter_1.52.0 htmlTable_1.7 Rcpp_0.12.11 acepack_1.4.1 xtable_1.8-2
[29] openssl_0.9.5 scales_0.4.1 base64_2.0 Hmisc_4.0-1 annotate_1.52.0 XVector_0.14.0 Rsamtools_1.26.1
[36] gridExtra_2.2.1 digest_0.6.12 stringi_1.1.5 grid_3.3.2 tools_3.3.2 bitops_1.0-6 magrittr_1.5
[43] lazyeval_0.2.0 RCurl_1.95-4.8 tibble_1.3.3 RSQLite_1.1-1 Formula_1.2-1 cluster_2.0.5 Matrix_1.2-7.1
[50] data.table_1.10.0 assertthat_0.1 R6_2.2.0 rpart_4.1-10 nnet_7.3-12
Thanks in advance!
Cheers,
Chen
UPDATE:
I updated R and DEXSeq to the latest version (R 3.4.1, DEXSeq 1.22.0) and still got the same error. Please note that with sample size smaller than 30, the code works perfectly fine.
Here's my code:
dxd <- estimateSizeFactors(dxd) BPPARAM <- MulticoreParam(workers=detectCores()/2) formulaFullModel = ~ sample + exon + libType:exon + condition:exon formulaReducedModel = ~ sample + exon + libType:exon dxd <- estimateDispersions(dxd, formula=formulaFullModel, BPPARAM=BPPARAM) dxd_deu <- testForDEU(dxd, reducedModel=formulaReducedModel, fullModel=formulaFullModel, BPPARAM=BPPARAM) dxd_fc <- estimateExonFoldChanges(dxd_sig)
Hi Chen,
Have you tried to specify a smaller number of workers?
Alejandro
I tried using serial instead of parallel, and it still produces the same error...
Can you update both R and Bioconductor at least to the latest release versions? If the error still occurs, could you please include the code that reproduces the error messages?
Please see the update in the main question description, thx.
Thanks for adding this. Your note on the sample size makes me think that the problem could be related to RAM usage. What kind of computer are you using?
I feel it's hitting the memory limit. When I specify 350G memory, one experiment with 32 samples successfully finished. But other experiments with more samples failed as usual.
Also, the number of exons matters as well. In one trial, I defined over 100 exons (not real exons) and the program crashed immediately.