Add a new tab "Search in Alignment" to the options panel in the Alignment Editor (AE). It should be located under the "General" tab. The tab icon should be the same as in the "Search in Sequence" tab of the Sequence View (SV) options panel (see "search_icon.png").
"Search in Alignment" options panel tab layout
See approximate layout of the tab in the "search_in_alignment.png" image. There are the following widgets:
- "Search for" label and text box. See description of the search text field below.
- "Results" label
- "Previous" and "Next" buttons
- "Search algorithm" group (closed by default) with "Algorithm" label and a combo box with values: "Exact", "InsDel", "Substitute", "Regular expression". Additional widgets appear when the last three values are selected - the same as on the SV "Search in Sequence" tab in similar scenarios.
- "Search in" group (closed by default) with "Alignment columns" label and a combo box with values "Whole alignment", "Custom columns region" and "Selected columns region". When "Custom columns region" is selected two widgets for coordinates should appear similarly to SV when "Custom region" value is selected on the options panel.
- "Other settings" group (closed by default) - it should be similar to the same group in the "Search in Sequence" tab.
- Possibly, additional info/error message labels. By default the following message is shown in green:
"Info: please input at least one sequence pattern to search for."
This info message should be shown when the "search text field" is empty.
- "Help" button
Allowed characters in the "search text field"
- When the search algorithm is "Exact", "InsDel" or "Substitute", it should be possible to input characters of all alphabets (nucleotide and amino acids) into the search text field, but not a gap character ("-"). When the algorithm is "Regular expression", it should be possible to input characters for a regexp.
- It should be possible to paste data from the clipboard to the text box, however, not allowed characters should be filtered out in this case.
Remember settings in the AE window
The settings should be kept on the options panel tab reopening, e. g. when a group is opened, the tab is closed/reopened, the group should still be opened.
The search settings also should be stored.
Different data buffers should be used to store a value of the "search text field" when characters search algorithms ("Exact", "InsDel" or "Substitute") and the "Regular expression" algorithm are set.
Remove search options from the AE status bar
Remove widgets from the AE status bar (see "find_on_status_bar.png"): "Find:" label, text box for inputting the pattern, the left and the right arrows buttons.
Search action
When a user inputs a pattern into the "Search for" text box, the search task should be immediately started automatically. As in the SV, if a user modified the pattern, the previous tasks are cancelled and a new task is initiated each time.
The search should not take into account gaps. It should take into account the settings, configured in the widgets (described above). When searching in a region, make sure to correctly calculate coordinates of character in a sequence (gaps should be taken into account in this case).
After the search is done, display the correct number of results in the "Results" label. The first result should be selected (not highlighted as in the current version).
Input character of other alphabets
For now, implement the same behavior as in the SV:
- Extended nucleotide alphabet can be used when the "Substitute" algorithm is used and "Search with ambiguous bases" option is checked.
- If the current alphabet of the alignment does not correspond to the input pattern (taking into account the exception above), color the search field background with the standard red color and show a warning (see below). Do not search for results in this case.
Possible erroneous scenarios
On an erroneous scenarios change the search field background color to the standard red color and show the corresponding message. The list of possible cases/messages:
- Too long pattern:
"The value is longer than the search region. Please input a shorter value or select another region!"
- Another alphabet: 1) extended nucleotide alphabet when "Search with ambiguous bases" is not checked, 2) amino acid alphabet when the sequence is nucleotide
"Warning: input value contains characters that do not match the active alphabet!"
- Invalid regular expression:
"Warning: invalid regexp."
- Too big alignment: (please describe the exact conditions for this scenario in a comment to this issue)
"Warning: current alignment is too big to search in."
- relates to
-
UGENE-6667 "Search in alignment" option works wrong if collapsing mode is enabled
- Closed
-
UGENE-6681 Search in multiple alignment: support patterns formatted in FASTA
- Closed
- mentioned in
-
Page Loading...