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

Generalize coalescent opportunities #26

Open
cbizon opened this issue Sep 19, 2020 · 0 comments
Open

Generalize coalescent opportunities #26

cbizon opened this issue Sep 19, 2020 · 0 comments

Comments

@cbizon
Copy link
Contributor

cbizon commented Sep 19, 2020

Currently we can only coalesce answers that are the same in every way except that the identify of one node is different. This is ok, and understandable, but it's over-specified.

Suppose you had something like:

(A)-?-? and you had 2 answers A-B-C and A-X-Y. And suppose that C and Y were both coalescable. Unless B and X were equal you would not get a merged answer.

I think you'd like to get these. And if B and X coalesced at the same time, then you'd like to know that as well.

Things get complicated in a situation where you also have say A-M-O. And suppose that B/M coalesced, and Y/O coalesced. Do you want to see an answer like that? (NN is new node)

            B          C
            NN1
A           M          O
                       NN2
            X          Y

The options here would be to return a single answer with both or two answers independently.

I think that the best thing to do is try a few options. The simplest is to

  1. Ignore edge types
  2. out of the global set of answers, find all coalescence at spots (all the nodes at gene1)
  3. Coalesce those into one answer, involving any answer that gets dragged into one of the coalesce groups
  4. There will be some disjoints where one set of coalescent nodes involves answers 1-3 and a different set of coalescent nodes involves answers 6-10. Those should be caught in step 3.

A more constrained version would do the same thing, but take into account edge types.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant