MOFA2 icon indicating copy to clipboard operation
MOFA2 copied to clipboard

Error in py_call_impl(callable, dots$args, dots$keywords): AttributeError: Module 'scipy' has no attribute 'random'

Open royfrancis opened this issue 1 year ago • 8 comments

I have installed a conda env with mofapy.

> reticulate::py_config()
python:         /home/roy/miniconda3/envs/mofa/bin/python
libpython:      /home/roy/miniconda3/envs/mofa/lib/libpython3.10.so
pythonhome:     /home/roy/miniconda3/envs/mofa:/home/roy/miniconda3/envs/mofa
version:        3.10.6 (main, Oct 24 2022, 16:07:47) [GCC 11.2.0]
numpy:          /home/roy/miniconda3/envs/mofa/lib/python3.10/site-packages/numpy
numpy_version:  1.23.4
mofapy2:        /home/roy/miniconda3/envs/mofa/lib/python3.10/site-packages/mofapy2

But, I can't get run_mofa to work.

run_mofa(mo,outfile,use_basilisk=FALSE)
Connecting to the mofapy2 python package using reticulate (use_basilisk = FALSE)... 
    Please make sure to manually specify the right python binary when loading R with reticulate::use_python(..., force=TRUE) or the right conda environment with reticulate::use_condaenv(..., force=TRUE)
    If you prefer to let us automatically install a conda environment with 'mofapy2' installed using the 'basilisk' package, please use the argument 'use_basilisk = TRUE'

Warning: The latest mofapy2 version is 0.6.4, you are using 0.6.7. Please upgrade with 'pip install mofapy2'Warning: mofapy2_0.6.4 is not detected in the specified python binary, see reticulate::py_config(). Setting use_basilisk = TRUE...Connecting to the mofapy2 package using basilisk. 

Then , I reinstalled mofapy to an older version: 0.6.4. This worked a little bit more and crashed at this error:


Connecting to the mofapy2 python package using reticulate (use_basilisk = FALSE)... 
    Please make sure to manually specify the right python binary when loading R with reticulate::use_python(..., force=TRUE) or the right conda environment with reticulate::use_condaenv(..., force=TRUE)
    If you prefer to let us automatically install a conda environment with 'mofapy2' installed using the 'basilisk' package, please use the argument 'use_basilisk = TRUE'

        #########################################################
        ###           __  __  ____  ______                    ### 
        ###          |  \/  |/ __ \|  ____/\    _             ### 
        ###          | \  / | |  | | |__ /  \ _| |_           ### 
        ###          | |\/| | |  | |  __/ /\ \_   _|          ###
        ###          | |  | | |__| | | / ____ \|_|            ###
        ###          |_|  |_|\____/|_|/_/    \_\              ###
        ###                                                   ### 
        ######################################################### 
       
 
        
Successfully loaded view='view_1' group='group1' with N=200 samples and D=1000 features...
Successfully loaded view='view_2' group='group1' with N=200 samples and D=1000 features...


Model options:
- Automatic Relevance Determination prior on the factors: False
- Automatic Relevance Determination prior on the weights: True
- Spike-and-slab prior on the factors: False
- Spike-and-slab prior on the weights: True
Likelihoods:
- View 0 (view_1): gaussian
- View 1 (view_2): gaussian


 Error in py_call_impl(callable, dots$args, dots$keywords) : 
AttributeError: Module 'scipy' has no attribute 'random'

Here is a complete reprex:

library(MOFA2)
#> 
#> Attaching package: 'MOFA2'
#> The following object is masked from 'package:stats':
#> 
#>     predict

reticulate::use_condaenv("mofa")

data <- make_example_data(
  n_views = 2, 
  n_samples = 200, 
  n_features = 1000, 
  n_factors = 10
)[[1]]

m <- create_mofa(data)
#> Creating MOFA object from a list of matrices (features as rows, sample as columns)...
data_opts <- get_default_data_options(m)
model_opts <- get_default_model_options(m)
train_opts <- get_default_training_options(m)

mo <- prepare_mofa(
  object = m,
  data_options = data_opts,
  model_options = model_opts,
  training_options = train_opts
)
#> Checking data options...
#> Checking training options...
#> Checking model options...

outfile <- file.path(getwd(),"mofa.hdf5")
mot <- run_mofa(mo,outfile,use_basilisk=FALSE)
#> Connecting to the mofapy2 python package using reticulate (use_basilisk = FALSE)... 
#>     Please make sure to manually specify the right python binary when loading R with reticulate::use_python(..., force=TRUE) or the right conda environment with reticulate::use_condaenv(..., force=TRUE)
#>     If you prefer to let us automatically install a conda environment with 'mofapy2' installed using the 'basilisk' package, please use the argument 'use_basilisk = TRUE'
#> Error in py_call_impl(callable, dots$args, dots$keywords): AttributeError: Module 'scipy' has no attribute 'random'

Created on 2022-10-26 with reprex v2.0.2

Session info
sessioninfo::session_info()
#> ─ Session info ───────────────────────────────────────────────────────────────
#>  setting  value
#>  version  R version 4.1.0 (2021-05-18)
#>  os       Ubuntu 20.04.5 LTS
#>  system   x86_64, linux-gnu
#>  ui       X11
#>  language en_GB:en
#>  collate  en_GB.UTF-8
#>  ctype    en_GB.UTF-8
#>  date     2022-10-26
#>  pandoc   2.18 @ /usr/lib/rstudio/bin/quarto/bin/tools/ (via rmarkdown)
#> 
#> ─ Packages ───────────────────────────────────────────────────────────────────
#>  package        * version date (UTC) lib source
#>  assertthat       0.2.1   2019-03-21 [1] CRAN (R 4.1.0)
#>  basilisk         1.4.0   2021-05-19 [1] Bioconductor
#>  basilisk.utils   1.4.0   2021-05-19 [1] Bioconductor
#>  BiocGenerics     0.40.0  2021-10-26 [1] Bioconductor
#>  cli              3.4.1   2022-09-23 [1] CRAN (R 4.1.0)
#>  colorspace       2.0-3   2022-02-21 [1] CRAN (R 4.1.0)
#>  corrplot         0.92    2021-11-18 [1] CRAN (R 4.1.0)
#>  cowplot          1.1.1   2020-12-30 [1] CRAN (R 4.1.0)
#>  DBI              1.1.3   2022-06-18 [1] CRAN (R 4.1.0)
#>  DelayedArray     0.20.0  2021-10-26 [1] Bioconductor
#>  digest           0.6.30  2022-10-18 [1] CRAN (R 4.1.0)
#>  dir.expiry       1.0.0   2021-05-19 [1] Bioconductor
#>  dplyr            1.0.10  2022-09-01 [1] CRAN (R 4.1.0)
#>  evaluate         0.17    2022-10-07 [1] CRAN (R 4.1.0)
#>  fansi            1.0.3   2022-03-24 [1] CRAN (R 4.1.0)
#>  fastmap          1.1.0   2021-01-25 [1] CRAN (R 4.1.0)
#>  filelock         1.0.2   2018-10-05 [1] CRAN (R 4.1.0)
#>  forcats          0.5.2   2022-08-19 [1] CRAN (R 4.1.0)
#>  fs               1.5.2   2021-12-08 [1] CRAN (R 4.1.0)
#>  generics         0.1.3   2022-07-05 [1] CRAN (R 4.1.0)
#>  ggplot2          3.3.6   2022-05-03 [1] CRAN (R 4.1.0)
#>  ggrepel          0.9.1   2021-01-15 [1] CRAN (R 4.1.0)
#>  glue             1.6.2   2022-02-24 [1] CRAN (R 4.1.0)
#>  gtable           0.3.1   2022-09-01 [1] CRAN (R 4.1.0)
#>  HDF5Array        1.22.1  2021-11-14 [1] Bioconductor
#>  here             1.0.1   2020-12-13 [1] CRAN (R 4.1.0)
#>  highr            0.9     2021-04-16 [1] CRAN (R 4.1.0)
#>  htmltools        0.5.3   2022-07-18 [1] CRAN (R 4.1.0)
#>  IRanges          2.28.0  2021-10-26 [1] Bioconductor
#>  jsonlite         1.8.3   2022-10-21 [1] CRAN (R 4.1.0)
#>  knitr            1.40    2022-08-24 [1] CRAN (R 4.1.0)
#>  lattice          0.20-45 2021-09-22 [1] CRAN (R 4.1.0)
#>  lifecycle        1.0.3   2022-10-07 [1] CRAN (R 4.1.0)
#>  magrittr         2.0.3   2022-03-30 [1] CRAN (R 4.1.0)
#>  Matrix           1.5-1   2022-09-13 [1] CRAN (R 4.1.0)
#>  MatrixGenerics   1.6.0   2021-10-26 [1] Bioconductor
#>  matrixStats      0.62.0  2022-04-19 [1] CRAN (R 4.1.0)
#>  MOFA2          * 1.4.0   2021-10-26 [1] Bioconductor
#>  munsell          0.5.0   2018-06-12 [1] CRAN (R 4.1.0)
#>  pheatmap         1.0.12  2019-01-04 [1] CRAN (R 4.1.0)
#>  pillar           1.8.1   2022-08-19 [1] CRAN (R 4.1.0)
#>  pkgconfig        2.0.3   2019-09-22 [1] CRAN (R 4.1.0)
#>  plyr             1.8.7   2022-03-24 [1] CRAN (R 4.1.0)
#>  png              0.1-7   2013-12-03 [1] CRAN (R 4.1.0)
#>  purrr            0.3.5   2022-10-06 [1] CRAN (R 4.1.0)
#>  R.cache          0.16.0  2022-07-21 [1] CRAN (R 4.1.0)
#>  R.methodsS3      1.8.2   2022-06-13 [1] CRAN (R 4.1.0)
#>  R.oo             1.25.0  2022-06-12 [1] CRAN (R 4.1.0)
#>  R.utils          2.12.0  2022-06-28 [1] CRAN (R 4.1.0)
#>  R6               2.5.1   2021-08-19 [1] CRAN (R 4.1.0)
#>  rappdirs         0.3.3   2021-01-31 [1] CRAN (R 4.1.0)
#>  RColorBrewer     1.1-3   2022-04-03 [1] CRAN (R 4.1.0)
#>  Rcpp             1.0.9   2022-07-08 [1] CRAN (R 4.1.0)
#>  reprex           2.0.2   2022-08-17 [1] CRAN (R 4.1.0)
#>  reshape2         1.4.4   2020-04-09 [1] CRAN (R 4.1.0)
#>  reticulate       1.26    2022-08-31 [1] CRAN (R 4.1.0)
#>  rhdf5            2.38.1  2022-03-10 [1] Bioconductor
#>  rhdf5filters     1.6.0   2021-10-26 [1] Bioconductor
#>  Rhdf5lib         1.16.0  2021-10-26 [1] Bioconductor
#>  rlang            1.0.6   2022-09-24 [1] CRAN (R 4.1.0)
#>  rmarkdown        2.17    2022-10-07 [1] CRAN (R 4.1.0)
#>  rprojroot        2.0.3   2022-04-02 [1] CRAN (R 4.1.0)
#>  rstudioapi       0.14    2022-08-22 [1] CRAN (R 4.1.0)
#>  Rtsne            0.16    2022-04-17 [1] CRAN (R 4.1.0)
#>  S4Vectors        0.32.4  2022-03-24 [1] Bioconductor
#>  scales           1.2.1   2022-08-20 [1] CRAN (R 4.1.0)
#>  sessioninfo      1.2.2   2021-12-06 [1] CRAN (R 4.1.0)
#>  stringi          1.7.8   2022-07-11 [1] CRAN (R 4.1.0)
#>  stringr          1.4.1   2022-08-20 [1] CRAN (R 4.1.0)
#>  styler           1.8.0   2022-10-22 [1] CRAN (R 4.1.0)
#>  tibble           3.1.8   2022-07-22 [1] CRAN (R 4.1.0)
#>  tidyr            1.2.1   2022-09-08 [1] CRAN (R 4.1.0)
#>  tidyselect       1.2.0   2022-10-10 [1] CRAN (R 4.1.0)
#>  utf8             1.2.2   2021-07-24 [1] CRAN (R 4.1.0)
#>  uwot             0.1.14  2022-08-22 [1] CRAN (R 4.1.0)
#>  vctrs            0.5.0   2022-10-22 [1] CRAN (R 4.1.0)
#>  withr            2.5.0   2022-03-03 [1] CRAN (R 4.1.0)
#>  xfun             0.34    2022-10-18 [1] CRAN (R 4.1.0)
#>  yaml             2.3.6   2022-10-18 [1] CRAN (R 4.1.0)
#> 
#>  [1] /home/roy/miniconda3/envs/r-4.1/lib/R/library
#> 
#> ─ Python configuration ───────────────────────────────────────────────────────
#>  python:         /home/roy/miniconda3/envs/mofa/bin/python
#>  libpython:      /home/roy/miniconda3/envs/mofa/lib/libpython3.10.so
#>  pythonhome:     /home/roy/miniconda3/envs/mofa:/home/roy/miniconda3/envs/mofa
#>  version:        3.10.6 (main, Oct 24 2022, 16:07:47) [GCC 11.2.0]
#>  numpy:          /home/roy/miniconda3/envs/mofa/lib/python3.10/site-packages/numpy
#>  numpy_version:  1.23.4
#>  mofapy2:        /home/roy/miniconda3/envs/mofa/lib/python3.10/site-packages/mofapy2
#>  
#>  NOTE: Python version was forced by use_python function
#> 
#> ──────────────────────────────────────────────────────────────────────────────

royfrancis avatar Oct 26 '22 19:10 royfrancis