jishnu-lab / SLIDE

24 stars 2 forks source link

Running SLIDE on Rstudio server using a singularity image with a wrapper script #31

Open plopez842 opened 6 months ago

plopez842 commented 6 months ago

I am unable to run SLIDE Rstudio.

Here is how I setup my interactive terminal and opening ssh tunning from my local machine:

(on the head node): srun --pty --partition=kelllis bash (on the computing node,b11): module load singularity/3.5.0 (on the computing node, b11): IMAGE=pansapiens/rocker-seurat:4.2.3-4.3.0 ./rstudio.sh (on local computer): ssh -t plopez@luria.mit.edu -L 8787:localhost:8787 ssh b11 -L 8787:localhost:8787

Here is the link to the example wrapper I used to setup: https://github.com/MonashBioinformaticsPlatform/rocker-ultra

Once I open Rstudio on the server and run the example code, here is the error I get:

(CODE) library(devtools) library(SLIDE) library(yaml)

yaml_path = "EXAMPLE_SET/RD1_April22nd.yaml" input_params = yaml::read_yaml(yaml_path) checkDataParams(input_params)

optimizeSLIDE(input_params, sink_file = FALSE)

ERROR: Screenshot 2024-04-29 at 11 22 17 AM

Here is a screenshot of my YAML file: image

When I run SLIDE and this code on my computer I get no errors.

jrahimik commented 6 months ago

can you click on the traceback, so we should able to see which exact line of runSLIDE function the error is happening? Thanks

plopez842 commented 6 months ago

Hi so the image above where the error is shown is after clicking "Show Traceback"

plopez842 commented 6 months ago

Hi, so I think the issue is coming from the "SLIDE" function (which is called from the runSLIDE function, called from the optimizeSLIDE function).

Again, this is all run within the Rserver on Luria

It's possibly something to do with the internal parallelization happening within the SLIDE function? Here is the error if I have "parallel=TRUE"

IF SLIDE IS SET TO TRUE cores <- detectCores() registerDoParallel(cores)

SLIDE_iter= 500 spec=0.3 do_interacts= "yes"

y_path = "EXAMPLE_SET/SkinScore.csv" z_path = "EXAMPLE_SET/out/0.01_0.5_out/z_matrix.csv" y <- as.matrix(utils::read.csv(y_path, row.names = 1)) z <- as.matrix(utils::read.csv(z_path, row.names = 1))

SLIDE(y=y, z=z, f_size = 24, niter = SLIDE_iter, spec = spec, do_interacts = do_interacts, parallel = TRUE)

image

IF SLIDE PARALLE=FALSE same code as above, except: SLIDE(y=y, z=z, f_size = 24, niter = SLIDE_iter, spec = spec, do_interacts = do_interacts, parallel = FALSE)

image

jrahimik commented 6 months ago

can you make do_interacts=TRUE instead of "yes"?

plopez842 commented 6 months ago

I get the same error as I show above if I list "parallel=FALSE" but I get the following error now when I set "parallel=TRUE"

image

jrahimik commented 6 months ago

The previous error was due to do_interacts="yes", you have to make it do_interacts=TRUE That .so object missing or you don't have access. Can you raise a ticket to cluster administrator regarding the shared object error. Let me know how it goes. Moreover, please do a library(doParallel) and registerdoParallel(10) see if you can register a parallel cores. Let me know how it goes.

plopez842 commented 6 months ago

Hello,

Fixed the .so object issue. New issue came about:

Code: cores <- 10 registerDoParallel(cores) yaml_path = "YAML_FILE_TESTS/RD1_April22nd.yaml" input_params = yaml::read_yaml(yaml_path) checkDataParams(input_params)

optimizeSLIDE(input_params, sink_file = FALSE)

y_path = "YAML_FILE_TESTS/y_unfilt.csv" z_path = "YAML_FILE_TESTS/out/0.01_0.5_out/z_matrix.csv" y <- as.matrix(utils::read.csv(y_path, row.names = 1)) z <- as.matrix(utils::read.csv(z_path, row.names = 1))

SLIDE_iter= 500 spec=0.3 SLIDE(y=y, z=z, f_size = 2, niter = SLIDE_iter, spec = spec, do_interacts = TRUE, parallel = TRUE,ncore = 10)

image
jrahimik commented 6 months ago

can you make f_size=24, we cannot run knockoffs with a feature size of 2, and please check the number of missing values in y and z by doing sum(is.na(y)) and sum(is.na(z)). Moreover, can you lower the value of spec to 0.1?