Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ERROR: LoadError: Unexpected end of input #101

Open
tuh00621 opened this issue Feb 24, 2021 · 3 comments
Open

ERROR: LoadError: Unexpected end of input #101

tuh00621 opened this issue Feb 24, 2021 · 3 comments

Comments

@tuh00621
Copy link

I'm running VIVA in Google Colab. Julia is installed as well as the VIVA package, but I can't get it to save a visualization without crashing. Here is my command:

viva -f test_output.vcf -t Default_Options -s png

Output:
`
Welcome to VIVA.

Loading dependency packages:

┌ Warning: ORCA.jl has been deprecated and all savefig functionality
│ has been implemented directly in PlotlyBase itself.

│ By implementing in PlotlyBase.jl, the savefig routines are automatically
│ available to PlotlyJS.jl also.
└ @ ORCA ~/.julia/packages/ORCA/U5XaN/src/ORCA.jl:8
...

Finished loading packages!

Reading test_output.vcf ...

No filters applied. Large vcf files will take a long time to process and heatmap visualizations will lose resolution at this scale unless viewed in interactive html for zooming.

Loading VCF file into memory for visualization
Selected 172743 variants with no filters applied
Saving genotype heatmap
ERROR: LoadError: Unexpected end of input
Line: 0
Around: ......
^

Stacktrace:
[1] error(::String) at ./error.jl:33
[2] _error(::String, ::JSON.Parser.MemoryParserState) at /root/.julia/packages/JSON/3rsiS/src/Parser.jl:140
[3] byteat at /root/.julia/packages/JSON/3rsiS/src/Parser.jl:49 [inlined]
[4] parse_value(::JSON.Parser.ParserContext{Dict{String,Any},Int64,true,nothing}, ::JSON.Parser.MemoryParserState) at /root/.julia/packages/JSON/3rsiS/src/Parser.jl:160
[5] parse(::String; dicttype::Type{T} where T, inttype::Type{Int64}, allownan::Bool, null::Nothing) at /root/.julia/packages/JSON/3rsiS/src/Parser.jl:460
[6] parse at /root/.julia/packages/JSON/3rsiS/src/Parser.jl:458 [inlined]
[7] savefig(::PlotlyBase.Plot{Array{PlotlyBase.GenericTrace{Dict{Symbol,Any}},1},PlotlyBase.Layout{Dict{Symbol,Any}},Array{PlotlyBase.PlotlyFrame,1}}; width::Nothing, height::Nothing, scale::Nothing, format::String) at /root/.julia/packages/PlotlyBase/NxSlF/src/kaleido.jl:94
[8] savefig(::IOStream, ::PlotlyBase.Plot{Array{PlotlyBase.GenericTrace{Dict{Symbol,Any}},1},PlotlyBase.Layout{Dict{Symbol,Any}},Array{PlotlyBase.PlotlyFrame,1}}; width::Nothing, height::Nothing, scale::Nothing, format::String) at /root/.julia/packages/PlotlyBase/NxSlF/src/kaleido.jl:139
[9] (::PlotlyBase.var"#181#182"{Nothing,Nothing,Nothing,PlotlyBase.Plot{Array{PlotlyBase.GenericTrace{Dict{Symbol,Any}},1},PlotlyBase.Layout{Dict{Symbol,Any}},Array{PlotlyBase.PlotlyFrame,1}}})(::IOStream) at /root/.julia/packages/PlotlyBase/NxSlF/src/kaleido.jl:171
[10] open(::PlotlyBase.var"#181#182"{Nothing,Nothing,Nothing,PlotlyBase.Plot{Array{PlotlyBase.GenericTrace{Dict{Symbol,Any}},1},PlotlyBase.Layout{Dict{Symbol,Any}},Array{PlotlyBase.PlotlyFrame,1}}}, ::String, ::Vararg{String,N} where N; kwargs::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}) at ./io.jl:325
[11] open at ./io.jl:323 [inlined]
[12] savefig(::PlotlyBase.Plot{Array{PlotlyBase.GenericTrace{Dict{Symbol,Any}},1},PlotlyBase.Layout{Dict{Symbol,Any}},Array{PlotlyBase.PlotlyFrame,1}}, ::String; format::Nothing, width::Nothing, height::Nothing, scale::Nothing) at /root/.julia/packages/PlotlyBase/NxSlF/src/kaleido.jl:170
[13] savefig(::PlotlyBase.Plot{Array{PlotlyBase.GenericTrace{Dict{Symbol,Any}},1},PlotlyBase.Layout{Dict{Symbol,Any}},Array{PlotlyBase.PlotlyFrame,1}}, ::String) at /root/.julia/packages/PlotlyBase/NxSlF/src/kaleido.jl:165
[14] savefig(::PlotlyJS.SyncPlot, ::String; k::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}) at /root/.julia/packages/PlotlyJS/m2Lzd/src/PlotlyJS.jl:48
[15] savefig at /root/.julia/packages/PlotlyJS/m2Lzd/src/PlotlyJS.jl:48 [inlined]
[16] save_graphic(::PlotlyJS.SyncPlot, ::String, ::String, ::String, ::Bool) at /root/.julia/packages/VariantVisualization/1yoNl/src/vcf_utils_complete.jl:1479
[17] top-level scope at /usr/local/bin/viva:479
[18] include(::Function, ::Module, ::String) at ./Base.jl:380
[19] include(::Module, ::String) at ./Base.jl:368
[20] exec_options(::Base.JLOptions) at ./client.jl:296
[21] _start() at ./client.jl:506
in expression starting at /usr/local/bin/viva:407`

@gtollefson
Copy link
Collaborator

Hi @tuh00621,

Thank you for bringing this issue up. I apologize for my late response. Do you still need this to be resolved? I believe this is occurring because you are trying to plot too much data at once and the process is being killed. Have you tried running this with a filter (such as a gene list using -l)? If not, try plotting a smaller set of variants with less memory requirement, anywhere from 1-20,000.

Plotting more than a few thousand genes becomes difficult to interpret. Plotting more than 20,000 genes or so is very memory intensive and can cause some strange errors.

Let me know if you have success plotting a smaller variant set or if you have any more issues!

George

@tuh00621
Copy link
Author

tuh00621 commented May 7, 2021

@gtollefson
I am trying to use a vcf with a pretty large number of variants, so it's probably the size like you said. I can try to use a smaller vcf to test or try filtering my vcf before running it through.
It seems like there is some error in the source code from the error I got, but I am using a vcf with 172743 variants which is a lot more than you recommended.
Thanks!

@gtollefson
Copy link
Collaborator

@tuh00621 Let me know how it goes running a smaller VCF file or by applying filters. We'll get it worked out!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants