ComparativeGenomicsToolkit / cactus

Official home of genome aligner based upon notion of Cactus graphs
Other
502 stars 110 forks source link

HAL to vg for SV calling, vg index Assertion `idx < this->size()' failed #1455

Open IsaacDiaz026 opened 1 month ago

IsaacDiaz026 commented 1 month ago

I am trying to convert a HAL file from progressive cactus into a vg graph for structural variant calling using vg. Here are the steps I have used

    hal2vg --refGenomes PWN --noAncestors --hdf5InMemory --chop 32 --progress "$HAL_" > Citrus_speciesForSV.pg

    vg mod -t 24 -c Citrus_speciesForSV.pg > Citrus_speciesForSV_sort.vg

    vg index -t 20 -p Citrus_speciesForSV_sort.vg -x Citrus_speciesForSV.xg

The first two commands complete without errors, but vg index fails with the following message. I vaguely remember a post about lower case bases in the HAL file causing issues, but I am unsure if this is the issue. Any suggestions on how to resolve this?

Building XG index vg: /home/xian/GitHub/vg/include/sdsl/int_vector.hpp:1436: sdsl::int_vector< >::const_reference sdsl::int_vector< >::operator[](const size_type&) const [with unsigned char t_width = 0; sdsl::int_vector< >::const_reference = long unsigned int; sdsl::int_vector< >::size_type = long unsigned int]: Assertion `idx < this->size()' failed. ━━━━━━━━━━━━━━━━━━━━ Crash report for vg v1.54.0 "Parafada" Stack trace (most recent call last):

12 Object "/bigdata/seymourlab/idiaz026/Apps/cactus-bin-v2.7.1/bin/vg", at 0x616ac4, in _start

11 Object "/bigdata/seymourlab/idiaz026/Apps/cactus-bin-v2.7.1/bin/vg", at 0x206ef56, in __libc_start_main

10 Object "/bigdata/seymourlab/idiaz026/Apps/cactus-bin-v2.7.1/bin/vg", at 0x206d6b9, in __libc_start_call_main

9 Object "/bigdata/seymourlab/idiaz026/Apps/cactus-bin-v2.7.1/bin/vg", at 0xdfb17b, in vg::subcommand::Subcommand::operator()(int, char**) const

8 Object "/bigdata/seymourlab/idiaz026/Apps/cactus-bin-v2.7.1/bin/vg", at 0xd6b204, in main_index(int, char**)

7 Object "/bigdata/seymourlab/idiaz026/Apps/cactus-bin-v2.7.1/bin/vg", at 0x14b8afe, in vg::VGset::to_xg(xg::XG&, std::function<bool (std::cxx11::basic_string<char, std::char_traits, std::allocator > const&)> const&, std::map<std::cxx11::basic_string<char, std::char_traits, std::allocator >, vg::Path, std::less<std::cxx11::basic_string<char, std::char_traits, std::allocator > >, std::allocator<std::pair<std::cxx11::basic_string<char, std::char_traits, std::allocator > const, vg::Path> > >*)

6 Object "/bigdata/seymourlab/idiaz026/Apps/cactus-bin-v2.7.1/bin/vg", at 0x189b1b8, in xg::XG::from_enumerators(std::function<void (std::function<void (std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, long long const&)> const&)> const&, std::function<void (std::function<void (long long const&, bool const&, long long const&, bool const&)> const&)> const&, std::function<void (std::function<void (std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, long long const&, bool const&, std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, bool const&, bool const&)> const&)> const&, bool, std::cxx11::basic_string<char, std::char_traits, std::allocator >)

5 Object "/bigdata/seymourlab/idiaz026/Apps/cactus-bin-v2.7.1/bin/vg", at 0x189d1db, in sdsl::int_vector<(unsigned char)0>::operator[](unsigned long const&) const

4 Object "/bigdata/seymourlab/idiaz026/Apps/cactus-bin-v2.7.1/bin/vg", at 0x207fb25, in __assert_fail

3 Object "/bigdata/seymourlab/idiaz026/Apps/cactus-bin-v2.7.1/bin/vg", at 0x5e5753, in __assert_fail_base.cold

2 Object "/bigdata/seymourlab/idiaz026/Apps/cactus-bin-v2.7.1/bin/vg", at 0x5e582b, in abort

1 Object "/bigdata/seymourlab/idiaz026/Apps/cactus-bin-v2.7.1/bin/vg", at 0x2086135, in raise

0 Object "/bigdata/seymourlab/idiaz026/Apps/cactus-bin-v2.7.1/bin/vg", at 0x20b2b4c, in __pthread_kill

ERROR: Signal 6 occurred. VG has crashed. Visit https://github.com/vgteam/vg/issues/new/choose to report a bug. Please include this entire error log in your bug report!

glennhickey commented 1 month ago

I'd suggest running vg validate Citrus_speciesForSV.pg to make sure the input is okay, then making sure you're not running out of memory during the xg indexing.