Murali-group / Beeline

BEELINE: evaluation of algorithms for gene regulatory network inference
GNU General Public License v3.0
167 stars 51 forks source link

Algorithm SINGE fails to run on Windows - Unterminated quoted string #109

Open yutuyt01 opened 1 month ago

yutuyt01 commented 1 month ago

When running the BLRunner portion of the pipeline, the shell command to run the docker image fails to compile with the error "Unterminated quoted string".

The command being run:

docker run --rm --entrypoint /bin/sh -v C:\Users\shang\PycharmProjects\Beeline:/usr/local/SINGE/data/ grnbeeline/singe:0.4.1 -c "echo \" --lambda 0.01 --dT 15 --num-lags 5 --kernel-width 0.5 --prob-zero-removal 0 --prob-remove-samples 0.0 --family gaussian --replicate 0 --ID 0
--lambda 0.01 --dT 15 --num-lags 5 --kernel-width 0.5 --prob-zero-removal 0 --prob-remove-samples 0.0 --family gaussian --replicate 1 --ID 1
--lambda 0.01 --dT 15 --num-lags 5 --kernel-width 0.5 --prob-zero-removal 0 --prob-remove-samples 0.0 --family gaussian --replicate 2 --ID 2
--lambda 0.01 --dT 15 --num-lags 5 --kernel-width 0.5 --prob-zero-removal 0 --prob-remove-samples 0.0 --family gaussian --replicate 3 --ID 3
--lambda 0.01 --dT 15 --num-lags 5 --kernel-width 0.5 --prob-zero-removal 0 --prob-remove-samples 0.0 --family gaussian --replicate 4 --ID 4
--lambda 0.01 --dT 15 --num-lags 5 --kernel-width 0.5 --prob-zero-removal 0 --prob-remove-samples 0.0 --family gaussian --replicate 5 --ID 5 \" > data/inputs/example/GSD/SINGE/hyperparameters.txt && ln -s data/outputs/example/GSD/SINGE/0/ out0 && octave -q --eval \"CSV = csvread('data/inputs/example/GSD/SINGE/ExpressionData0.csv'); X = sparse(CSV(2:end,1:end-1).'); 
ptime = CSV(2:end,end).'; Kp2.Kp = single(ptime); Kp2.sumKp = single(ptime*X.'); fullKp(1, 75) = Kp2; save('v7','data/inputs/example/GSD/SINGE/ExpressionData0.mat', 'X', 'ptime', 'fullKp'); f = fopen('data/inputs/example/GSD/SINGE/ExpressionData0.csv'); gene_list = strsplit(fgetl(f), ',')(1:end-1).'; fclose(f); save('v7','data/inputs/example/GSD/SINGE/GeneList0.mat', 'gene_list')\" && time -v -o data/outputs/example/GSD/SINGE/time0.txt /usr/local/SINGE/SINGE.sh /usr/local/MATLAB/MATLAB_Runtime/v94 standalone data/inputs/example/GSD/SINGE/ExpressionData0.mat data/inputs/example/GSD/SINGE/GeneList0.mat out0 data/inputs/example/GSD/SINGE/hyperparameters.txt "

It is not immediately apparent where the quoted string error is.

Call stack:

Traceback (most recent call last):
  File "BLRunner.py", line 77, in <module>
    main()
  File "BLRunner.py", line 68, in main
    evaluation.runners[idx].run()
  File "C:\Users\shang\PycharmProjects\Beeline\BLRun\runner.py", line 87, in run
    AlgorithmMapper[self.name](self)
  File "C:\Users\shang\PycharmProjects\Beeline\BLRun\singeRunner.py", line 120, in run
    subprocess.check_call(cmdToRun, shell=True)
  File "C:\Users\shang\anaconda3\envs\Beeline37\lib\subprocess.py", line 341, in check_call
    raise CalledProcessError(retcode, cmd)
yutuyt01 commented 1 month ago

Fixed in #110