kharchenkolab / Baysor

Bayesian Segmentation of Spatial Transcriptomics Data
https://kharchenkolab.github.io/Baysor/
MIT License
152 stars 31 forks source link

ERROR: ArgumentError: Package CSVFiles #80

Closed Dana162001 closed 3 weeks ago

Dana162001 commented 1 year ago

Hi, I installed Baysor on Linux as a binary and tried to run it on your example data (mRNA_coords_raw_counting.csv) with and without DAPI. But the problem is that I keep getting the same error for dapi run all the time:

Error encountered while load FileIO.File{FileIO.DataFormat{:CSV}, String}("/work/rwth1209/dana_projects/baysor/test_data/dapi/centers_from_segmentation.csv").

Fatal error: ERROR: ArgumentError: Package CSVFiles [5d742f6a-9f54-50ce-8119-2520741973ca] is required but does not seem to be installed:

Stacktrace: [1] _require(pkg::Base.PkgId, env::Nothing) @ Base ./loading.jl:1739 [2] _require_prelocked(uuidkey::Base.PkgId, env::Nothing) @ Base ./loading.jl:1625 [3] _require_prelocked @ ./loading.jl:1623 [inlined] [4] macro expansion @ ./lock.jl:267 [inlined] [5] require(uuidkey::Base.PkgId) @ Base ./loading.jl:1620 [6] #34 @ /home/viktor_petukhov/.julia/packages/FileIO/aP78L/src/loadsave.jl:203 [inlined] [7] lock(f::FileIO.var"#34#35"{Base.PkgId}, l::ReentrantLock) @ Base ./lock.jl:229 [8] action(::Symbol, ::Vector{Union{Base.PkgId, Module}}, ::FileIO.Formatted; options::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}) @ FileIO /home/viktor_petukhov/.julia/packages/FileIO/aP78L/src/loadsave.jl:203 [9] action @ /home/viktor_petukhov/.julia/packages/FileIO/aP78L/src/loadsave.jl:196 [inlined] [10] action(::Symbol, ::Vector{Union{Base.PkgId, Module}}, ::Symbol, ::String; options::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}) @ FileIO /home/viktor_petukhov/.julia/packages/FileIO/aP78L/src/loadsave.jl:185 [11] action @ /home/viktor_petukhov/.julia/packages/FileIO/aP78L/src/loadsave.jl:185 [inlined] [12] load(::String; options::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}) @ FileIO /home/viktor_petukhov/.julia/packages/FileIO/aP78L/src/loadsave.jl:113 [13] load @ /home/viktor_petukhov/.julia/packages/FileIO/aP78L/src/loadsave.jl:109 [inlined] [14] load_segmentation_mask(path::String) @ Baysor.DataLoading /home/viktor_petukhov/.julia/dev/Baysor/src/data_loading/prior_segmentation.jl:60 [15] load_prior_segmentation(file::String, pos_data::Matrix{Float64}; min_molecules_per_segment::Int64) @ Baysor.DataLoading /home/viktor_petukhov/.julia/dev/Baysor/src/data_loading/cli_wrappers.jl:28 [16] load_prior_segmentation @ /home/viktor_petukhov/.julia/dev/Baysor/src/data_loading/cli_wrappers.jl:25 [inlined] [17] load_prior_segmentation!(path::String, df_spatial::DataFrames.DataFrame, pos_data::Matrix{Float64}; min_molecules_per_segment::Int64, min_mols_per_cell::Int64) @ Baysor.DataLoading /home/viktor_petukhov/.julia/dev/Baysor/src/data_loading/cli_wrappers.jl:216 [18] load_prior_segmentation!(df_spatial::DataFrames.DataFrame, prior_segmentation::String, opts::Baysor.Utils.SegmentationOptions; min_molecules_per_cell::Int64, min_molecules_per_segment::Int64, plot::Bool) @ Baysor.CommandLine /home/viktor_petukhov/.julia/dev/Baysor/src/cli/main.jl:197 [19] run(coordinates::String, prior_segmentation::String; config::Baysor.Utils.RunOptions, x_column::String, y_column::String, z_column::String, gene_column::String, min_molecules_per_cell::Int64, scale::Float64, scale_std::String, n_clusters::Int64, prior_segmentation_confidence::Float64, output::String, plot::Bool, save_polygons::String, no_ncv_estimation::Bool, count_matrix_format::String) @ Baysor.CommandLine /home/viktor_petukhov/.julia/dev/Baysor/src/cli/main.jl:108 [20] command_main(ARGS::Vector{String}) @ Baysor.CommandLine /home/viktor_petukhov/.julia/packages/Comonicon/rMXvw/src/codegen/julia.jl:343 [21] command_main @ /home/viktor_petukhov/.julia/packages/Comonicon/rMXvw/src/codegen/julia.jl:90 [inlined] [22] julia_main() @ Baysor.CommandLine /home/viktor_petukhov/.julia/packages/Comonicon/rMXvw/src/frontend/cast.jl:481 [23] julia_main(; kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}) @ Baysor /home/viktor_petukhov/.julia/dev/Baysor/src/Baysor.jl:42 [24] julia_main() @ Baysor /home/viktor_petukhov/.julia/dev/Baysor/src/Baysor.jl:42 [25] top-level scope @ none:1 Stacktrace: [1] handle_error(e::ArgumentError, q::Base.PkgId, bt::Vector{Union{Ptr{Nothing}, Base.InterpreterIP}}) @ FileIO /home/viktor_petukhov/.julia/packages/FileIO/aP78L/src/error_handling.jl:61 [2] handle_exceptions(exceptions::Vector{Tuple{Any, Union{Base.PkgId, Module}, Vector}}, action::String) @ FileIO /home/viktor_petukhov/.julia/packages/FileIO/aP78L/src/error_handling.jl:56 [3] action(::Symbol, ::Vector{Union{Base.PkgId, Module}}, ::FileIO.Formatted; options::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}) @ FileIO /home/viktor_petukhov/.julia/packages/FileIO/aP78L/src/loadsave.jl:228 [4] action @ /home/viktor_petukhov/.julia/packages/FileIO/aP78L/src/loadsave.jl:196 [inlined] [5] action(::Symbol, ::Vector{Union{Base.PkgId, Module}}, ::Symbol, ::String; options::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}) @ FileIO /home/viktor_petukhov/.julia/packages/FileIO/aP78L/src/loadsave.jl:185 [6] action @ /home/viktor_petukhov/.julia/packages/FileIO/aP78L/src/loadsave.jl:185 [inlined] [7] load(::String; options::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}) @ FileIO /home/viktor_petukhov/.julia/packages/FileIO/aP78L/src/loadsave.jl:113 [8] load @ /home/viktor_petukhov/.julia/packages/FileIO/aP78L/src/loadsave.jl:109 [inlined] [9] load_segmentation_mask(path::String) @ Baysor.DataLoading /home/viktor_petukhov/.julia/dev/Baysor/src/data_loading/prior_segmentation.jl:60 [10] load_prior_segmentation(file::String, pos_data::Matrix{Float64}; min_molecules_per_segment::Int64) @ Baysor.DataLoading /home/viktor_petukhov/.julia/dev/Baysor/src/data_loading/cli_wrappers.jl:28 [11] load_prior_segmentation @ /home/viktor_petukhov/.julia/dev/Baysor/src/data_loading/cli_wrappers.jl:25 [inlined] [12] load_prior_segmentation!(path::String, df_spatial::DataFrames.DataFrame, pos_data::Matrix{Float64}; min_molecules_per_segment::Int64, min_mols_per_cell::Int64) @ Baysor.DataLoading /home/viktor_petukhov/.julia/dev/Baysor/src/data_loading/cli_wrappers.jl:216 [13] load_prior_segmentation!(df_spatial::DataFrames.DataFrame, prior_segmentation::String, opts::Baysor.Utils.SegmentationOptions; min_molecules_per_cell::Int64, min_molecules_per_segment::Int64, plot::Bool) @ Baysor.CommandLine /home/viktor_petukhov/.julia/dev/Baysor/src/cli/main.jl:197 [14] run(coordinates::String, prior_segmentation::String; config::Baysor.Utils.RunOptions, x_column::String, y_column::String, z_column::String, gene_column::String, min_molecules_per_cell::Int64, scale::Float64, scale_std::String, n_clusters::Int64, prior_segmentation_confidence::Float64, output::String, plot::Bool, save_polygons::String, no_ncv_estimation::Bool, count_matrix_format::String) @ Baysor.CommandLine /home/viktor_petukhov/.julia/dev/Baysor/src/cli/main.jl:108 [15] command_main(ARGS::Vector{String}) @ Baysor.CommandLine /home/viktor_petukhov/.julia/packages/Comonicon/rMXvw/src/codegen/julia.jl:343 [16] command_main @ /home/viktor_petukhov/.julia/packages/Comonicon/rMXvw/src/codegen/julia.jl:90 [inlined] [17] julia_main() @ Baysor.CommandLine /home/viktor_petukhov/.julia/packages/Comonicon/rMXvw/src/frontend/cast.jl:481 [18] julia_main(; kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}) @ Baysor /home/viktor_petukhov/.julia/dev/Baysor/src/Baysor.jl:42 [19] julia_main() @ Baysor /home/viktor_petukhov/.julia/dev/Baysor/src/Baysor.jl:42 [20] top-level scope @ none:1

I tried to install some packages with Julia but it did not actually worked. If you have some advice on how to solve it I would be very grateful!

VPetukhov commented 1 year ago

Hi! Is it still an issue in the latest Baysor version?

pakiessling commented 1 year ago

The problem is that newer versions of Baysor seem to no longer support a second .csv file containing xy-coordinates as cell centers as shown in https://github.com/kharchenkolab/Baysor/tree/master/examples/osm-FISH . Supplying an image instead, or a column in the primary csv via :column works as expected.

VPetukhov commented 3 weeks ago

I fixed the examples. So now should be no confusion.