This is significantly related to @Zheludev's issue #40 but may be a little more general. Reviewers and external users find the depictions of internal loops chosen in RiboDraw unusual (unsurprisingly so). Anyone using RiboDraw for "conventional" secondary structure depictions (i.e., without a 3D structure imposing many noncanonical base pairs and inspiring depictions where junction nucleotides are shown as either bulged or stacked) would want access to, if not a conventional "radial" layout, then at least curved junctions.
There should be a function to rearrange junction nucleotides to follow a specified curvature. This is a tricky problem for a few reasons:
- Each junction nucleotide is associated with a helix, so you will need to change "helix coordinate systems" at some point
- The curvature will have to be approximated, because RiboDraw's internal grid alignment is about a quarter-nucleotide in width/height.
- Presumably we can move loop nucleotides with these functions, but we can't move the helices themselves (because that would drag other parts of the internal coordinate system around). But being able to achieve particular curvatures "smoothly" may depend on helix separation quite delicately.
This is significantly related to @Zheludev's issue #40 but may be a little more general. Reviewers and external users find the depictions of internal loops chosen in RiboDraw unusual (unsurprisingly so). Anyone using RiboDraw for "conventional" secondary structure depictions (i.e., without a 3D structure imposing many noncanonical base pairs and inspiring depictions where junction nucleotides are shown as either bulged or stacked) would want access to, if not a conventional "radial" layout, then at least curved junctions.
There should be a function to rearrange junction nucleotides to follow a specified curvature. This is a tricky problem for a few reasons: