Proteins on genomes.jbrowse.org
TL;DR: genomes.jbrowse.org loads the protein3d and msaview plugins, so any gene in a linear genome view can be taken to a 3D structure or to a cross-species protein MSA with nothing prepared beforehand. Both views stay linked to the genome, so hovering a variant highlights the residue it lands on.
Prerequisites
- nothing to install: this is a click-path through hosted sites, and no sequence, structure, alignment or tree is prepared by hand
- to add these views to your own JBrowse instead, see Adding the plugins to your own instance
Where the data comes from
genomes.jbrowse.org's hosted hg38 config carries the gene track the examples below click through; the protein3d and msaview plugins resolve everything else live, per gene, from the services beside them.
- hg38: https://jbrowse.org/ucsc/hg38/config.json
- AlphaFold DB, where a launched structure comes from: https://alphafold.ebi.ac.uk/
- UniProt, the isoform mapping and the projected Domains, Chains, Mutations and AA Modifications tracks: https://www.uniprot.org/
- NCBI's ortholog report, the MSA's rows: https://www.ncbi.nlm.nih.gov/datasets/docs/v2/reference-docs/rest-api/
- NCBI's Conserved Domain Database, the alignment's overlay: https://www.ncbi.nlm.nih.gov/Structure/cdd/cdd.shtml
Two ways to open a protein view
Two hosted sites reach the same three linked views, and they suit different starting points.
genomes.jbrowse.org is the one to take when you are already looking at a genome. It hosts a JBrowse instance for every UCSC genome, each carrying that genome's UCSC track catalog, and each loading both protein plugins. Search a gene, right-click it, and the two launchers are in the menu. It works on any gene in any of those genomes, and the rest of this page walks that route.
The JBrowseMSA Gene Explorer is
the one to take when the gene is what you have. Pick a species, type a gene
symbol, and Open in JBrowse opens a session with all three views already
built and connected. It takes a gene and a taxon in its own URL, so
?gene=TP53&taxon=9606
arrives with the gene resolved and one button left to press.
The Gene Explorer's genome view collapses the introns, so the coding exons sit side by side and the whole CDS is on screen at residue zoom. Its catalog is seven species: human genes arrive with all three views, and mouse, zebrafish, fly, worm, plant and yeast arrive as a genome view and a structure. The right-click route works on every genome the site hosts.
Launching a structure
Open hg38 on genomes.jbrowse.org and type TP53
into the location box. The hosted config ships a name index, so gene symbols
work with no setup.
Right-click the gene. The menu carries one launcher from each plugin: Launch protein view from protein3d, and Launch MSA view from msaview, which the next section takes. Choose Launch protein view.
The dialog opens on its AlphaFoldDB search tab with Auto-detect using UniProt ID mapping API selected, and fills itself in from the transcript you clicked: it maps the transcript's accession to UniProt entries, lists what it found, and picks the reviewed one. Below that, Choose transcript isoform picks which transcript becomes the query, tagging the isoforms whose translation matches the structure's own residues. Launch renders the structure with Mol*.
The structure the dialog resolves carries its own sequence, which often differs from the translation of the transcript you clicked: an AlphaFold model covers one UniProt isoform, and a PDB entry can be a construct, a fragment or another species. When the two differ the dialog says so and aligns them in the browser before mapping any position. The gear beside that notice opens Alignment settings, which switches between Smith-Waterman (local alignment), the default and the one to keep for a structure covering part of the protein, and Needleman-Wunsch (global alignment); Import manual alignment... takes a pairwise alignment in Clustal format instead. The same options sit under Advanced... in the view menu afterwards.
The structure arrives with the genome view still above it, and the two are connected. Hovering a genomic position highlights the matching residue on the structure, on the pairwise alignment above it, and in the per-residue tracks beside them; hovering the structure highlights the genomic position.
Both views map a genomic position to a residue through the transcript's CDS with g2p_mapper, so a highlight needs a position with a residue under it. Introns and UTRs have none, and neither does a residue the structure is missing, which shows up as a gap in the Pairwise alignment panel above the structure. That panel carries the transcript row against the structure row with a consensus line, which is where a mapping can be read off. Folding the transcript's own sequence with AlphaFold gives an exact correspondence.
The lookup needs a gene feature carrying a recognizable protein or transcript ID, and the RefSeq gene tracks on the hosted configs carry them.
The protein view carries the AlphaFold structure, the genome-to-structure sequence alignment, and per-residue tracks for pLDDT confidence, domains, helices and hydrophobicity. The gear beside the dialog's Launch button opens Launch settings, whose side-by-side option puts the protein view beside the genome view.
Other views the Launch menu builds
The arrow beside Launch lists everything the dialog can build.
Launch 1D protein annotation view opens a linear genome view whose genome is the protein. The plugin registers the UniProt accession as a temporary assembly whose reference sequence is the amino-acid sequence, then adds a track per UniProt feature type over it, plus Antigen, Variation, AlphaFold confidence (pLDDT) and AlphaMissense scores. The view opens empty, and the tracks are in its selector under Session tracks. Coordinates are residues, so this is the view to take when the question is where along the chain something falls. It needs a session it can add tracks to, so it is absent from the single-view embedded components.
The dialog's other two tabs take a structure from somewhere else: Foldseek search finds structures resembling the protein's own, and Open file manually takes a PDB or mmCIF file of yours.
Launching an MSA
Launch MSA view, the msaview item on the same right-click menu, builds a cross-species protein MSA. The dialog opens on its Orthologs (fast) tab, and three fields on it matter:
- Query species is the species the gene came from. It is free text resolved against NCBI's taxonomy, so a scientific name, a common name or a taxon id all work.
- Rows to align is how many species to build. NCBI orders its ortholog report from the reference organisms outward, so this takes the closest N of however many that gene has.
- Choose isoform picks which transcript becomes the query row. That row is the one the genome view stays linked to, so hovering the alignment highlights the matching codons back in the linear view.
MSA Algorithm is what EBI is asked to run, Clustal Omega by default, and it is where the wait is. The cost scales with the row count, so Rows to align trades panel depth against wait time.
NCBI publishes one ortholog gene per species for most annotated genes, and this tab looks that up per species; the lookup returns immediately. A gene with no resolvable symbol goes through the dialog's NCBI BLAST query tab.
Press Submit. A multiple sequence alignment view opens below the genome view, with a tree on the left, the alignment beside it, and the conserved-domain overlay drawn over the residues once NCBI returns it.
The view opens at residue zoom, which on a long protein is a window on its N terminus. Fit horizontally, under the toolbar's fit and zoom button, puts the whole alignment on screen, which is the zoom the domain blocks read at.
The figures below take NLRP1, an inflammasome sensor whose domain architecture varies between mammals.
Reading the overlay
Each colored block is an NCBI conserved domain, drawn in alignment columns: the same domain lands in the same column in every row that has it, whatever the proteins' lengths.
Human NLRP1 carries a pyrin (PYD) death-fold domain at its N terminus. Some rows have it and some do not, mouse Nlrp1a among those that do not, so the overlay reads as a block on the left that comes and goes down the panel against a stack to the right of it that every row shares. The aligner's tree orders the rows, so the rows that have it sit together.
The shared core is the control: NACHT, the winged helix, HD2, FIIND and CARD run across every row.
The calls ride along on NCBI's own protein records, so they arrive with the sequences. For a protein NCBI has no calls for, File → Annotations → Open InterProScan results... reads them from a file and File → Annotations → Query InterProScan... computes them.
Checking the overlay against the residues
A whole-protein view cannot tell "no domain annotated" from "no sequence", so read the residues. The zoom the view opened at is already the right one: scroll back to it, or use the alignment's Zoom in button until the letters return.
An alignment is as long as its longest row, so its leftmost columns belong to whichever protein reaches furthest past the others, which on a panel this wide is one or two rows' private N-terminal extensions. Hide columns w/ >N% gaps, the slider in the alignment's toolbar, brings the columns the panel shares (the pyrin among them) to the left edge.
The rows without a pyrin block come in three kinds: ordinary residues under those columns with nothing called over them; a generic death-domain call in place of the pyrin-specific one; and gap right across the frame, where the row begins further right in the alignment. The third kind is the absent sequence.
The same domains in genome coordinates
The overlay's calls come from NCBI's conserved-domain database. UniProt annotates the same proteins independently, and UCSC projects those annotations back onto the genome, so the hosted config already carries them as ordinary tracks: UniProt - Domains, under Genes and Gene Predictions, is the domain architecture in genomic coordinates.
Turn it on in the linear view you launched from and the human row's blocks have
a counterpart under the gene. NLRP1 is transcribed right to left, so the pyrin
block sits at the right-hand end of the gene, where its N terminus is, and
NACHT, FIIND and CARD follow it leftward. These are projections of protein spans
through exons, so a domain drawn once in the alignment is drawn once per isoform
here, and the ones that share exons overlap. Filter by... → Edit filters...
on the track menu narrows that to one record: the figure below keeps the
features whose uniProtId is the gene's reviewed entry. The neighbouring
UniProt - Chains, Mutations and AA Modifications tracks are the same
projection of the rest of the record.
Trying other genes
The same click-path works on any gene in the view whose symbol NCBI recognises. What changes between genes is how far down the tree the panel reaches, and the tree on the left is where you read it. Every NLRP1 ortholog NCBI has is a mammal, so the panel stops at mammals however high Rows to align is set, while the same click-path on CFTR reaches birds, amphibians and fish. Genes annotated with an Ensembl identifier and no symbol fall through to the BLAST tab.
Where each MSA comes from
Two routes on this page open the same view type over different MSAs, and which one you want depends on what the rows are for.
| Route | MSA | Rows |
|---|---|---|
| Launch MSA view on the gene menu | built per gene from NCBI's ortholog records, aligned at EBI | one per species, named |
| The Gene Explorer | UCSC's precomputed multiz alignment across a hundred vertebrates | one per species, named; human genes |
Sharing a connected view as a URL
A connected view can also be built declaratively as a session-spec URL, useful for demo links and embedded apps. This session opens human TP53 as a connected pair: the AlphaFold structure of UniProt P04637 beside a genome view of its locus with NCBI RefSeq and ClinVar loaded.
{
"views": [
{
"type": "ProteinView",
"uniprotId": "P04637",
"transcriptId": "NM_000546.6",
"sideBySide": true,
"connectedView": {
"assembly": "hg38",
"loc": "chr17:7,671,000-7,684,500",
"tracks": ["hg38-ncbiRefSeq", "clinvar_ncbi_hg38"]
}
}
]
}
The fence above is the short form: a UniProt accession plus a transcript ID, and
the plugin derives the AlphaFold structure, finds the transcript in the
connectedView tracks at loc, and translates its CDS to align against the
structure. The explicit form takes a structure url, feature and protein
sequence, for a transcript no loaded track serves. See the parameters and
further example URLs in the
protein3d developer docs.
A ProteinView with only a structure url and no connectedView opens as a
standalone interactive structure, with no genome to exchange highlights with.
Adding the plugins to your own instance
The two plugins open the same gene's structure and its cross-species alignment, and the three views stay connected when both are in the session.
- Open the plugin store (Tools menu) and install Protein3d and MSAView, or
- As an admin, add them to your
config.jsonso they load for all users (see configuring plugins)
Both plugins add view types launched from a gene's right-click menu in JBrowse
Web and Desktop. The single-view embedded components host only a linear genome
view, so neither view type appears there. The full-app embedded components can
host one: JBrowseR's JBrowseRApp takes both runtime plugins and a
views list, while anywidget's JBrowseApp has no
plugin loading yet.
The approach is described in Proteins in the Genome Browser (Journal of Molecular Biology, 2026).
See also
- Basic usage of genomes.jbrowse.org
- Synteny on genomes.jbrowse.org
- JBrowseMSA user guide
- jbrowse-plugin-protein3d
- jbrowse-plugin-msaview
- g2p_mapper
References
- AlphaFold DB
- UniProt
- NCBI Datasets gene orthologs
- NCBI Conserved Domain Database
- Proteins in the Genome Browser
- Broz P, Dixit VM. Inflammasomes: mechanism of assembly, regulation and signalling. Nat Rev Immunol 2016.
Feedback on this tutorial is welcome: contact us.