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

"Long" bonds for uneven double stranded sequences in snake and flex modes #6284

Closed
ljubica-milovic opened this issue Jan 15, 2025 · 0 comments · Fixed by #6520
Closed

"Long" bonds for uneven double stranded sequences in snake and flex modes #6284

ljubica-milovic opened this issue Jan 15, 2025 · 0 comments · Fixed by #6520
Assignees
Labels
Antisense Bucket: Antisense related issues Flex mode Bucket: Flex canvas related mode Hydrogen bonds Bucket: Bugs related to Hydrogen bonds Snake mode Bucket: Snake mode related issues Test Cases Written Test cases has been written for that issue

Comments

@ljubica-milovic
Copy link
Collaborator

ljubica-milovic commented Jan 15, 2025

Background

In the scope of this ticket layout logic for uneven double stranded sequences in snake and flex modes should be changed from the current one described in ticket #5712.

An uneven double stranded sequence for the purpose of this ticket is a double stranded sequence where not every monomer that participates in a H-bond has the same y coordinate as the other monomer in that H-bond (if a monomer has multiple H-bonds one one must have the same y coordinate with its partner, but the others do not).
This is an uneven double stranded sequence (current layout):
image
This is not:
image
Also this is not:
image

Monomers baA and U have the same y coordinate, and that is why the different y coordinates of tCo and U are acceptable.

Requirements

  1. Every monomer that has only one hydrogen bond should be placed on the same y position as the other participant in the hydrogen bond (and that bond should not behave as a side chain connection in snake mode).

This is incorrect (current behavior):
image
Every monomer that has an H-bond has only one H-bond, but the monomer pairs are not placed on a vertical line.
This is correct:
Image

  1. If a monomer has multiple H-bonds, it should be placed bellow/above the monomer that has the fewest number of H-bonds (or to the left one if the number of H-bonds is the same).

Again, "straight" H-bonds (same y coordinates) should not behave as side-chain connections in snake mode. But the "not-straight" ones should.

This is incorrect (current behavior):
image
Monomer A has two H-bonds: with o8G and tfU. Both o8G and tfU have one H-bond. That means that monomer A should be aligned bellow o8G (it is to the left of tfU).
This is correct:
image

  1. For every region between two hydrogen bonds, one chain must have backbone bonds with the length of one bond. For the other chain, all the other monomers should be aligned to the left so that the "long" bond is to the right for sense chains, and aligned to the right so that the "long" bond is to the left for antisense chains.

Region between two H-bonds is defined as a part of the backbone (that contains at least one monomer) between monomers who participate in an H-bond, or between sugars whose R1-R3 connected base participates in an H-bond.

This is incorrect (current behavior):
image
There are three regions between H-bonds in the example:
image
First and third contain the same number of monomers on both chains, but the second region contains two on the upper chain (Hhs and oxy) and one on the lower chain (Hhs).
That means after the H-bond connected bases are arranged vertically, Hhs of the lower chain should be placed to the right because it is in the antisense chain (if it was in sense, alignment would happen to the left):
Image

Examples

Incorrect (current):
image

Correct:
Image

Incorrect (current):
Image

Correct:
Image

@ljubica-milovic ljubica-milovic added draft feature request Snake mode Bucket: Snake mode related issues Flex mode Bucket: Flex canvas related mode Hydrogen bonds Bucket: Bugs related to Hydrogen bonds labels Jan 15, 2025
@ljubica-milovic ljubica-milovic added this to the Refined Backlog milestone Jan 15, 2025
@AlexeyGirin AlexeyGirin added the Antisense Bucket: Antisense related issues label Jan 24, 2025
@rrodionov91 rrodionov91 self-assigned this Feb 26, 2025
@Zhirnoff Zhirnoff added the Test Cases Written Test cases has been written for that issue label Feb 27, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Antisense Bucket: Antisense related issues Flex mode Bucket: Flex canvas related mode Hydrogen bonds Bucket: Bugs related to Hydrogen bonds Snake mode Bucket: Snake mode related issues Test Cases Written Test cases has been written for that issue
Projects
None yet
4 participants