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

VG autoindex does not work for gfa walks when the SeqStart or SeqEnd fields are equal to "*" #4517

Open
mir-cat opened this issue Feb 3, 2025 · 2 comments · May be fixed by #4523
Open

VG autoindex does not work for gfa walks when the SeqStart or SeqEnd fields are equal to "*" #4517

mir-cat opened this issue Feb 3, 2025 · 2 comments · May be fixed by #4523

Comments

@mir-cat
Copy link

mir-cat commented Feb 3, 2025

1. What were you trying to do?
run vg autoindex on a pggb graph, after converting paths to walks.

2. What did you want to happen?
The indexes to be generated

3. What actually happened?
An error was thrown:

Parsing metadata
terminate called after throwing an instance of 'std::runtime_error'
  what():  MetadataBuilder: Invalid start position *

4. If you got a line like Stack trace path: /somewhere/on/your/computer/stacktrace.txt, please copy-paste the contents of that file here:

Crash report for vg v1.63.1 "Boccaleone"
Caught signal 6 raised at address 0x22bce6c; tracing with backward-cpp
Stack trace (most recent call last):
#19   Object "/gpfs/project/projects/medbioinf/projects/mihen108/rdna_morphs/snakemake/wds/wd_morphs/.snakemake/conda/981958c9ce1696c12cffa5f58d856241_/bin/vg", at 0x65e4f4, in _start
#18   Object "/gpfs/project/projects/medbioinf/projects/mihen108/rdna_morphs/snakemake/wds/wd_morphs/.snakemake/conda/981958c9ce1696c12cffa5f58d856241_/bin/vg", at 0x2279136, in __libc_start_main
#17   Object "/gpfs/project/projects/medbioinf/projects/mihen108/rdna_morphs/snakemake/wds/wd_morphs/.snakemake/conda/981958c9ce1696c12cffa5f58d856241_/bin/vg", at 0x2277899, in __libc_start_call_main
#16   Object "/gpfs/project/projects/medbioinf/projects/mihen108/rdna_morphs/snakemake/wds/wd_morphs/.snakemake/conda/981958c9ce1696c12cffa5f58d856241_/bin/vg", at 0xf2d5fb, in vg::subcommand::Subcommand::operator()(int, char**) const
#15   Object "/gpfs/project/projects/medbioinf/projects/mihen108/rdna_morphs/snakemake/wds/wd_morphs/.snakemake/conda/981958c9ce1696c12cffa5f58d856241_/bin/vg", at 0xd7e61e, in main_autoindex(int, char**)
#14   Object "/gpfs/project/projects/medbioinf/projects/mihen108/rdna_morphs/snakemake/wds/wd_morphs/.snakemake/conda/981958c9ce1696c12cffa5f58d856241_/bin/vg", at 0x123ce55, in vg::IndexRegistry::make_indexes(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&)
#13   Object "/gpfs/project/projects/medbioinf/projects/mihen108/rdna_morphs/snakemake/wds/wd_morphs/.snakemake/conda/981958c9ce1696c12cffa5f58d856241_/bin/vg", at 0x122d76c, in vg::IndexRegistry::execute_recipe(std::pair<std::set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, unsigned long> const&, vg::IndexingPlan const*, vg::AliasGraph&)
#12   Object "/gpfs/project/projects/medbioinf/projects/mihen108/rdna_morphs/snakemake/wds/wd_morphs/.snakemake/conda/981958c9ce1696c12cffa5f58d856241_/bin/vg", at 0x124522d, in std::_Function_handler<std::vector<std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::allocator<std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > (std::vector<vg::IndexFile const*, std::allocator<vg::IndexFile const*> > const&, vg::IndexingPlan const*, vg::AliasGraph&, std::set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&), vg::VGIndexes::get_vg_index_registry()::{lambda(std::vector<vg::IndexFile const*, std::allocator<vg::IndexFile const*> > const&, vg::IndexingPlan const*, vg::AliasGraph&, std::set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&)#61}>::_M_invoke(std::_Any_data const&, std::vector<vg::IndexFile const*, std::allocator<vg::IndexFile const*> > const&, vg::IndexingPlan const*&&, vg::AliasGraph&, std::set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&)
#11   Object "/gpfs/project/projects/medbioinf/projects/mihen108/rdna_morphs/snakemake/wds/wd_morphs/.snakemake/conda/981958c9ce1696c12cffa5f58d856241_/bin/vg", at 0x1244e95, in vg::VGIndexes::get_vg_index_registry()::{lambda(std::vector<vg::IndexFile const*, std::allocator<vg::IndexFile const*> > const&, vg::IndexingPlan const*, vg::AliasGraph&, std::set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&)#61}::operator()(std::vector<vg::IndexFile const*, std::allocator<vg::IndexFile const*> > const&, vg::IndexingPlan const*, vg::AliasGraph&, std::set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&) const [clone .constprop.0]
#10   Object "/gpfs/project/projects/medbioinf/projects/mihen108/rdna_morphs/snakemake/wds/wd_morphs/.snakemake/conda/981958c9ce1696c12cffa5f58d856241_/bin/vg", at 0x18527c6, in gbwtgraph::gfa_to_gbwt(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, gbwtgraph::GFAParsingParameters const&)
#9    Object "/gpfs/project/projects/medbioinf/projects/mihen108/rdna_morphs/snakemake/wds/wd_morphs/.snakemake/conda/981958c9ce1696c12cffa5f58d856241_/bin/vg", at 0x1845507, in gbwtgraph::parse_metadata(gbwtgraph::GFAFile const&, std::vector<gbwtgraph::ConstructionJob, std::allocator<gbwtgraph::ConstructionJob> > const&, gbwtgraph::MetadataBuilder&, gbwtgraph::GFAParsingParameters const&)
#8    Object "/gpfs/project/projects/medbioinf/projects/mihen108/rdna_morphs/snakemake/wds/wd_morphs/.snakemake/conda/981958c9ce1696c12cffa5f58d856241_/bin/vg", at 0x1843659, in gbwtgraph::GFAFile::for_these_walk_names(std::vector<char const*, std::allocator<char const*> > const&, std::function<void (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)> const&) const
#7    Object "/gpfs/project/projects/medbioinf/projects/mihen108/rdna_morphs/snakemake/wds/wd_morphs/.snakemake/conda/981958c9ce1696c12cffa5f58d856241_/bin/vg", at 0x5d49be, in gbwtgraph::MetadataBuilder::add_walk(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long) [clone .cold]
#6    Object "/gpfs/project/projects/medbioinf/projects/mihen108/rdna_morphs/snakemake/wds/wd_morphs/.snakemake/conda/981958c9ce1696c12cffa5f58d856241_/bin/vg", at 0x21b16b8, in __cxa_throw
#5    Object "/gpfs/project/projects/medbioinf/projects/mihen108/rdna_morphs/snakemake/wds/wd_morphs/.snakemake/conda/981958c9ce1696c12cffa5f58d856241_/bin/vg", at 0x21b1556, in std::terminate()
#4    Object "/gpfs/project/projects/medbioinf/projects/mihen108/rdna_morphs/snakemake/wds/wd_morphs/.snakemake/conda/981958c9ce1696c12cffa5f58d856241_/bin/vg", at 0x21b14eb, in __cxxabiv1::__terminate(void (*)())
#3    Object "/gpfs/project/projects/medbioinf/projects/mihen108/rdna_morphs/snakemake/wds/wd_morphs/.snakemake/conda/981958c9ce1696c12cffa5f58d856241_/bin/vg", at 0x61b3eb, in __gnu_cxx::__verbose_terminate_handler() [clone .cold]
#2    Object "/gpfs/project/projects/medbioinf/projects/mihen108/rdna_morphs/snakemake/wds/wd_morphs/.snakemake/conda/981958c9ce1696c12cffa5f58d856241_/bin/vg", at 0x61db33, in abort
#1    Object "/gpfs/project/projects/medbioinf/projects/mihen108/rdna_morphs/snakemake/wds/wd_morphs/.snakemake/conda/981958c9ce1696c12cffa5f58d856241_/bin/vg", at 0x2290315, in raise
#0    Object "/gpfs/project/projects/medbioinf/projects/mihen108/rdna_morphs/snakemake/wds/wd_morphs/.snakemake/conda/981958c9ce1696c12cffa5f58d856241_/bin/vg", at 0x22bce6c, in __pthread_kill

Library locations:
ERROR: Signal 6 occurred. VG has crashed. Visit https://github.com/vgteam/vg/issues/new/choose to report a bug.
━━━━━━━━━━━━━━━━━━━━
Context dump:
	Thread 0: Starting 'autoindex' subcommand
Found 1 threads with context.
━━━━━━━━━━━━━━━━━━━━
Please include this entire error log in your bug report!

5. What data and command can the vg dev team use to make the problem happen?

vg autoindex --workflow giraffe -g {gfa_with_walks} -p {prefix}

6. What does running vg version say?

vg version v1.63.1 "Boccaleone"
Compiled with g++ (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0 on Linux
Linked against libstd++ 20230528
Using HTSlib headers 101990, library 1.19.1-29-g3cfe8769
Built by anovak@mustard

Given that "*" is a valid value in the specification for SeqStart or SeqEnd , I was surprised when an error was thrown. Is there a way that these values can be somehow derived, so as not to have to use "*"?

@jltsiren
Copy link
Contributor

jltsiren commented Feb 4, 2025

This will be fixed in the next vg release. Meanwhile, if you can compile vg yourself, you should be able to fix this by updating deps/gbwtgraph to the latest master.

If you can't compile vg, you can avoid the issue by setting SeqStart to 0.

jltsiren added a commit to jltsiren/vg that referenced this issue Feb 4, 2025
@mir-cat
Copy link
Author

mir-cat commented Feb 4, 2025

Thank you for your quick work on this!

@jltsiren jltsiren linked a pull request Feb 12, 2025 that will close this issue
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

Successfully merging a pull request may close this issue.

2 participants