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

Hierarchical decomposition improvements #164

Closed
1 of 5 tasks
fedarko opened this issue Nov 29, 2020 · 2 comments
Closed
1 of 5 tasks

Hierarchical decomposition improvements #164

fedarko opened this issue Nov 29, 2020 · 2 comments
Labels
hierarchical decomposition it took me a year to implement this so it had better be useful .___. lowpriorityfeature

Comments

@fedarko
Copy link
Member

fedarko commented Nov 29, 2020

It works pretty well now, but as I've been working with the interface over the past few days I see a few things which should be fixed.

  • Disallow frayed ropes from being used in other patterns (including in other frayed ropes): IMO the fact that they have multiple start/end points makes them ambiguous.
    image

  • If a chain has already been identified and it's a candidate as the start/end node of a bubble, this should be allowed. It isn't currently. Use case: component 75 of the first biofilm graph, contig_0000016197 should form a bubble to contig_0000011283 but since both are in chains this doesn't work.

    • The way to handle this is detecting if the start or end node is a chain, and if so then attempting to "split up" the chain so that its start or end node is now the end or start node of the current bubble. This might be annoying when the chain contains non-basic-node stuff. But basically, we might end up in a situation where splitting the chain completely removes it from the graph, for example if it's just a chain of two nodes...? Hm.
  • Allow cyclic chains to be boundary nodes of bubbles (same as with chains).

  • Likely related to the above: detect cyclic chains of bubbles. This is a real pattern present in some of the components of the test Velvet E. coli graph, and currently we're detecting 2/3 of the bubbles. Ideally we'd catch all three bubbles and wrap them in a cyclic chain. (What we have now is still, imo, better than what we had previously.)
    Old:
    image
    Current:
    image
    I am not sure 100% why this is ending up like this; may be a bug in pattern decomp somewhere.

  • Probably more things I'm not thinking of / haven't run into yet

Honestly, this already looks pretty nice, so these fixes are low priority since they're pretty subjective

@fedarko
Copy link
Member Author

fedarko commented Dec 1, 2020

Oh, for reference, the bug with cyclic chains and bubbles was due to the end "node" (bubble) pointing to the start "node" (also a bubble), preventing bubbles from being created. for the time being i allowed bubbles to be formatted like this, which results in cyclic chains of at least 3 bubbles being ok. (Still gotta make this work for 2-bubble cycles, which are a bit trickier... see #167)

@fedarko
Copy link
Member Author

fedarko commented Dec 8, 2020

Splitting up into multiple issues; closing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
hierarchical decomposition it took me a year to implement this so it had better be useful .___. lowpriorityfeature
Projects
None yet
Development

No branches or pull requests

1 participant