Hysen Labs
Open-source project
GMOD/jbrowse-components avatar
GMOD

jbrowse-components

Source code for JBrowse 2, a modern React-based genome browser

292 stars87 forksTypeScriptApache-2.0
DEEP OPEN-SOURCE ANALYSIS

JBrowse 2 is a pluggable genome browser

An open source genome browser that runs as a web app, a desktop app, and embeddable React components for visualizing genomic data.

Views and track types

JBrowse 2 is a pluggable, open source genome browser. It runs in three forms: a web application, a desktop application for Mac, Windows, and Linux, and embeddable React components you can drop into another app. The set of views is broad. There is a linear genome view, a circular view, a dotplot, a synteny view for comparing genomes, and a spreadsheet view. On top of those views sit track types for common genomic data: alignments in BAM and CRAM, variants and structural variants, and quantitative or coverage tracks, among others. That range lets a researcher look at the same region through several lenses without leaving the tool. The README frames the browser as modular, meaning views and tracks can be mixed and extended rather than fixed in one layout. For a project whose job is to display DNA, RNA, and protein evidence, supporting both a quick linear scan and a side by side synteny comparison in one package is the core value. The desktop and web builds share the same rendering pipeline, so a view you design in the browser behaves the same when packaged natively. The gallery linked from the README shows live interactive instances of each view and track type so a newcomer can see the capabilities before installing.

Hosting and embedding

The web app is described as static site compatible, which means it is pure client side JavaScript, CSS, and HTML that you can host anywhere without a server. That property matters because a lab can put JBrowse 2 on a simple file host or a content delivery network and still get a full browser, no backend required. The stack is React, TypeScript, and the project's own @jbrowse/mobx-state-tree for state. For people who want a native experience, the desktop app is available as a download for the three operating systems. For developers who want to embed a view inside their own product, the README links a tutorial for embedding a Linear Genome View as React components. The split between download, web quickstart, and embed tutorial covers the three ways someone actually adopts the tool: install it, host it, or build on it. Because the embedding path exposes the same components the apps use, a custom dashboard can stay consistent with the official browser. The documentation home gathers the user guide, config guide, developer guide, and CLI reference in one place, so the learning curve is supported regardless of which adoption route you take. The web app's serverless nature keeps deployment cheap and portable.

Docs, publications, and contributing

The documentation set is organized by task. The docs home holds the user guide, config guide, developer guide, and CLI reference. Tutorials are grouped by topic such as synteny, structural variants, methylation, and RNA-seq, with the note that some are upcoming in the v5.0.0 release. A FAQ addresses common questions, and a gallery plus a feature list show what the browser can display. The project also lists four publications, which is unusual for a tool README and signals academic backing: a 2023 paper on the modular browser with synteny and structural variation views, a 2024 paper on setting it up, a 2025 paper on visualizing genome synteny, and a 2026 paper on integrating proteins, phylogenies, alignments, and structures with nucleotide level evidence. Those citations help researchers cite the tool in methods sections. For contributors, the README points to CONTRIBUTING.md for setup and to an architecture document that explains the rendering pipeline and core design. The contributor covenant badge indicates the project adopts a code of conduct. The combination of tutorials, a cited paper trail, and an explicit architecture guide gives both first time users and new developers a clear on ramp into a sizable TypeScript codebase. The listed papers give the browser a standing in research that most front end tools lack. A lab choosing JBrowse 2 can cite those references in a methods section, which helps when reviewers ask why a particular visualization tool was picked for a study.

Editorial conclusion

JBrowse 2 is licensed under Apache-2.0 and written in TypeScript with React, and it ships as a web app, desktop app, and embeddable components.

DEEP OPEN-SOURCE ANALYSIS

Official sources

Community notes

Community notes