Current problem
Modification of an alignment alphabet after pasting of data into the alignment must be handled similarly to other use cases (see UGENE-4804, UGENE-4833, UGENE-4816).
Required solution
Actions
Apply modification for the following actions:
- Pasting of raw data with one sequence into an alignment.
- Pasting of raw data with several sequences into an alignment (divided by Unix/Mac OS X new line "\n").
- Pasting of raw data with several sequences into an alignment (divided by Windows new line "\r\n").
- Pasting of formatted data with one sequence into an alignment (e.g. pasting of a GenBank file).
- Pasting of formatted data with several sequences into an alignment (e.g. pasting of a multi-FASTA).
- Pasting of URI to a file with one sequence into an alignment.
- Pasting of URI to a file with several sequences into an alignment.
Note that there are three sources to launch the actions (each of them must be covered in GUI tests):
- "Actions > Copy/Paste > Paste" item of the main menu is used.
- "Copy/Paste > Paste" item of the alignment context menu.
- Using hotkey (Ctrl+V for Windows and Linux, Cmd+V for Mac OS X).
Rules for Switching Alphabets
See the description of rules in UGENE-4804.
Use Cases
For each action, specified above, make sure that the following scenarios work properly in accordance with the alphabets switching rules.
Use case 1:
- Open an alignment with some alphabet.
- Do the action for a sequence (or sequences) of the same alphabet.
Expected state:- For actions 1, 4, 6: The sequence was added to the bottom of the alignment.
For actions 2, 3, 5, 7: The sequences were added to the bottom of the alignment. - There are NO notifications.
- For actions 1, 4, 6: The sequence was added to the bottom of the alignment.
Use case 2 (for actions 1, 4, 6):
- Open an alignment with some alphabet.
- Use a sequence of another alphabet.
Expected state:- For actions 1, 4, 6: The sequence was added to the bottom of the alignment.
For actions 2, 3, 5, 7 (see UCs below): The sequences were added to the bottom of the alignment. - A warning notification appears:
The alignment has been modified, so that its alphabet has been switched from "%1" to "%2". Use "Undo", if you'd like to restore the original alignment.
Here "%1" and "%2" are taken from values: "Standard DNA", "Extended DNA", "Standard RNA", "Extended RNA", "Standard amino acid", "Extended amino acid", "Raw".
- For actions 1, 4, 6: The sequence was added to the bottom of the alignment.
- Undo the modifications.
Expected state:- The alignment has been reverted to the previous state.
- There are NO notifications.
Use case 3 (for actions 2, 3, 5, 7):
Similar to UC2. The alphabet of the first sequence of the several added sequences differs.
Use case 4 (for actions 2, 3, 5, 7):
Similar to UC2. The alphabet of a sequence in the middle of the several added sequences differs.
Use case 5 (for actions 2, 3, 5, 7):
Similar to UC2.
- The alphabet of the alignment is "Standard DNA".
- The alphabet of the first sequence of the several added is "Extended DNA".
- The alphabet of the last sequence of the several added is "Standard amino acid".
Use case 6:
- Open an alignment with some alphabet.
- Do the action for a sequence (or sequences) of another alphabet.
Expected state: The warning notification appears. - Click "Undo".
Expected state: There are NO notifications. - Click "Redo".
Expected state: The warning notification appears again.
- is blocked by
-
UGENE-4910 Pasting raw data with several sequences into alignment
- Closed
- relates to
-
UGENE-4764 Develop application level clipboard architecture
- Closed
-
UGENE-4804 Incosistent alphabet deriving for alignments
- Closed
-
UGENE-4816 Replacing of characters in alignment
- Closed
-
UGENE-4833 Incosistent alphabet deriving for alignments: remained use cases
- Closed