Tchanders / NetworkInference.jl

Methods for inferring undirected networks from data
Other
44 stars 14 forks source link

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

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!

p.n: I also posted this issue on BEELINE GitHub and thought it may be nice to ask PIDC developers as well.