marschall-lab / GFAffix

GFAffix identifies walk-preserving shared affixes in variation graphs and collapses them into a non-redundant graph structure.
MIT License
34 stars 5 forks source link

Gfaffix removes one edge needed by paths, leaving graph invalid #10

Closed glennhickey closed 1 year ago

glennhickey commented 1 year ago

This comes by way of https://github.com/ComparativeGenomicsToolkit/cactus/issues/971

To reproduce

wget -q http://public.gi.ucsc.edu/~hickey/debug/NC_006096.5.vg.gfa.gz
gzip -d NC_006096.5.vg.gfa.gz
gfaffix ./NC_006096.5.vg.gfa --output_refined fixed.gfa --check_transformation --dont_collapse "REF*" 2> gfaffix.stderr > gfaffix.stdout
vg validate fixed.gfa

Which gives the output below. This is all complaining about single missing edge: (1322919:1) -> (1322920:1)

graph invalid: missing edge between 435768th step (1322919:1) and 435769th step (1322920:1) of path Thailand#0#NC_006096.5_RagTag#0
graph invalid: missing edge between 435769th step (1322920:0) and 435768th step (1322919:1) of path Thailand#0#NC_006096.5_RagTag#0
graph invalid: missing edge between 437552th step (1322919:1) and 437553th step (1322920:1) of path Cornish#0#Chr9#0
graph invalid: missing edge between 437553th step (1322920:0) and 437552th step (1322919:1) of path Cornish#0#Chr9#0
graph invalid: missing edge between 436158th step (1322919:1) and 436159th step (1322920:1) of path Silkies#0#Chr9#0
graph invalid: missing edge between 436159th step (1322920:0) and 436158th step (1322919:1) of path Silkies#0#Chr9#0
graph invalid: missing edge between 436542th step (1322919:1) and 436543th step (1322920:1) of path Asil#0#NC_006096.5_RagTag#0
graph invalid: missing edge between 436543th step (1322920:0) and 436542th step (1322919:1) of path Asil#0#NC_006096.5_RagTag#0
graph invalid: missing edge between 434343th step (1322919:1) and 434344th step (1322920:1) of path Tibetan#0#Chr9#0
graph invalid: missing edge between 434344th step (1322920:0) and 434343th step (1322919:1) of path Tibetan#0#Chr9#0
graph invalid: missing edge between 436112th step (1322919:1) and 436113th step (1322920:1) of path BLH#0#Chr9#0
graph invalid: missing edge between 436113th step (1322920:0) and 436112th step (1322919:1) of path BLH#0#Chr9#0
graph invalid: missing edge between 930th step (1322919:1) and 931th step (1322920:1) of path _MINIGRAPH_#s57999
graph invalid: missing edge between 931th step (1322920:0) and 930th step (1322919:1) of path _MINIGRAPH_#s57999
graph invalid: missing edge between 434428th step (1322919:1) and 434429th step (1322920:1) of path Houdan#0#Chr9#0
graph invalid: missing edge between 434429th step (1322920:0) and 434428th step (1322919:1) of path Houdan#0#Chr9#0
graph invalid: missing edge between 446879th step (1322919:1) and 446880th step (1322920:1) of path Naked_neck#0#NC_006096.5_RagTag#0
graph invalid: missing edge between 446880th step (1322920:0) and 446879th step (1322919:1) of path Naked_neck#0#NC_006096.5_RagTag#0
graph invalid: missing edge between 442289th step (1322919:1) and 442290th step (1322920:1) of path REF#NC_006096.5
graph invalid: missing edge between 442290th step (1322920:0) and 442289th step (1322919:1) of path REF#NC_006096.5
graph invalid: missing edge between 478515th step (1322919:1) and 478516th step (1322920:1) of path Fayoumi#0#NC_006096.5_RagTag#0
graph invalid: missing edge between 478516th step (1322920:0) and 478515th step (1322919:1) of path Fayoumi#0#NC_006096.5_RagTag#0
graph: invalid
danydoerr commented 1 year ago

Thanks, Glenn! I'll work on this asap.

danydoerr commented 1 year ago

I pushed a new release that fixes the issue. Please pull :)

glennhickey commented 1 year ago

Amazing, thanks so much for the quick fix!

Any chance of adding a static binary to that release?

danydoerr commented 1 year ago

Yes, will do later today.

danydoerr commented 1 year ago

@glennhickey static binary is available now.