Murali-group / Beeline

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

PIDC method error and not generating any outputs [ERROR: LoadError: MethodError: no method matching setindex_shape_check(::Int64, ::Int64)] #93

Open elhaam opened 1 year ago

elhaam commented 1 year ago

Hello BEELINE developers,

Thanks for this valuable project! I am trying to run the different methods on the data, but I have faced issues with PIDC method. I pulled PIDC from grnbeeline on the docker hub. Here is my julia version, the docker script that BLRunner.py is using for generating PIDC output files:

docker run --rm -v /home/e/Beeline:/data grnbeeline/pidc:base  julia --version
julia version 1.1.0
docker run --rm -v /home/e/Beeline:/data grnbeeline/pidc:base /bin/sh -c "time -v -o data/outputs/example/HSC_noise_free/PIDC/time.txt julia runPIDC.jl data/inputs/example/HSC_noise_free/PIDC/ExpressionData.csv data/outputs/example/HSC_noise_free/PIDC/outFile.txt "

I get the following error after running the above command. Could you please help me fix this issue?

ERROR: LoadError: MethodError: no method matching setindex_shape_check(::Int64, ::Int64)
Closest candidates are:
  setindex_shape_check(!Matched::AbstractArray{#s72,1} where #s72, ::Integer) at indices.jl:218
  setindex_shape_check(!Matched::AbstractArray{#s72,1} where #s72, ::Integer, !Matched::Integer) at indices.jl:221
  setindex_shape_check(!Matched::AbstractArray{#s72,2} where #s72, ::Integer, !Matched::Integer) at indices.jl:225
  ...
Stacktrace:
 [1] macro expansion at ./multidimensional.jl:694 [inlined]
 [2] _unsafe_setindex!(::IndexLinear, ::Array{Int64,1}, ::Int64, ::UnitRange{Int64}) at ./multidimensional.jl:689
 [3] _setindex! at ./multidimensional.jl:684 [inlined]
 [4] setindex! at ./abstractarray.jl:1020 [inlined]
 [5] get_bin_ids!(::Array{Float64,1}, ::String, ::Int64, ::Array{Int64,1}) at /root/.julia/packages/InformationMeasures/fdfJk/src/Discretization.jl:111
 [6] Node(::Array{Any,2}, ::String, ::String, ::Int64) at /root/.julia/packages/NetworkInference/z8pnG/src/common.jl:32
 [7] #get_nodes#15(::Bool, ::String, ::String, ::Int64, ::Function, ::String) at /root/.julia/packages/NetworkInference/z8pnG/src/infer_network.jl:35
 [8] get_nodes(::String) at /root/.julia/packages/NetworkInference/z8pnG/src/infer_network.jl:26
 [9] top-level scope at util.jl:156
 [10] include at ./boot.jl:326 [inlined]
 [11] include_relative(::Module, ::String) at ./loading.jl:1038
 [12] include(::Module, ::String) at ./sysimg.jl:29
 [13] exec_options(::Base.JLOptions) at ./client.jl:267
 [14] _start() at ./client.jl:436
in expression starting at /runPIDC.jl:10

I suspect maybe that's an issue with this julia version but I am not certain. I appreciate any suggestions to fix this issue. Thanks!

tmmurali commented 1 year ago

Thanks for this report. We will take a look. Could also check upstream with the PIDC developers? They may be better positioned to give you an informed response.

elhaam commented 1 year ago

Thanks for the suggestion. I have also asked this question on PIDC GitHub as well.

nickhir commented 1 year ago

Did you find a solution? I am facing the same error..

tmmurali commented 1 year ago

It does not appear that @elhaam received a reply to the issue he created on the PIDC page. Sorry that we cannot be of more help here at BEELINE.