JBrowse Genome Browser
Relevant source files
The following files were used as context for generating this wiki page:
The JBrowse Genome Browser is a critical visualization component within the platform used to view genomic tracks, including sequences, annotations, and experimental data. It provides an interactive interface for researchers to explore genetic features at various scales, from whole genomes to individual nucleotide levels. The browser is integrated into the workspace and genome view tabs, allowing users to transition from data selection to visual analysis seamlessly.
Sources: public/js/p3/widget/WorkspaceBrowser.js:888-900, public/js/p3/widget/GenomeOverview.js:145-147, public/js/p3/widget/outbreaks/SARSCoV2/HelpDocuments.html:5-6
Architecture and Integration
The platform integrates JBrowse as a specialized viewer within the WorkspaceBrowser and other data-driven widgets. When a user selects specific data types such as TnSeq, Variation, or RNASeq, the system generates dynamic URL query parameters to initialize the JBrowse instance with the correct genome context and track data.
The diagram shows the logic flow from user data selection to the initialization of the genome browser.
Sources: public/js/p3/widget/WorkspaceBrowser.js:888-905
Component Interaction
JBrowse interaction is managed through several key widgets:
- WorkspaceBrowser: Handles the "ViewTracks" action, which identifies the relevant
genomeIdand initiates the browser. - GenomeOverview: Provides a direct link to the "Browser" tab for a specific genome.
- AdvancedSearch: Facilitates navigation to the browser when single genome results are found.
Sources: public/js/p3/widget/WorkspaceBrowser.js:888-890, public/js/p3/widget/GenomeOverview.js:46-50, public/js/p3/widget/AdvancedSearch.js:94-98
Configuration and Plugins
The browser's behavior and available features are controlled via a central configuration file. This includes high-resolution rendering modes and the inclusion of external plugins for advanced visualization.
Key Configuration Parameters
| Parameter | Description | Default/Option |
|---|---|---|
highResolutionMode | Enables high-res rendering for canvas features. | disabled (beta) |
refSeqOrder | Controls the sort order of the reference sequence dropdown. | length ascending |
dataRoot | Sets the default directory for genomic data. | data |
include | Merges additional configuration files for tracks. | {dataRoot}/trackList |
Sources: public/js/jbrowse.conf:34-60
Plugin Integration
The system supports the extension of JBrowse through plugins. A notable example found in the configuration is the multibigwig plugin, which allows for the simultaneous display of multiple BigWig tracks.
Sources: public/js/jbrowse.conf:63-65
Data Flow and Track Loading
Track loading is determined by the input_type and the specific result set of a job. For instance, in RNASeq results, the browser dynamically fetches track parameters before navigation.
The sequence shows how the WorkspaceBrowser coordinates with the WorkspaceManager to retrieve parameters for JBrowse.
Sources: public/js/p3/widget/WorkspaceBrowser.js:892-908
Navigation and User Interface
Users can access the JBrowse interface through multiple entry points:
- Genome Browser Tab: Found within the individual Genome View.
- Services/Action Bar: Specific job results (e.g., SARS-CoV-2 analysis) offer a "Browser" action button.
- Search Results: Navigating directly from an
AdvancedSearchhit for a specific genome.
Sources: public/js/p3/widget/GenomeOverview.js:240-245, public/js/p3/widget/WorkspaceBrowser.js:810-815, public/js/p3/widget/AdvancedSearch.js:94-97
Summary
The JBrowse Genome Browser serves as the primary visual engine for genetic analysis within the platform. By leveraging a modular configuration (jbrowse.conf) and a robust widget-based integration layer, it provides high-resolution, track-based visualization for varied genomic data types including variants, transcriptomics, and annotations. Its tight integration with the workspace allows users to transition rapidly from raw data files to comprehensive visual exploration.
Sources: public/js/jbrowse.conf:1-65, public/js/p3/widget/WorkspaceBrowser.js:888-912