-
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
import (previously exported) cadnano design with paranemic crossover #308
Comments
Find attached:
Performing a diff on the bugged version in your .zip and debugged design attached reveals that:
Hopefully the fix should be easy, I'm looking into it now. paranemic_crossover_made_with_cadnano2.json |
I've made good progress on the fix but must stop for the day now. Hopefully I will push fix and new additional tests tomorrow! |
Cool, no rush, thanks for looking into it! |
I have fixed the issue in this PR: #311
|
It sounds like you're saying there's no bug, just an extra constraint we need to have in place when exporting. That appears to be the case from the modified code in the PR, since it just adds new checks but doesn't appear to change the logic of the export method. However, the original issue (before I shrunk it to what I thought was a minimal reproducible example) is that Sarah had a cadnano design, imported to scadnano (in the web interface), exported from that to cadnano, then tried importing that cadnano design in scadnano, and she saw this error. So perhaps we should look at Sarah's original design and see if there's not a more subtle bug, because she started with an apparently legal cadnano design, but then going through importing to scadnano and then exporting to cadnano again changed something. I'll ask her to email it to you (or post it here) and maybe you can see what's wrong? Or maybe I'm not thinking about something correctly here. |
There was a bug that I solved for paranemic crossovers where both strands go in the 3p direction, see this commit: As per our email thread, the bugfix solves the following chain of import/exports for the minimal example (which did not work prior to this fix):
However it does not solve the bug for Sarah's initial design. I should inspect further. |
A paranemic crossover is one where the domains before and after the crossover are in the same direction, e.g.
See the attached scadnano and cadnano designs: paranemic_crossover.zip
The cadnano design in the zip file was generated by running the following code:
This bug can also be reproduced by loading the scadnano design in the web interface, selected Export-->cadnano v2, and then File-->Import cadnano v2.
If you load that file
paranemic_crossover.json
in the scadnano web interface via File-->Import cadnano v2, it gives this error:I don't know for sure that the issue is the paranemic crossover, but it does not happen, for instance, in this very similar design:
The text was updated successfully, but these errors were encountered: