Update the representation of sense and antisense chains in sequence mode #5942
Labels
feature request
Hydrogen bonds
Bucket: Bugs related to Hydrogen bonds
Sequence mode
Bucket: Sequence mode related issues
Background
This ticket represents an evolution of a previous one (#5925) addressing the layout of sense and antisense chains in sequence mode. Much of the logic is shared between this ticket, and the ticket describing the layout in snake mode (#5712).
Summary of differences between editing both chains and editing one chain
Requirements
Chains that can not be represented one bellow another
Chains placement and formatting
3.1. The chain with more monomers is placed on top, or if there is a tie the, one with a higher center on canvas in snake/flex modes.
3.2. Multiple chains can be placed on a single line if both of those chains are connected via H-bonds to one chain.
3.3. The chain(s) placed on the bottom should have their numbering reversed.
3.4. After every tenth symbol in one of the chains should come a break, and a number indicator should be placed above/bellow appropriate monomers/symbols.
Monomers placement and formatting
4.1 Placement should start from the left-most monomer on the top chain that is connected via an H-bond to a monomer on the bottom chain - they should be aligned.
4.2. Monomers who are connected via H-bonds are placed one bellow the other.
4.3. If monomers represented with one symbol are connected to multiple monomers via H-bonds, they should be aligned to the left most monomer who they have an H-bond with.
4.4. Monomers who are connected via hydrogen bonds should have those bonds displayed as dashed lines.
4.5. If in one line there are monomers who are not connected via backbone connections next to each other, there should be a gap between them, and if in the same place on the other line there is a backbone connection, it should be represented with a line (minus).
Removing/adding H-bonds
5.1. Right clicking on a symbol that has no hydrogen bonds with a symbol bellow/above it, should give the option to "Establish Hydrogen Bond". If a symbol has H-bonds the option should be disabled.
5.2. Right licking on a symbol that has any H-bonds should give the option to "Delete Hydrogen Bond". If there are no H-bonds, the option should be disabled.
5.3. If multiple monomers/symbols are selected and at least one of them does not have hydrogen bonds established with the monomer/symbol above/bellow it the option "Establish Hydrogen Bond" should be available from the r-click menu. If all symbols have H-bonds, the option should be disabled.
5.4. If multiple monomers are selected, and any of them have hydrogen bonds, the option "Delete Hydrogen Bond" should be available in the r-click menu. If no selected symbols have H-bonds, the option should be disabled.
5.5. If all hydrogen bonds between two chains are deleted, the user should get a warning message with the title "Deletion of all Hydrogen Bonds", and the text: "Deleting all hydrogen bonds will cause the separation of two chains. Do you wish to proceed?", and options "Cancel" (default) and "Continue".
Editing both chains
6.1. It should be obvious to the user they they are editing both chains (see mockups).
6.2. If a monomer/symbol is added to one side of the chain, an appropriate monomer should be added to the other and connected via hydrogen bonds if applicable.
6.3. If a line (minus) is added to one side of the chain the backbone of the other chain should be broken.
6.4. If a symbol/line is deleted on one side of the chain, the symbol/line on the other side of the chain should also be deleted.
6.5. If a line break (enter) is added, both backbone chains should be broken.
6.6. If a monomer is replaced (by selecting it and choosing a monomer/preset from the library) or changed (RNA builder), only that monomer should be changed, and a hydrogen bond (if it existed) should be preserved.
Editing one chain
7.1. "Edit Both Strands" mode logic is described in requirements 6. "Edit One Strand" mode is described bellow.
7.2. It should be obvious to the user that they are editing only one side of the sense/antisense duplex (see mockups).
7.3. If a monomer/symbol is added to one chain (not to the left of a line), it should have no impact on the other chain (other than extending the backbone (adding lines) if there is a backbone in that place to accommodate the added monomers).
7.4. If a monomer/symbol is added to one chain (to the left of a line), that line is replaced with the newly added monomer.
7.5. The lines can only be added left of a gap. When the user exits "Edit" mode, if the line(s) do not connect monomer symbols, all lines should be deleted. If the lines(s) connect monomer symbols, a new backbone should be established.
7.6. If a symbol is deleted on the chain, it should be replaced with a line. If a line is deleted on the chain, the backbone should be broken.
7.7. If a line break is added, only one chain backbone is broken.
7.8. The logic for updating (select and replace from the library) and modifying (RNA builder) monomers is the same as for editing both chains (requirement 6.6.) - the change does not impact the other chain.
Changing editing mode
UX
TBD
The text was updated successfully, but these errors were encountered: