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 call fails: Address not mapped to object #1459

Open
ChriKub opened this issue Feb 19, 2018 · 7 comments
Open

vg call fails: Address not mapped to object #1459

ChriKub opened this issue Feb 19, 2018 · 7 comments

Comments

@ChriKub
Copy link

ChriKub commented Feb 19, 2018

Hi,

I tried to call variants from a short read mapping to a 2 genome variation graph but vg call fails. This happens on two independent graphs with different input sequences and sequencing data sets.

vg call -v -p -t 20 -r Chr1 -r Chr2 -r Chr3 -r Chr4 -r Chr5 -z augment.translation -s augment.support -b graph.vg graph.augmented > variant.vcf 2> variant.out

Mininimum binned average coverage: 0,0 (bin 3 / 107902)
Maxinimum binned average coverage: 662.38,695.52 (bin 9888 / 107902)
Stack trace (most recent call last):
#31 | Source "impl/stCactusGraphs.c", line 1160, in stSnarl_makeRecursiveSnarl
Source "impl/stCactusGraphs.c", line 1151, in stSnarl_makeRecursiveSnarl [0xdc2094]
#30 | Source "impl/stCactusGraphs.c", line 1179, in stSnarl_makeRecursiveSnarl
Source "impl/stCactusGraphs.c", line 1195, in stSnarl_makeRecursiveSnarl [0xdc203d]
#29 | Source "impl/stCactusGraphs.c", line 1160, in stSnarl_makeRecursiveSnarl
Source "impl/stCactusGraphs.c", line 1151, in stSnarl_makeRecursiveSnarl [0xdc2094]
#28 | Source "impl/stCactusGraphs.c", line 1179, in stSnarl_makeRecursiveSnarl
Source "impl/stCactusGraphs.c", line 1195, in stSnarl_makeRecursiveSnarl [0xdc203d]
#27 | Source "impl/stCactusGraphs.c", line 1160, in stSnarl_makeRecursiveSnarl
Source "impl/stCactusGraphs.c", line 1151, in stSnarl_makeRecursiveSnarl [0xdc2094]
#26 | Source "impl/stCactusGraphs.c", line 1160, in stSnarl_makeRecursiveSnarl
Source "impl/stCactusGraphs.c", line 1151, in stSnarl_makeRecursiveSnarl [0xdc2094]
#25 | Source "impl/stCactusGraphs.c", line 1179, in stSnarl_makeRecursiveSnarl
Source "impl/stCactusGraphs.c", line 1195, in stSnarl_makeRecursiveSnarl [0xdc203d]
#24 | Source "impl/stCactusGraphs.c", line 1160, in stSnarl_makeRecursiveSnarl
Source "impl/stCactusGraphs.c", line 1151, in stSnarl_makeRecursiveSnarl [0xdc2094]
#23 | Source "impl/stCactusGraphs.c", line 1179, in stSnarl_makeRecursiveSnarl
Source "impl/stCactusGraphs.c", line 1195, in stSnarl_makeRecursiveSnarl [0xdc203d]
#22 | Source "impl/stCactusGraphs.c", line 1160, in stSnarl_makeRecursiveSnarl
Source "impl/stCactusGraphs.c", line 1151, in stSnarl_makeRecursiveSnarl [0xdc2094]
#21 | Source "impl/stCactusGraphs.c", line 1179, in stSnarl_makeRecursiveSnarl
Source "impl/stCactusGraphs.c", line 1195, in stSnarl_makeRecursiveSnarl [0xdc203d]
#20 | Source "impl/stCactusGraphs.c", line 1160, in stSnarl_makeRecursiveSnarl
Source "impl/stCactusGraphs.c", line 1151, in stSnarl_makeRecursiveSnarl [0xdc2094]
#19 | Source "impl/stCactusGraphs.c", line 1160, in stSnarl_makeRecursiveSnarl
Source "impl/stCactusGraphs.c", line 1151, in stSnarl_makeRecursiveSnarl [0xdc2094]
#18 | Source "impl/stCactusGraphs.c", line 1179, in stSnarl_makeRecursiveSnarl
Source "impl/stCactusGraphs.c", line 1195, in stSnarl_makeRecursiveSnarl [0xdc203d]
#17 | Source "impl/stCactusGraphs.c", line 1160, in stSnarl_makeRecursiveSnarl
Source "impl/stCactusGraphs.c", line 1151, in stSnarl_makeRecursiveSnarl [0xdc2094]
#16 | Source "impl/stCactusGraphs.c", line 1179, in stSnarl_makeRecursiveSnarl
Source "impl/stCactusGraphs.c", line 1195, in stSnarl_makeRecursiveSnarl [0xdc203d]
#15 | Source "impl/stCactusGraphs.c", line 1160, in stSnarl_makeRecursiveSnarl
Source "impl/stCactusGraphs.c", line 1151, in stSnarl_makeRecursiveSnarl [0xdc2094]
#14 | Source "impl/stCactusGraphs.c", line 1160, in stSnarl_makeRecursiveSnarl
Source "impl/stCactusGraphs.c", line 1151, in stSnarl_makeRecursiveSnarl [0xdc2094]
#13 | Source "impl/stCactusGraphs.c", line 1179, in stSnarl_makeRecursiveSnarl
Source "impl/stCactusGraphs.c", line 1195, in stSnarl_makeRecursiveSnarl [0xdc203d]
#12 | Source "impl/stCactusGraphs.c", line 1160, in stSnarl_makeRecursiveSnarl
Source "impl/stCactusGraphs.c", line 1151, in stSnarl_makeRecursiveSnarl [0xdc2094]
#11 | Source "impl/stCactusGraphs.c", line 1179, in stSnarl_makeRecursiveSnarl
Source "impl/stCactusGraphs.c", line 1195, in stSnarl_makeRecursiveSnarl [0xdc203d]
#10 | Source "impl/stCactusGraphs.c", line 1160, in stSnarl_makeRecursiveSnarl
Source "impl/stCactusGraphs.c", line 1151, in stSnarl_makeRecursiveSnarl [0xdc2094]
#9 | Source "impl/stCactusGraphs.c", line 1179, in stSnarl_makeRecursiveSnarl
Source "impl/stCactusGraphs.c", line 1195, in stSnarl_makeRecursiveSnarl [0xdc203d]
#8 | Source "impl/stCactusGraphs.c", line 1160, in stSnarl_makeRecursiveSnarl
Source "impl/stCactusGraphs.c", line 1151, in stSnarl_makeRecursiveSnarl [0xdc2094]
#7 | Source "impl/stCactusGraphs.c", line 1160, in stSnarl_makeRecursiveSnarl
Source "impl/stCactusGraphs.c", line 1151, in stSnarl_makeRecursiveSnarl [0xdc2094]
#6 | Source "impl/stCactusGraphs.c", line 1179, in stSnarl_makeRecursiveSnarl
Source "impl/stCactusGraphs.c", line 1195, in stSnarl_makeRecursiveSnarl [0xdc203d]
#5 | Source "impl/stCactusGraphs.c", line 1160, in stSnarl_makeRecursiveSnarl
Source "impl/stCactusGraphs.c", line 1151, in stSnarl_makeRecursiveSnarl [0xdc2094]
#4 | Source "impl/stCactusGraphs.c", line 1179, in stSnarl_makeRecursiveSnarl
Source "impl/stCactusGraphs.c", line 1195, in stSnarl_makeRecursiveSnarl [0xdc203d]
#3 | Source "impl/stCactusGraphs.c", line 1146, in stSnarl_constructEmptySnarl
Source "impl/stCactusGraphs.c", line 1079, in stSnarl_makeRecursiveSnarl [0xdc1f24]
#2 Source "impl/sonLibList.c", line 39, in stList_construct3 [0xdcbf4b]
#1 Source "impl/sonLibCommon.c", line 42, in st_calloc [0xdcaea0]
#0 | Source "src/tcmalloc.cc", line 1645, in do_calloc
| Source "src/tcmalloc.cc", line 1234, in memset
Source "/usr/include/x86_64-linux-gnu/bits/string3.h", line 90, in tc_calloc [0x1165e8e]
87: return __dest;
88: }
89: #endif
> 90: return __builtin___memset_chk (__dest, __ch, __len, __bos0 (__dest));
91: }
92:
93: #ifdef __USE_MISC
Segmentation fault (Address not mapped to object [0x7ffd8aeeeff8])

@adamnovak
Copy link
Member

Address not mapped to object is just a message from the stack trace code. I suspect what you are having here is a stack overflow, caused by very deeply nested snarl structure in the graph (see the long chain of recursive calls to stSnarl_makeRecursiveSnarl).

We don't currently support graphs with long dangling pieces; they get parsed into nested unary snarls, but if the tree gets too deep we can't recurse over it and we explode.

The right solution is to rewrite all our recursive algorithms as iterative algorithms. The short-term solution is to convince vg call to use a different primary path to structure the snarl traversal, or make the graph more linear-shaped.

What shapes are the graphs you are working on? Do they include, for example, edges between different chromosomes? Or multiple alternative telomeres?

@ChriKub
Copy link
Author

ChriKub commented Feb 27, 2018

Thanks for your reply.
It is probably a long dangling piece/telomere. The graph was constructed using reveal, thus it is linear and does not contain any edges between chromosomes, or repeats. I will try to introduce a single node at the end of each chromosome to anchor the telomeres. That should fix the problem for now, right?
Do you intend to rewrite the algorithm to be able to cope with this at any point, as this problem should be fairly common when working with whole genome alignments.

@adamnovak
Copy link
Member

adamnovak commented Feb 28, 2018 via email

@ChriKub
Copy link
Author

ChriKub commented Mar 7, 2018

Hi Adam,
I tried clamping down the ends, but it still throws an error. I'm not sure if it is the same, although stSnarl_makeRecursiveSnarl is still called.

Reading input graph
Calling variants with support caller
Primary path AT6909_Chr1 average/off-path assumed coverage: 20.8359,20.9331
Mininimum binned average coverage: 0,0 (bin 1 / 121089)
Maxinimum binned average coverage: 1522.12,1510.03 (bin 15804 / 121089)
Primary path AT6909_Chr2 average/off-path assumed coverage: 23.2543,23.2987
Mininimum binned average coverage: 0,0 (bin 19 / 80086)
Maxinimum binned average coverage: 1141.86,1172.46 (bin 13936 / 80086)
Primary path AT6909_Chr3 average/off-path assumed coverage: 21.3937,21.4521
Mininimum binned average coverage: 0,0 (bin 1 / 93697)
Maxinimum binned average coverage: 814.596,1477.78 (bin 31430 / 93697)
Primary path AT6909_Chr4 average/off-path assumed coverage: 21.1099,21.1626
Mininimum binned average coverage: 0,0 (bin 2 / 74903)
Maxinimum binned average coverage: 1128.95,1159.84 (bin 27777 / 74903)
Primary path AT6909_Chr5 average/off-path assumed coverage: 20.7084,20.7151
Mininimum binned average coverage: 0,0 (bin 1 / 109331)
Maxinimum binned average coverage: 662.38,695.52 (bin 9905 / 109331)
Stack trace (most recent call last):
#31 | Source "impl/stCactusGraphs.c", line 1160, in stSnarl_makeRecursiveSnarl
Source "impl/stCactusGraphs.c", line 1151, in stSnarl_makeRecursiveSnarl [0xdc2094]
#30 | Source "impl/stCactusGraphs.c", line 1160, in stSnarl_makeRecursiveSnarl
Source "impl/stCactusGraphs.c", line 1151, in stSnarl_makeRecursiveSnarl [0xdc2094]
#29 | Source "impl/stCactusGraphs.c", line 1160, in stSnarl_makeRecursiveSnarl
Source "impl/stCactusGraphs.c", line 1151, in stSnarl_makeRecursiveSnarl [0xdc2094]
#28 | Source "impl/stCactusGraphs.c", line 1179, in stSnarl_makeRecursiveSnarl
Source "impl/stCactusGraphs.c", line 1195, in stSnarl_makeRecursiveSnarl [0xdc203d]
#27 | Source "impl/stCactusGraphs.c", line 1160, in stSnarl_makeRecursiveSnarl
Source "impl/stCactusGraphs.c", line 1151, in stSnarl_makeRecursiveSnarl [0xdc2094]
#26 | Source "impl/stCactusGraphs.c", line 1179, in stSnarl_makeRecursiveSnarl
Source "impl/stCactusGraphs.c", line 1195, in stSnarl_makeRecursiveSnarl [0xdc203d]
#25 | Source "impl/stCactusGraphs.c", line 1160, in stSnarl_makeRecursiveSnarl
Source "impl/stCactusGraphs.c", line 1151, in stSnarl_makeRecursiveSnarl [0xdc2094]
#24 | Source "impl/stCactusGraphs.c", line 1160, in stSnarl_makeRecursiveSnarl
Source "impl/stCactusGraphs.c", line 1151, in stSnarl_makeRecursiveSnarl [0xdc2094]
#23 | Source "impl/stCactusGraphs.c", line 1179, in stSnarl_makeRecursiveSnarl
Source "impl/stCactusGraphs.c", line 1195, in stSnarl_makeRecursiveSnarl [0xdc203d]
#22 | Source "impl/stCactusGraphs.c", line 1160, in stSnarl_makeRecursiveSnarl
Source "impl/stCactusGraphs.c", line 1151, in stSnarl_makeRecursiveSnarl [0xdc2094]
#21 | Source "impl/stCactusGraphs.c", line 1179, in stSnarl_makeRecursiveSnarl
Source "impl/stCactusGraphs.c", line 1195, in stSnarl_makeRecursiveSnarl [0xdc203d]
#20 | Source "impl/stCactusGraphs.c", line 1160, in stSnarl_makeRecursiveSnarl
Source "impl/stCactusGraphs.c", line 1151, in stSnarl_makeRecursiveSnarl [0xdc2094]
#19 | Source "impl/stCactusGraphs.c", line 1160, in stSnarl_makeRecursiveSnarl
Source "impl/stCactusGraphs.c", line 1151, in stSnarl_makeRecursiveSnarl [0xdc2094]
#18 | Source "impl/stCactusGraphs.c", line 1179, in stSnarl_makeRecursiveSnarl
Source "impl/stCactusGraphs.c", line 1195, in stSnarl_makeRecursiveSnarl [0xdc203d]
#17 | Source "impl/stCactusGraphs.c", line 1160, in stSnarl_makeRecursiveSnarl
Source "impl/stCactusGraphs.c", line 1151, in stSnarl_makeRecursiveSnarl [0xdc2094]
#16 | Source "impl/stCactusGraphs.c", line 1179, in stSnarl_makeRecursiveSnarl
Source "impl/stCactusGraphs.c", line 1195, in stSnarl_makeRecursiveSnarl [0xdc203d]
#15 | Source "impl/stCactusGraphs.c", line 1160, in stSnarl_makeRecursiveSnarl
Source "impl/stCactusGraphs.c", line 1151, in stSnarl_makeRecursiveSnarl [0xdc2094]
#14 | Source "impl/stCactusGraphs.c", line 1179, in stSnarl_makeRecursiveSnarl
Source "impl/stCactusGraphs.c", line 1195, in stSnarl_makeRecursiveSnarl [0xdc203d]
#13 | Source "impl/stCactusGraphs.c", line 1160, in stSnarl_makeRecursiveSnarl
Source "impl/stCactusGraphs.c", line 1151, in stSnarl_makeRecursiveSnarl [0xdc2094]
#12 | Source "impl/stCactusGraphs.c", line 1179, in stSnarl_makeRecursiveSnarl
Source "impl/stCactusGraphs.c", line 1195, in stSnarl_makeRecursiveSnarl [0xdc203d]
#11 | Source "impl/stCactusGraphs.c", line 1160, in stSnarl_makeRecursiveSnarl
Source "impl/stCactusGraphs.c", line 1151, in stSnarl_makeRecursiveSnarl [0xdc2094]
#10 | Source "impl/stCactusGraphs.c", line 1179, in stSnarl_makeRecursiveSnarl
Source "impl/stCactusGraphs.c", line 1195, in stSnarl_makeRecursiveSnarl [0xdc203d]
#9 | Source "impl/stCactusGraphs.c", line 1160, in stSnarl_makeRecursiveSnarl
Source "impl/stCactusGraphs.c", line 1151, in stSnarl_makeRecursiveSnarl [0xdc2094]
#8 | Source "impl/stCactusGraphs.c", line 1179, in stSnarl_makeRecursiveSnarl
Source "impl/stCactusGraphs.c", line 1195, in stSnarl_makeRecursiveSnarl [0xdc203d]
#7 | Source "impl/stCactusGraphs.c", line 1160, in stSnarl_makeRecursiveSnarl
Source "impl/stCactusGraphs.c", line 1151, in stSnarl_makeRecursiveSnarl [0xdc2094]
#6 | Source "impl/stCactusGraphs.c", line 1179, in stSnarl_makeRecursiveSnarl
Source "impl/stCactusGraphs.c", line 1195, in stSnarl_makeRecursiveSnarl [0xdc203d]
#5 | Source "impl/stCactusGraphs.c", line 1160, in stSnarl_makeRecursiveSnarl
Source "impl/stCactusGraphs.c", line 1151, in stSnarl_makeRecursiveSnarl [0xdc2094]
#4 | Source "impl/stCactusGraphs.c", line 1179, in stSnarl_makeRecursiveSnarl
Source "impl/stCactusGraphs.c", line 1195, in stSnarl_makeRecursiveSnarl [0xdc203d]
#3 | Source "impl/stCactusGraphs.c", line 1160, in stSnarl_makeRecursiveSnarl
Source "impl/stCactusGraphs.c", line 1151, in stSnarl_makeRecursiveSnarl [0xdc2094]
#2 | Source "impl/stCactusGraphs.c", line 1146, in stSnarl_constructEmptySnarl
Source "impl/stCactusGraphs.c", line 1075, in stSnarl_makeRecursiveSnarl [0xdc1f09]
#1 Source "impl/sonLibCommon.c", line 42, in st_calloc [0xdcaea0]
#0 Source "src/tcmalloc.cc", line 1641, in tc_calloc [0x1165e02]
Segmentation fault (Address not mapped to object [0x7ffefc36eff8])

@adamnovak
Copy link
Member

adamnovak commented Mar 7, 2018 via email

@ChriKub
Copy link
Author

ChriKub commented Mar 7, 2018

It doesn't run through. So I will need to have a closer look into the graph. Is there any way of identifying the snarl that kills it with vg snarls?

Stack trace (most recent call last):
#31 Source "src/snarls.cpp", line 180, in recursively_emit_snarls [0x94e5fe]
#30 Source "src/snarls.cpp", line 180, in recursively_emit_snarls [0x94e5fe]
#29 Source "src/snarls.cpp", line 180, in recursively_emit_snarls [0x94e5fe]
#28 Source "src/snarls.cpp", line 180, in recursively_emit_snarls [0x94e5fe]
#27 Source "src/snarls.cpp", line 180, in recursively_emit_snarls [0x94e5fe]
#26 Source "src/snarls.cpp", line 180, in recursively_emit_snarls [0x94e5fe]
#25 Source "src/snarls.cpp", line 145, in recursively_emit_snarls [0x94e53d]
#24 Source "src/snarls.cpp", line 180, in recursively_emit_snarls [0x94e5fe]
#23 Source "src/snarls.cpp", line 145, in recursively_emit_snarls [0x94e53d]
#22 Source "src/snarls.cpp", line 180, in recursively_emit_snarls [0x94e5fe]
#21 Source "src/snarls.cpp", line 145, in recursively_emit_snarls [0x94e53d]
#20 Source "src/snarls.cpp", line 180, in recursively_emit_snarls [0x94e5fe]
#19 Source "src/snarls.cpp", line 145, in recursively_emit_snarls [0x94e53d]
#18 Source "src/snarls.cpp", line 180, in recursively_emit_snarls [0x94e5fe]
#17 Source "src/snarls.cpp", line 145, in recursively_emit_snarls [0x94e53d]
#16 Source "src/snarls.cpp", line 180, in recursively_emit_snarls [0x94e5fe]
#15 Source "src/snarls.cpp", line 145, in recursively_emit_snarls [0x94e53d]
#14 Source "src/snarls.cpp", line 180, in recursively_emit_snarls [0x94e5fe]
#13 Source "src/snarls.cpp", line 145, in recursively_emit_snarls [0x94e53d]
#12 Source "src/snarls.cpp", line 180, in recursively_emit_snarls [0x94e5fe]
#11 Source "src/snarls.cpp", line 145, in recursively_emit_snarls [0x94e53d]
#10 Source "src/snarls.cpp", line 180, in recursively_emit_snarls [0x94e5fe]
#9 Source "src/snarls.cpp", line 145, in recursively_emit_snarls [0x94e53d]
#8 Source "src/snarls.cpp", line 180, in recursively_emit_snarls [0x94e5fe]
#7 Source "src/snarls.cpp", line 145, in recursively_emit_snarls [0x94e53d]
#6 Source "src/snarls.cpp", line 180, in recursively_emit_snarls [0x94e5fe]
#5 Source "src/snarls.cpp", line 180, in recursively_emit_snarls [0x94e5fe]
#4 Source "src/snarls.cpp", line 145, in recursively_emit_snarls [0x94e53d]
#3 Source "src/snarls.cpp", line 180, in recursively_emit_snarls [0x94e5fe]
#2 Source "src/snarls.cpp", line 145, in recursively_emit_snarls [0x94e53d]
#1 Source "src/snarls.cpp", line 180, in recursively_emit_snarls [0x94e5fe]
#0 Source "src/snarls.cpp", line 73, in recursively_emit_snarls [0x94e331]
Segmentation fault (Address not mapped to object [0x7ffeb3d39f18])

@adamnovak
Copy link
Member

adamnovak commented Mar 8, 2018 via email

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