AmiGO 2 Manual: Search
AmiGO 2 now provides a powerful method of rapidly searching using pre-computed indexes. In addition to speed, Search provides boolean operators, wildcards, and fuzzy searches.
The largest initial difference, when compared to the traditional AmiGO search, is that results are returned incrementally as you type or manipulate the filters. It should be noted that the search only increments when typing when there are over three characters entered and when you are typing forward with standard characters (spaces, backspaces, and the like will not increment the search).
If you wish to search for an exact simple keyword, like nucleus, you should either add a space after the word or use quotes around the word "nucleus".
For our first example, let's say that you want to search for pleckstrin. As you type it in, you will get results incrementally returned for ple, plec, and finally pleckstrin. If you continued and entered:
You would get a list of annotation that contain in their record pleckstrin, domain, or both (see #Boolean Operators below). Finally, if you want to search for the phrase pleckstrin domain, where the words occur side by side, you would have to put the phrase in quotes:
Boolean Operators (and/or/-)
You may also use boolean logic and nesting in the search. For example, if you wanted to see all records that contain both pleckstrin and domain in them, you would enter:
pleckstrin and domain
To exclude domain from pleckstrin results, you would enter:
pleckstrin and -domain
To get everything that has, pleckstrin, domain, or both, you would enter:
pleckstrin or domain
pleckstrin or domain pleckstrin domain
Are functionally equivalent--spaces between words are considered to be an implicit or. This is the reason that you need to quote phrases when you want them to appear together.
We can also nest our boolean search with parentheses. If you wanted to search for top in conjunction with either alpha or beta, you would enter:
top and (alpha or beta)
For more about the results from top (and why there are not as many as you think), please see the next section.
The default mode of the Search component is to apply a wildcard ("*") to the end of any search token that does not have a space after it.
Filtering and Facets
The annotations, terms, and gene product searches have different (and hopefully self-explanatory) filters that you can apply to them to reduce the number of returned results. Let's say that you've search for the phrase:
And wish to just see the results for RGD. You can do this by clicking the "RGD" item in the "Data source" filter box. Multiple filters can be added by holding a control key (varies by operating system and browser) while clicking on filters. Any combination of filters may be added; to remove a filter set, click on "No filter" item, the first item in each filter set.
For full information about the query syntax and special characters, please see the Lucene documentation.
Additional Search Fields
See the schema details introspection tool.
Fuzzy Searches and Levenshtein Distance
This section is not yet complete. In the meantime, please see the Lucene documentation. All of the documentation there should be valid for AmiGO.
In addition to the types of searches listed above, there are also more exotic types of search that involve ranges, proximity, optional wildcards, boosting, result weights, and others. Unfortunately, these are outside the scope of this document, but are part of the standard syntax. For a more in-depth look at these, please see the Lucene documentation.
Example search flows using AmiGO 2 can be found here.