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

join selected ends by crossovers #581

Closed
dave-doty opened this issue Mar 20, 2021 · 0 comments
Closed

join selected ends by crossovers #581

dave-doty opened this issue Mar 20, 2021 · 0 comments
Labels
closed in dev Indicates issue is closed in the dev branch, available at: https://scadnano.org/dev/ enhancement New feature or request high priority Something cruicial to get working soon.

Comments

@dave-doty
Copy link
Member

dave-doty commented Mar 20, 2021

This will make it possible to select many 5' and 3' ends and join them all by crossovers in a single step. For instance, in the following design with these ends selected:

image

Pressing Join selected ends by vertical crossovers would add these crossovers:

image

The general rule is this:

For each HelixGroup, do this (crossovers will only be added within a HelixGroup): Iterate over ends in the following order: first by helix, then by forward/reverse, then by offset. For each other end (in the same order, if it is "above" (lower helix idx, or more generally helix earlier in helices_view_order) another end and opposite direction (one is forward and the other reverse), and opposite side of a strand (i.e., one is 5' and the other 3'), then join them by a crossover and remove both ends from the list of ends to consider.

The above example should also work if all ends were selected. Since the middle ends on the bottom helix have no "partners" below them in the above sorted order of processing, they would be left alone.

@dave-doty dave-doty added enhancement New feature or request high priority Something cruicial to get working soon. labels Mar 20, 2021
@dave-doty dave-doty changed the title add Edit menu item "Join selected ends by vertical crossovers" allow to join many selected ends by vertical crossovers Mar 29, 2021
@dave-doty dave-doty added the closed in dev Indicates issue is closed in the dev branch, available at: https://scadnano.org/dev/ label Mar 29, 2021
@dave-doty dave-doty changed the title allow to join many selected ends by vertical crossovers join selected ends by vertical crossovers May 8, 2021
@dave-doty dave-doty changed the title join selected ends by vertical crossovers join many selected ends by vertical crossovers May 8, 2021
@dave-doty dave-doty changed the title join many selected ends by vertical crossovers join selected ends by crossovers Jul 20, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
closed in dev Indicates issue is closed in the dev branch, available at: https://scadnano.org/dev/ enhancement New feature or request high priority Something cruicial to get working soon.
Projects
None yet
Development

No branches or pull requests

1 participant