-
-
Notifications
You must be signed in to change notification settings - Fork 24
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
LocalAlignment find lower score than biopython/scikit-bio implementations #27
Comments
How do we know it's BioJulia and not biopython that has the bug? The key difference seems to be the BioJulia version inserts a bigger gap near the middle, to match more elements furthur along the sequence. Is it possible to print out how the BioJulia and the biopython algorithms fill out the dynamic programming matrix? If they're the same, then theres something different in how traceback occurs, if they differ, then something is being scored differently. |
The issue here is that BioJulia handles gap open and extend penalties a bit differently from BioPython. A gap of size pairwise2.align.localds(str1, str2, matrix, -11, -1) |
Is there a reason to prefer |
From what I've seen in the literature, original papers from the 80's and 90's mostly use the This is one of those cases though where once you've picked a notation you don't want to change it, because if you do everybody's code will silently stop working after upgrading. |
We should keep this issue pinned, perhaps until we add a page to the docs answering FAQs like this: "Hey why does BioAlignments give a different result to XYZ?" |
While I was benchmarking Julia's
pairalign
(318 μs) against BioPython (7310 µs) and scikit-bio (925 µs) implementation, I found that Julia's local alignment returns a solution with score 63 while python solutions have a score of 65. That makes me think that we have some hidden bug there, and we are not hitting the right solution.Python 3.5.2
In this case, BioJulia's solution is part of BioPython's first solution.
The text was updated successfully, but these errors were encountered: