Update the representation of sense and antisense chains in sequence mode (2/2) #6254
Labels
Antisense
Bucket: Antisense related issues
Hydrogen bonds
Bucket: Bugs related to Hydrogen bonds
Sequence mode
Bucket: Sequence mode related issues
Test Cases Written
Test cases has been written for that issue
Milestone
Background
Continuation of the ticket from the previous release: #5942
Summary of differences between editing both chains and editing one chain
Removing/adding H-bonds
1.1. Right clicking on a symbol that has no hydrogen bonds with a symbol bellow/above it, should give the option to "Establish Hydrogen Bonds". If a symbol has H-bonds with a symbol opposite it, or there is no monomer opposite it, the option should be disabled.
1.2. Right licking on a symbol that has any H-bonds should give the option to "Delete Hydrogen Bonds". If there are no H-bonds, the option should be disabled.
1.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 Bonds" should be available from the r-click menu. If all symbols have H-bonds, the option should be disabled.
1.4. If multiple monomers are selected, and any of them have hydrogen bonds, the option "Delete Hydrogen Bonds" should be available in the r-click menu. If no selected symbols have H-bonds, the option should be disabled.
1.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
2.1. It should be obvious to the user they they are editing both chains (see mockups).
2.2. If a line break (enter) is added, both backbone chains should be broken.
2.3. If a line (minus) is added to one side of the chain the backbone of the other chain should be broken.
2.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.
Editing one chain
3.1. It should be obvious to the user that they are editing only one side of the sense/antisense duplex (see mockups) by graying out/dimming the chain that is not being edited.
3.2. 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).
3.3. If a monomer/symbol is added to one chain (to the left of a line), that line is replaced with the newly added monomer.
3.4. 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.
3.5. 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.
3.6. If a line break is added, only one chain backbone is broken.
Changing editing mode
4.1. The sync/non-sync switcher should be placed on the main toolbar and be visible only when there is at least one double stranded sequence on canvas. The default edit mode is sync (the toggle is on).
4.2. When a double stranded sequence is created (loaded from a file, pasted, or created using the "Create RNA/DNA Antisense Strand" icon #6252) the sync/non-sync switcher should appear and be toggled on by default.
4.3. When in view mode, right clicking on any monomer in a double stranded sequence should still give the option to "Edit Sequence". Based on the mode chosen by the sync switcher either the editing both chains/sync editing is entered or editing one chain/non-sync editing is entered.
4.4. While in edit mode, changing the sync switcher changes the editing mode.
UX
TBD
grayed out chain, editing one chain
removing and adding H-bonds in the drop-down menu
sync button
The text was updated successfully, but these errors were encountered: