compbiocore / VariantVisualization.jl

Julia package powering VIVA, our tool for visualization of genomic variation data. Manual:
https://compbiocore.github.io/VariantVisualization.jl/stable/
Other
82 stars 13 forks source link

ArgumentError: invalid base 10 digit '_' in "6_ssto_hap7" #109

Open KitHub-NK opened 2 years ago

KitHub-NK commented 2 years ago

Hi,

I am recieving this error and I know nothing about Julia. How can I fix this issue?

ArgumentError: invalid base 10 digit '_' in "6_ssto_hap7"

Stacktrace:
  [1] tryparse_internal(#unused#::Type{Int64}, s::String, startpos::Int64, endpos::Int64, base_::Int64, raise::Bool)
    @ Base ./parse.jl:137
  [2] parse(::Type{Int64}, s::String; base::Nothing)
    @ Base ./parse.jl:241
  [3] parse
    @ ./parse.jl:241 [inlined]
  [4] #23
    @ ./none:0 [inlined]
  [5] iterate
    @ ./generator.jl:47 [inlined]
  [6] collect_to!
    @ ./array.jl:782 [inlined]
  [7] collect_to_with_first!
    @ ./array.jl:760 [inlined]
  [8] collect(itr::Base.Generator{Matrix{String}, VariantVisualization.var"#23#25"})
    @ Base ./array.jl:734
  [9] sort_genotype_array(genotype_array::Matrix{String})
    @ VariantVisualization ~/.julia/packages/VariantVisualization/1yoNl/src/vcf_utils_complete.jl:688
 [10] combined_all_genotype_array_functions(sub::Vector{Any})
    @ VariantVisualization ~/.julia/packages/VariantVisualization/1yoNl/src/vcf_utils_complete.jl:620
 [11] jupyter_main(vcf_filename::String, saving_options::NTuple{5, String}, variant_filters::Tuple{String, String, String}, sample_selection::Tuple{String, String}, plotting_options::NTuple{4, String})
    @ VariantVisualization ~/.julia/packages/VariantVisualization/1yoNl/src/new_notebook_utils.jl:281
 [12] top-level scope
    @ In[39]:1
 [13] eval
    @ ./boot.jl:373 [inlined]
 [14] include_string(mapexpr::typeof(REPL.softscope), mod::Module, code::String, filename::String)
    @ Base ./loading.jl:1196
janxkoci commented 1 year ago

I'm getting the same error, just different "invalid number". I think VIVA expects chromosome names to be just numeric values, like 1, 2, 3, ... (as is common in human genetics), but our nonmodel organisms fail this assumption.

I'm new to VIVA, so either there should be a parameter to tell VIVA that my chromosomes have different naming scheme (as e.g. plink does it), or it's a bug and should be fixed.

janxkoci commented 1 year ago

So I tried to rerun VIVA with a VCF of human samples, where the chromosomes are numeric, like 1,2,3..., and VIVA does not throw the error anymore. It throws a different error (about missing DP, which yeah, the new file is GT-only), but at least I got pass the chromosome name check. It even made some heatmap (in pdf) before it failed.

I will have to dig up some other file for further testing. I've also looked at the docs and there does not seem to be any way to allow non-numeric names of chromosomes. However the docs themselves use "chr1" in the examples... :shrug: