Uploaded image for project: 'UGENE'
  1. UGENE
  2. UGENE-4816

Replacing of characters in alignment

    XMLWordPrintable

    Details

    • Story Points:
      13
    • Tests Type:
      GUI automatic
    • Sprint:
      DEV-10/11/2015
    • Affect Type:
      Userdefined

      Description

      It must be possible to replace characters in a multiple alignment, opened in the Alignment Editor.

      Use case 1:

      1. Open an alignment in the Alignment Editor.
      2. Select one character (e.g. this is character 'A').
        Expected result: the character is selected in the normal mode (i.e. borders of the character are drawn using a dashed line).
      3. Press Shift + R keys on the keyboard.
        Expected result: the character is selected in the replacement mode (i.e. the border of the character are drawn using another color and/or bold).
      4. Press a key on the keyboard with another character of the same alphabet (e.g C key).
        Expected result: the original character of the alignment was replaced with the new one (e.g 'A' was replaced with 'C'). Selection is in normal mode.

      Use case 2:

      1. Open an alignment in the Alignment Editor.
      2. Select one character (e.g. this is character 'A').
        Expected result: the character is selected in the normal mode.
      3. Open the context menu in the sequence area.
        Expected result: the menu contains an item "Edit > Replace character". The item is enabled. A hotkey Shift+R is shown nearby.
      4. Select the item.
        Expected result: the character is selected in the replacement mode.
      5. Press a key on the keyboard with another character of the same alphabet. Use a lower-case character (e.g c key).
        Expected result: the original character of the alignment was replaced with the new one, converted to upper-case (e.g 'A' was replaced with 'C'). Selection is in normal mode.

      Use case 3:
      The same as UC2, except use item "Actions > Edit > Replace character" in the UGENE main menu.

      Use case 4:

      1. Open an alignment in the Alignment Editor.
      2. Select a region with more than one character.
      3. Open the context menu in the sequence area.
        Expected result: the "Edit > Replace character" item is disabled. Selection is in normal mode.
      4. Open "Actions > Edit" in the main menu.
        Expected result: the "Replace character" item is disabled. Selection is in normal mode.
      5. Press Shift + R keys on the keyboard.
        Expected result: Nothing happens. Selection is in normal mode.

      Use case 5:

      1. Open an alignment in the Alignment Editor.
      2. Replace a character by another one, so that the alphabet of the alignment has changed (alphabets are changed according to the rules, described in UGENE-4804).
        Expected result:
        • The original character was replaced by the new one.
        • The alphabet of the alignment has been changed.
        • 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" is one of the values: "Standard DNA", "Extended DNA", "Standard RNA", "Extended RNA", "Standard amino acid", "Extended amino acid", "Raw".

      Use case 6:

      1. Open an alignment in the Alignment Editor.
      2. Replace a character by another one, so that the alphabet of the alignment has changed.
        Expected result: The warning notification appears.
      3. Click "Undo".
        Expected state: There is NO notifications.
      4. Click "Redo".
        Expected state: The warning notification appears again.

      Use case 7:

      1. Open an alignment of the "Standard amino acid" alphabet in the Alignment Editor.
      2. Replace a character by 'A' (the 'A' character is included both into nucleotide and amino acid alphabets).
        Expected result:
        • The original character was replaced by the new one.
        • The alphabet is still the same.
        • There is NO notifications.

      Use case 8:

      1. Open an alignment.
      2. Select a character and make active the replacement mode for it.
      3. Click another character in the alignment.
        Expected result: the first character is no more in the replacement mode.

      Use case 9:

      1. Open an alignment.
      2. Select a character and make active the replacement mode for it.
      3. Open the Options Panel.
        Expected result: the character is no more in the replacement mode.

      Use case 10:

      1. Open an alignment.
      2. Select a character and make active the replacement mode for it.
      3. Click somewhere else inside the Alignment Editor window.
        Expected result: the character is no more in the replacement mode.

      Use case 11:

      1. Open a sequence.
      2. Open an alignment.
      3. Select a character and make active the replacement mode for it.
      4. Open the window with sequence.
      5. Open back the Alignment Editor window.
        Expected result: the character is no more in the replacement mode.

      Use case 12:

      1. Open an alignment.
      2. Select a character and make active the replacement mode for it.
      3. Replace the character by another character not from "A..Z a..z - –" character set.
        Expected result:
        • An error notification appears:

          It is not possible to insert the character into the alignment. Please use a character from set A-Z (upper-case or lower-case) or the gap character ('Space', '-', or '–').

        • The original character was not modified.
        • The replacement mode is NO MORE active.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              artyom_s Artyom Savchenko
              Reporter:
              oigl Olga Golosova
              Assigned Tester:
              Denis Kandrov
              Watchers:
              3 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: