-
Notifications
You must be signed in to change notification settings - Fork 186
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
Update snake layout logic taking into account hydrogen bonds #5712
Labels
Hydrogen bonds
Bucket: Bugs related to Hydrogen bonds
Layout
Requirements Done
Snake mode
Bucket: Snake mode related issues
Test Cases Written
Test cases has been written for that issue
Milestone
Comments
This was referenced Oct 10, 2024
9 tasks
This was referenced Dec 4, 2024
This was referenced Dec 5, 2024
Verified with issues
|
This was referenced Dec 6, 2024
This was referenced Dec 20, 2024
Closed
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
Hydrogen bonds
Bucket: Bugs related to Hydrogen bonds
Layout
Requirements Done
Snake mode
Bucket: Snake mode related issues
Test Cases Written
Test cases has been written for that issue
Background
Requirements
2.1. Monomers who participate in those H-bonds should be oriented towards each other (one of the chains should be "flipped");
2.2. Shorter chain (fewer monomers) should get "flipped", and if they are of the same size, the chain whose center is lower on the canvas;
2.3. All other side chain connections (except R3-R1 sugar-base) should be placed above or bellow the chain backbones;
2.4. For R3-R1 sugar-base side connections (when the base does not have hydrogen bonds), that base should be oriented like other bases in the chain (or if there is a tie, bellow the sugar);
2.5. Backbones should be placed parallel to each other,
2.6. The chains should be placed in such a way that the left-most monomer that has a hydrogen bond from the non-"flipped" chain has the monomer that is connected to it via a hydrogen bond from the other chain bellow it.
2.7. Distance between all monomers should be minimum one bond length.
2.8. Multiple backbones/chains can be placed in on a line if they are both connected via H-bonds to the same chain (but not to each other!!!).
2.9. The left-most sugar/amino acid of the chain that changed its orientation should have the terminal indicator changed from 5' to 3' (or opposite) / from N to C (or opposite).
2.10. The numbering of the "flipped" chain should go in the opposite direction to the non-"flipped" one.
Note: When there are two chains (who do not satisfy requirement 3) who are connected via at least one H-bond but no bases (connected to a sugar via R1-R3) participate in those H-bonds, than no chain can be considered to be "flipped" and requirements 2.1., 2.2., 2.9, and 2.10. do not apply to them.
When there are two chains who have at least one hydrogen bond between a base (connected to a sugar via R1-R3) and some other monomer (who can be a base with the same conditions but can also be anything else) connecting them (and do not satisfy requirement 3) upon layout one of them is to be considered "flipped" and one non-"flipped". The one with bases bellow the sugar is considered as non-"flipped", while the other is "flipped" AND/OR The one with bases above the sugar is considered as "flipped" while the other is non-"flipped".
UX
Examples
Note: These are just examples to get the idea across, there are some non-layout related mistakes
Example 1
Original chain:





Create the antisense chain for the selected monomers (automatic layout):
Create antisense chain for new selected monomers (automatic layout):
Connect two highlighted monomers via backbone connection:
Layout:
Example 2
Sense and antisense chains, and two nucleotides:



Connect one nucleotide to each chain:
Layout:
Example 3
Original canvas:


Layout:
Example 4
Original canvas:


Layout:
Example 5
Original chain (and a single phosphate):




Create antisense strand by selecting the whole chain (automatic layout):
Connect the CHEM from the antisense chain to the phosphate:
Layout:
The text was updated successfully, but these errors were encountered: