jbrowse-plugin-msaview
May 7, 2026 ยท View on GitHub
This plugin packages https://github.com/gmod/react-msaview for usage inside of JBrowse 2
See the docs for the react-msaview for more info https://github.com/GMOD/react-msaview/blob/main/docs/user_guide.md
Gallery

MSAView plugin running in JBrowse 2
Demo
Features
- Vertical virtualized scrolling of phylogenetic tree
- Vertical and horizontal virtualized scrolling of multiple sequence alignment
- View metadata about alignment from MSA headers (e.g. stockholm)
- Collapse subtrees with click action on branches which also hides gaps that were introduced by that subtree in the rest of the alignment
- Allows "zooming out" by setting tiny rowHeight/colWidth settings
- Allows changing color schemes, with jalview, clustal, and other color schemes
- Allows toggling the branch length rendering for the phylogenetic tree
- Can share sessions with other users which will send relevant settings and links to files to automatically open your results
- The tree or the MSA panel can be loaded separately from each other
File format supports
- FASTA formatted for MSA (e.g. gaps already inserted)
- Stockholm files (e.g. .stock file, with or without embedded newick tree, uses stockholm-js parser. also supports "multi-stockholm" files with multiple alignments embedded in a single file)
- Clustal files (e.g. .aln file, uses clustal-js parser)
- Newick (tree can be loaded separately as a .nh file)
Publication
If you find this tool useful please cite our work
Diesh, C., Stevens, G., Bridge, C., Hogue, G., Buels, R., Cain, S., Stein, L., & Holmes, I. (2026). Proteins in the Genome Browser: Integration of Phylogenies, Alignments, and Structures With Nucleotide-level Evidence in JBrowse 2. Journal of Molecular Biology, 169645. https://doi.org/10.1016/j.jmb.2026.169645
See also https://github.com/GMOD/proteinbrowser for overview
Availability
This plugin is installed by default on https://genomes.jbrowse.org so you can use it on any species there
Programmatic usage
See DEVELOPERS.md
Publishing
just push a new tag using e.g.
pnpm version minor