ctlab / fgsea

Fast Gene Set Enrichment Analysis
Other
379 stars 67 forks source link

fgseaMultilevelCpp doens't seem to be installed #138

Closed G3N0M3 closed 5 months ago

G3N0M3 commented 1 year ago

After installing the latest version of fgsea with

devtools::install_github("ctlab/fgsea", force = TRUE)

and running the following codes

data("examplePathways")
data("exampleRanks")

examplePathways
exampleRanks

fgseaRes <- fgsea(pathways = examplePathways,
                  stats = exampleRanks,
                  minSize = 15, maxSize = 500)

I run into the following error

Error: BiocParallel errors
  14 remote errors, element index: 1, 7, 13, 19, 25, 31, ...
  69 unevaluated and other errors
  first remote error:
Error in fgseaMultilevelCpp(x[, ES], stats, unique(x[, size]), sampleSize, : could not find function "fgseaMultilevelCpp"
In addition: There were 14 warnings (use warnings() to see them)

The warnings show

Warning messages:
1: In serialize(data, node$con) :
  'package:stats' may not be available when loading
...

I've tried updating the BiocParallel package, which was listed in the error message, but it didn't seem to change anything. Is something wrong with how I have installed fgsea? Is there an additional step in acquiring the fgseaMultilevelCpp function?

vdsukhov commented 1 year ago

@G3N0M3 Hi!

Could you provide the output of sessionInfo() function?

G3N0M3 commented 1 year ago

@vdsukhov Thank you for your response! Below is the output of the sessionInfo() function

R version 4.2.3 (2023-03-15 ucrt) Platform: x86_64-w64-mingw32/x64 (64-bit) Running under: Windows 10 x64 (build 22621)

Matrix products: default

locale: [1] LC_COLLATE=Korean_Korea.utf8 LC_CTYPE=Korean_Korea.utf8
[3] LC_MONETARY=Korean_Korea.utf8 LC_NUMERIC=C
[5] LC_TIME=Korean_Korea.utf8

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

other attached packages: [1] fgsea_1.27.0 BiocParallel_1.32.6
[3] dplyr_1.1.2 gprofiler2_0.2.2
[5] zip_2.3.0 ggplotify_0.1.1
[7] rvg_0.3.3 officer_0.6.2
[9] tidyr_1.3.0 pheatmap_1.0.12
[11] ggrepel_0.9.3 ggplot2_3.4.2
[13] biomaRt_2.54.1 DESeq2_1.38.3
[15] SummarizedExperiment_1.28.0 Biobase_2.58.0
[17] MatrixGenerics_1.10.0 matrixStats_1.0.0
[19] GenomicRanges_1.50.2 GenomeInfoDb_1.34.9
[21] IRanges_2.32.0 S4Vectors_0.36.2
[23] BiocGenerics_0.44.0

loaded via a namespace (and not attached): [1] bitops_1.0-7 fontquiver_0.2.1
[3] bit64_4.0.5 filelock_1.0.2
[5] RColorBrewer_1.1-3 progress_1.2.2
[7] httr_1.4.6 tools_4.2.3
[9] utf8_1.2.3 R6_2.5.1
[11] lazyeval_0.2.2 DBI_1.1.3
[13] colorspace_2.1-0 withr_2.5.0
[15] tidyselect_1.2.0 prettyunits_1.1.1
[17] bit_4.0.5 curl_5.0.1
[19] compiler_4.2.3 textshaping_0.3.6
[21] cli_3.6.1 xml2_1.3.5
[23] plotly_4.10.2 DelayedArray_0.24.0
[25] fontBitstreamVera_0.1.1 scales_1.2.1
[27] askpass_1.1 rappdirs_0.3.3
[29] yulab.utils_0.0.6 systemfonts_1.0.4
[31] stringr_1.5.0 digest_0.6.33
[33] gfonts_0.2.0 XVector_0.38.0
[35] htmltools_0.5.5 pkgconfig_2.0.3
[37] dbplyr_2.3.3 fastmap_1.1.1
[39] htmlwidgets_1.6.2 rlang_1.1.1
[41] httpcode_0.3.0 rstudioapi_0.15.0
[43] RSQLite_2.3.1 shiny_1.7.4.1
[45] gridGraphics_0.5-1 generics_0.1.3
[47] jsonlite_1.8.7 RCurl_1.98-1.12
[49] magrittr_2.0.3 GenomeInfoDbData_1.2.9 [51] Matrix_1.6-0 Rcpp_1.0.11
[53] munsell_0.5.0 fansi_1.0.4
[55] gdtools_0.3.3 lifecycle_1.0.3
[57] stringi_1.7.12 zlibbioc_1.44.0
[59] BiocFileCache_2.6.1 grid_4.2.3
[61] blob_1.2.4 promises_1.2.0.1
[63] parallel_4.2.3 crayon_1.5.2
[65] lattice_0.21-8 cowplot_1.1.1
[67] Biostrings_2.66.0 annotate_1.76.0
[69] hms_1.1.3 KEGGREST_1.38.0
[71] locfit_1.5-9.8 pillar_1.9.0
[73] uuid_1.1-0 geneplotter_1.76.0
[75] codetools_0.2-19 fastmatch_1.1-3
[77] crul_1.4.0 XML_3.99-0.14
[79] glue_1.6.2 fontLiberation_0.1.0
[81] data.table_1.14.8 httpuv_1.6.11
[83] png_0.1-8 vctrs_0.6.3
[85] gtable_0.3.3 openssl_2.1.0
[87] purrr_1.0.1 cachem_1.0.8
[89] mime_0.12 xtable_1.8-4
[91] later_1.3.1 viridisLite_0.4.2
[93] ragg_1.2.5 tibble_3.2.1
[95] AnnotationDbi_1.60.2 memoise_2.0.1
[97] ellipsis_0.3.2

assaron commented 1 year ago

@G3N0M3 apparently, package reinstallation has helped some of the people with the same problem: https://github.com/YuLab-SMU/clusterProfiler/issues/568 But as you said you did it already, as a workaround I can suggest to use nproc=1 option or (which is the same), run BiocParallell::register(BioParallell::SerialParam()) the first time before running fgsea. This will disable parallel computation.

G3N0M3 commented 1 year ago

I have tried setting nproc=1 when running the fgsea function on a different case I have been working on, and it seems to work fine. Thanks! I am a stranger to BiocParallel. Was the problem in the step intended to parallelize the process? If so, can there be something I have to set locally in my computer to apply multiple threads or cores?

vdsukhov commented 1 year ago

@G3N0M3

Previously, I encountered some issues while using BiocParallel on a Windows system. I resolved them by installing the Windows Subsystem for Linux (WSL2), along with RStudio Server. I followed this guide to set it up. By running RStudio Server through WSL2, I was able to parallelize my code and utilize all available cores without any issues.

G3N0M3 commented 1 year ago

@vdsukhov @assaron

Thanks for your replies! They have been really helpful. I have WSL2 18.04 installed at the moment, which seems to be a different version from the WSL2 version described in the guide you have provided. I'll see if it works for 18.04 as well. Thanks again!