digitalcytometry / ecotyper

EcoTyper is a machine learning framework for large-scale identification of cell states and cellular ecosystems from gene expression data.
Other
180 stars 42 forks source link

Tutorial 4 Discovery: I don't set Singularity but it seems tends to run on the Singularity, NOT the default Docker #84

Open Sawakotx opened 10 months ago

Sawakotx commented 10 months ago

Hi~ I also try to run tutorial 4 and I met a problem about step 1. I'm not setting 'CIBERSORTx fractions Singularity path' but it didn't run on default Docker, instead it shows that it wants to run on Singularity. It seems to be wrong but I really cannot find the relevant solution. 😭 If you have any clues or suggestions, you are more than welcome, I'm looking forward to them!!! Thanks in advance~ @BALuca @kaizen89 @cbsteen

The details are as below.

  1. There is pipeline setting: 5977a1ac19f8fbbd944b0052b45c66d7

  2. There is output information:

    
    Rscript EcoTyper_discovery_bulk.R -c local_config_discovery_bulk.yml

Step 1 (cell type fraction estimation): Running CIBERSORTxFractions on the discovery dataset... Running CIBERSORTx fractions with no batch correction, using the 'TR4' signature matrix and 'Test_Discovery' dataset. Running on singularity... sh: singularity: command not found Warning message: In system(cmd_line)



_Originally posted by @Sawakotx in https://github.com/digitalcytometry/ecotyper/issues/36#issuecomment-1827370042_
WJRDW commented 4 months ago

I'm having the same issue. Were you able to find a solution? Thanks!

Malus-P commented 5 days ago

Do not know if you still need a solution, but the issue may be caused by a miss input of the parameter NULL as "NULL" in EcoTyper_discovery_bulk.R. This may be solved by manually set the parameter to NULL in the first step, like the following (in about line 74):

if(discovery_type == "RNA-seq")
    {
        #PushToJobQueue(paste("Rscript csx_fractions.R", "discovery", discovery, "TR4", "no_batch", CSx_username, CSx_token, paste0("'", CSx_singularity_path_fractions, "'")))
        PushToJobQueue(paste("Rscript csx_fractions.R", "discovery", discovery, "TR4", "no_batch", CSx_username, CSx_token, NULL))  
        RunJobQueue()

        #PushToJobQueue(paste("Rscript csx_fractions.R", "discovery", discovery, "LM22", "B_mode", CSx_username, CSx_token, paste0("'", CSx_singularity_path_fractions, "'")))
        PushToJobQueue(paste("Rscript csx_fractions.R", "discovery", discovery, "LM22", "B_mode", CSx_username, CSx_token, NULL))
        RunJobQueue() 

        PushToJobQueue(paste("Rscript csx_fractions_two_tiered.R", "discovery", discovery, "TR4", "no_batch", "LM22", "B_mode", fractions))     
        RunJobQueue()
    }

Note that this is for step 1, and step 2 may also need such modification.