The most visible search function is the search field shown on the homepage and in the navigation header on any internal page. This is intended to be a relatively “smart” and quick way to access data using a number of unique identifiers. The search logic is as follows:
If the search term returns a unique match for a protein name, alias or “slug” (name without special characters, and whitespace converted to single dashes), or if the search term matches one of the external accession IDs of a given protein, then the user is redirected to the protein page.
If the search term matches a DOI, or unique family name of one of the authors in the database, then the user is redirected to the corresponding reference or author page, respectively.
If the search term matches the beginning of the scientific name of one of the organisms in the database (e.g. “Aequorea”), then the user is redirected to the corresponding organism page (in the case of multiple hits, the user is directed to the organism with more derived proteins in the database… a more specific search term may be used for less common organisms, such as “Aequorea macrodactyla” ).
Lastly, if the search query provides no unique hits following the aforementioned logic, then the user is redirected to the advanced protein search page, which is prepopulated with proteins whose names are similar to the search term (based on PostgreSQL “trigram similarity”).