Opening URLs from Jalview

Opening URLs from Jalview
Both the applet and the desktop application are able to open URLs as 'popups' in your web browser.

Double-clicking on the ID of a sequence will open whichever URL is selected for 'popups' in the "Links" tab of the Jalview desktop preferences. This is by default the EMBL-EBI site, but you can easily configure your own sequence URL links.

Other links for a sequence, either derived from any other configured URL links, or imported from the sequence's annotation, are accessed by right clicking to open the sequence pop-up menu, and selecting from the Links submenu.

Configuring URL Links
URL links are defined in the "Links" tab of the Jalview desktop preferences, or specified as applet parameters.

Default Link Settings
The "EMBL-EBI Search" link is the default link shown in the "Link" submenu, and opened when double-clicking on a sequence ID. When clicked, this link will show a web page in your default browser with the selected sequence ID as part of the URL.

Adding additional links
You can configure your own links via the Jalview Preferences dialog. Jalview also provides persistent URLs for many common bioinformatics databases (since 2.10.2). These links are downloaded by Jalview from the identifiers.org website, and the names and URLs are not user editable.

Creating your own URL link
URL links are specified as a template containing special tokens that Jalview will replace with the Sequence ID or Database Accession of the sequence when you double click on its ID or open it's Link submenu. Link URL templates must contain at least one token.

eg.

     UniRef100 =
        http://www.ebi.uniprot.org/uniprot-srv/uniRefView.do?proteinAc=$SEQUENCE_ID$&library=uniref100

        Swissprot = http://www.expasy.org/uniprot/$SEQUENCE_ID$

Links will also be made for any database cross references associated with the sequence for any link templates whose name begins with the database name. In this case, the $DB_ACCESSION$ string will be replaced with the accession string for the database cross-reference, rather than the sequence ID for the sequence (since Jalview 2.10.1).
For example: to create a link for viewing MACiE records from PDB Entries, create a new custom link entry with the name "PDB in MACiE", and link URL template:

    https://www.ebi.ac.uk/thornton-srv/databases/cgi-bin/MACiE/index.pl?query_pdb=1&pdb=$DBACCESSION$

The sequence ID popup menu for seuqences with a PDB entry will now show 'PDB in MACiE|1xyz..' links in the links submenu.

Warning dialog about updating your configured URL links
In the desktop prior to Jalview 2.10.1, the only way to configure custom links for a particular database cross-reference for a sequence was to give it a name that exactly matched the database source, and a regular expression for filtering out any spurious matches generated when the custom linked was tested against the Sequence's ID string. Since the introduction of the $DB_ACCESSION$ token, however, $SEQUENCE_ID$ will not be used for database cross-reference accession strings, and if you have custom links configured, Jalview will raise a warning message so let you know that you may need to update your links to use $DB_ACCESSION$.

Regular Expression Substitution
A url may contain a string of the form $SEQUENCE_ID=/regular expression/=$ or $DB_ACCESSION=/regular expression/=$. In this case, the regular expression will be applied to the full sequence ID or DB accession ID string and the resulting match will be inserted into the URL. Groups of parentheses can be used to specify which regions of the regular expression will be used to generate the URL:

- Each top level parenthesis will yield a URL containing the text matched within that parenthesis.
- Regions matching sub-parentheses within a top-level parenthesis will be concatenated to form the text inserted into the URL for the top-level parenthesis.

Please Note:

- The regular expressions supported by Jalview are those provided by the Stevesoft javaregex package.
- Some characters must be escaped when specifying them as a match within a regular expression.

Many Thanks to Bernd Brandt of the Free University of Amsterdam for testing the regular-expression expansion feature!