Skip to content

handle paranemic crossovers in cadnano export #185

@dave-doty

Description

@dave-doty

scadnano allows "paranemic" crossovers (https://doi.org/10.1021/ja038381e, https://doi.org/10.1021/acs.chemrev.8b00207), i.e., crossovers that connect two domains in the same direction:

image

Exporting to cadnano (Export --> cadnano v2 from menu) and then reimporting that same .json file (File --> Import cadnano v2 from menu) gives an error:

image

The first domain mentioned in the error exists, and is the 3'-most domain of the scaffold. But the second domain (helix=2, start=15, end=16) does not exist in the original design.

The scadnano file with this design is

{
  "version": "0.16.1",
  "grid": "square",
  "helices": [
    {"grid_position": [0, 0], "max_offset": 17},
    {"grid_position": [0, 1], "max_offset": 17},
    {"grid_position": [0, 2], "max_offset": 17}
  ],
  "strands": [
    {
      "color": "#0066cc",
      "is_scaffold": true,
      "domains": [
        {"helix": 0, "forward": true, "start": 0, "end": 8},
        {"helix": 2, "forward": true, "start": 7, "end": 16}
      ]
    }
  ]
}

Note that because the above strand is a scaffold, and we want the strand to be forward on both helices, we must have both helices be even due to cadnano limitations on directions scaffold/staple strands can go on helices based on their parity.

However, the same error happens if the strand is a staple, and is reversed on both helices:

image

Metadata

Metadata

Assignees

Labels

bugSomething isn't workinghigh prioritySomething cruicial to get working soon.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions