Before we design the interface, we need to look at the implementation of the panel that is shown when the user clicks "update". We need to know what the actual problem is here, and whether we can simply fix a bug and not have to change the UI.
The current "External View" interface shows an empty panel with three components at the bottom of the panel:
- A button - "settings"
- A menu with options "UCSC" and "Ensembl"
- A button - "update"
When users click "update," some code in IGB sends requests to either UCSC or Ensembl genome browser systems to retrieve image files corresponding to the currently visible region in the IGB main window.
However, as you know, this sometimes fails if (a) the genome being viewed in IGB does not exist in the requested external system or (b) DAS data source is de-activated.
DAS data source activation is controlled in Preferences > Data Sources tab.
When the UCSC option is selected within the External View tab and the user clicks "update," probably what happens is that IGB then requests data from the UCSC DAS data source. (DAS stands for: Distributed Annotation Service.)
If and when this call fails to retrieve the expected data, the External View interface then displays a message that reads:
- "An external viewer is not available for this genome. If you have questions, please contact the IGB team."
There are actually three (possibly more) situations when this message is displayed. These include:
Situation 1: The user has launched IGB but has not yet selected a genome. If the user then opens the "External View" tab and clicks "update", the error message will be displayed.
Situation 2: User has launched IGB and selected a genome for which there is no external view available from UCSC. If the user clicks the "update" button they will see the error message.
Situation 3: User has launched IGB, selected a genome for which there is indeed an external view available at UCSC, but the DAS data source is not active. In this case, the error message will be displayed, as well.
It is possible there could be a very simple fix that not require changing anything apart from how the External View code is contacting and using the UCSC genome browser resource. It depends on what information the External View is needing to retrieve from the data source. It may be something that does not actually require the Distributed Annotation Service. Or it could be a piece of information we can get from a better, more robust source, such as the newer JSON REST service - see: http://genome.ucsc.edu/goldenPath/help/api.html