-
-
Notifications
You must be signed in to change notification settings - Fork 7
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
Create basic SequenceDistanceGraph and DBG building based on Arda's code #10
Conversation
Everything looks fine for me! Let me know if I am not clear or you think there is a mistake in my formulation. |
Hey @ardakdemir I've added an improvement to the DBG builder. This new function called The ATAT ATA -> TAT problem you described also affects this algorithm too. The problem you were describing in your blog post is a small example of a more general problem called the circle problem, I'm glad you found it as I forgot about it. In the new function, this edge case takes the form of kmers in circles being excluded from the graph. To fix this we will need to take all the kmers that have not been used once unitig creation is done, and add those "circles" to the graph as units by choosing a random breakpoint. But for now, until we squash this bug if the K used to build Kmers/Graph is large enough this edge case should be very rare, and we could add a test/warning message if the case does pop up! |
@benjward thanks for the explanation. |
A check and a warning for the circle problem.
306784e
to
8002fff
Compare
8002fff
to
c434dc8
Compare
Oops, hit the close button by accident. |
@ardakdemir This is the SequenceDistanceGraph, based on your DeBruijn Graph code with some tweaks. Have a look at the methods it has and the dbg constructor. Let me know if you're happy with my edits to that algorithm.