last update
2026-April-20
VirJenDB
v1.0
How to Search Using VirJenDB
One of the main features of VirJenDB is the search function. This is what you see right at the front page of the web portal:
A simple input field with a Search button next to it.
Getting started
The simplest thing you can do is to enter a couple of terms into the field and hit Search:
Entering Influenza A virus will search all default metadata fields for the three terms and return any database entries that fulfill all of the following three conditions:
- The term influenza appears in one of the default fields
- The term a appears in one of the default fields
- The term virus appears in one of the default fields
If you want the whole phrase to appear in one of the fields, you can add quotes:
"Influenza A" virus will return all entries having the phrase influenza a in one of the default fields AND also having the term virus in another (or the same) field.
Note: instead of double quotes, you can also use single quotes (‘).
So by default, search terms are separated by spaces and connected via an AND relation. All searches are case insensitive.
Search specific fields + Autocompletion
If you know that your search term is present in a specific field and want to exclude entries where the term appears in another field, specify the field in front of the search term:
If you just start typing ncbi or even family you may notice that below the inut field a dropdown appears, suggesting known field names that match the text you entered. You can use a proposed field by selecting it with the arrow keys and hitting the <Tab> key. This can also be used to explore field names.
A comprehensive list of available fields can be downloaded form our scheme file on Github.
Search a term in several fields
If you want to search several fields for a specific term, you can do so by providing a list of fields, separated by the pipe (|) character:
submitter_country|host_country:germany – this will return all entries fulfilling any of the following two conditions:
- the value of the submitter country field starts with germany
- the value of the host country field starts with germany
Search several terms in a field
The concept of alternative options can also be applied on the right hand side:
submitter_country:germany|france – this would return entries where the submitter country either starts with france or germany.
Combining field and value options
The aforementioned concepts can also be combined:
host_country|submitter_country:germany|france will return any entry fulfilling at least one of the following conditions:
- submitter country starts with germany
- submitter country starts with france
- host country starts with germany
- host country starts with france
Operators
For textual fields, you can choose between an equals relation and an unequal relation:
submitter_country:germany host_country:not:germany
You will find entries fulfilling both conditions:
- submitter country matches germany and
- host country does not start with germany
For numeric fields, there are even more relational operators:
Also, for date fields, you can enter either the four-digit year (2000), year-month (2000-08) or year-month-day (2000-08-15) depending on what you aim for.
Use Tags
There is a set of predefined field-like prefixes you can use to represent defined sets of fields:
- we already mentioned the default tag: It represents a list of fields defined in the scheme, where the option “default_search” is set to true.
- the id tag covers all fields whose names end with either ‘_id’ or ‘_accession’
- the description tag represents all fields whose names end with ‘_description’
- the date tag represents all fields whose names end with ‘_date’
- the country tag represents all fields whose names end with ‘_country’
For example the previous search submitter_country|host_country:germany can be simplified to
country:germany
We plan to provide more useful tags in the future.
Combine conditions
If you want to further narrow down your search, you can add more conditions:
country:germany sequence_length<512 host_species:not:homo
In rare cases, you might be tempted to combine required conditions with alternative conditions. This can be done like the following:
sequence_length<512 ( host_common_name:human | host_species:'homo sapiens' )
This is interpreted as:
Find all entries fulfilling the following two conditions:
- the sequence length is less than 512
- either the host common name matches human or the host species matches homo sapiens