join selected ends by crossovers #581
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.
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:
Pressing Join selected ends by vertical crossovers would add these crossovers:
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.
The text was updated successfully, but these errors were encountered: