JBrowseMSA user guide

June 20, 2026 · View on GitHub

JBrowseMSA (the react-msaview package) is an interactive multiple sequence alignment viewer that runs entirely in the browser. It renders a phylogenetic tree alongside a protein or nucleotide alignment on HTML5 canvas, using tiled scrolling so it stays responsive on very large inputs (it can render the 230k- node UCSC SARS-CoV-2 sample tree). Nothing is uploaded — your data is parsed and drawn locally.

This guide tours the live app. Every figure below links to a live version of the app loaded into that exact state via the ?data= URL parameter — click any screenshot to open and explore it yourself. To embed the viewer in your own React/HTML/R code instead, see the embedding guide.

Getting started

Open the app and you land on the import form.

The import form, with preloaded examples — a 230k-node COVID tree from UCSC, CLUSTAL-formatted alignments, RNA and protein Stockholm files, and a large tree+MSA generated by MAFFT. Click any example to load it, or supply your own data with the file/URL/paste inputs below.

You can load an alignment on its own, a tree on its own, or both together. When both are present, rows are ordered and connected to match the tree.

Loading your own data

The import form accepts a pasted string, a local file, or a remote URL for each of the alignment, the tree, and (optionally) a domain-annotation track.

InputFormats
AlignmentFASTA (gaps already inserted), Stockholm (.stock, single or multi-alignment, may embed a tree and SS), Clustal (.aln), A3M, EMF
TreeNewick (.nh), or the tree embedded in a Stockholm/EMF file
DomainsInterProScan GFF3 (generate it with the CLI)

Stockholm files may carry both the tree and a secondary-structure annotation inline, so a single file can populate the whole view. A "multi-Stockholm" file with several alignments is supported too.

A tour of the viewer

Once data is loaded the view has four parts:

  • Tree panel (left) — the phylogeny, with clickable branch nodes.
  • Alignment panel (right) — the residues, colored by the active scheme.
  • Header (top) — menu buttons for files, color schemes, and tree/MSA settings, plus zoom controls.
  • Minimap & conservation track — an overview ruler above the alignment for fast navigation and a per-column conservation histogram.

Hovering a column highlights the corresponding position across rows (and on the tree), making it easy to read a single site down the whole family.

  • Pan by click-dragging the alignment, or scroll vertically/horizontally.
  • Zoom with the magnifier buttons in the header, or enable scroll zoom (MSA settings menu) to zoom with the mouse wheel.
  • Fit the alignment to the window — fit both axes, horizontally, or vertically — from the zoom controls, and Reset zoom returns to defaults.
  • Set tiny row height / column width to "zoom out" far enough to see big-picture patterns across a large alignment at a glance.

Color schemes

Open the palette menu in the header to switch schemes live.

The color-scheme menu. Protein schemes include clustal, maeditor, lesk, cinema, flower, and the jalview family (hydrophobicity, taylor, zappo, buried, and the propensity schemes); nucleotide schemes include nucleotide, rainbow_dna, and clustalx_dna.

Two schemes are dynamic — they color each column from statistics about the residues in that column rather than from a fixed per-letter table:

clustalx_protein_dynamic — ClustalX-style coloring driven by per-column composition.

percent_identity_dynamic — columns shaded by their percent identity, so conserved sites stand out.

Working with the tree

Click a branch node to collapse that subtree. Collapsing also hides any alignment columns that consist only of gaps introduced by the collapsed rows, so the alignment tightens up as you fold clades away.

A collapsed subtree, drawn as a triangle labelled with its tip count (here 3). The rows beneath it are hidden and the gap-only columns they introduced are removed.

The tree settings menu toggles branch-length rendering, right-aligned vs tree-adjacent labels, and clickable branch bubbles. You can also compute a neighbor-joining tree (BLOSUM62) directly from an alignment that arrived without one.

Protein domains

Load an InterProScan GFF3 track (from the import form, the Open domains… menu item, or by querying InterProScan from within the app) to overlay protein domains on the alignment. Each protein's domain coordinates are translated into MSA coordinate space, so they line up across the family even where alignment gaps shift the underlying sequence positions.

A real Src-family kinase family (SRC, YES, FYN, FGR, HCK, LYN, LCK, BLK) with its tree and real InterProScan domains generated by react-msaview-cli interproscan. Zoomed out to full length, the shared SH3, SH2, and tyrosine-kinase catalytic domain architecture lines up across every member.

Viewing metadata

Alignment file headers and per-sequence information are available from the Metadata dialog (file menu).

The metadata dialog showing the CLUSTAL header and the raw sequences, with options to copy them and to show/hide gaps.

Sharing and exporting

  • Share a session by copying the page URL — the full view state (data, colors, zoom, collapsed clades) is encoded in it, so a collaborator who opens the link sees exactly what you see.
  • Export an image with Export SVG (file menu) for a crisp, scalable figure of the current viewport or the entire alignment, optionally including the minimap and annotation tracks.

The Export SVG dialog — choose the whole alignment or just the current viewport, and whether to include the minimap and tracks.

Settings reference

The More settings dialog gathers the less-common options, including the color-scheme editor and tree/MSA layout controls.

The settings panel, with the color-scheme editor and other layout options.

Scaling to large data

Both axes are tiled, so memory and draw time scale with what's on screen rather than with the size of the file.

A real ~60-sequence ncRNA family (the Rfam Lysine riboswitch, RF00168) rendered with its full inferred tree and secondary-structure annotation, both extracted straight from the Stockholm file — the canvas tiling holds up well past toy- sized data.

  • Embed the viewer in your own app — see the embedding guide for React, the UMD-in-HTML bundle, and the R package.
  • jbrowse-plugin-msaview — a JBrowse 2 plugin that shows an MSA alongside genome-browser panels (demo).
  • ProteinBrowser — a fuller suite of protein-analysis tools built on this viewer.