Basic usage of genomes.jbrowse.org
2 videos in this tutorial
TL;DR: genomes.jbrowse.org hosts a ready-made JBrowse config for every UCSC genome, and each one already carries that genome's UCSC track catalog. Any of those tracks is a checkbox away, with nothing to download, index or configure.
Prerequisites
- nothing to install: this is a click-path through a hosted site, and no data, config or index is prepared by hand
Where the data comes from
genomes.jbrowse.org's hosted hg38 config, and the one GenArk assembly this page opens for comparison.
- hg38: https://jbrowse.org/ucsc/hg38/config.json
- the 100-way phyloP conservation bigWig, read by locus over TP53: https://hgdownload.soe.ucsc.edu/goldenPath/hg38/phyloP100way/hg38.phyloP100way.bw
- axolotl (Mex_15411), the GenArk assembly in Trying another genome: https://jbrowse.org/hubs/genark/GCF/040/938/575/GCF_040938575.1/config.json
Opening a genome
genomes.jbrowse.org hosts a JBrowse 2 instance for every main UCSC database (hg19, hg38, hs1, mm39 and the rest) plus the UCSC GenArk assemblies, track hubs for tens of thousands of NCBI plants, animals, fungi, bacteria and viruses.
/ucsc is the same thing without the shortlist: every UCSC database, with a filter box over the names, species and descriptions.
The search box in the header takes a common name, a species, an assembly name or an accession, and covers both catalogs at once.
Picking one loads a JBrowse instance at a plain URL, shareable as a link.
Searching for a gene
Open hg38. It arrives with NCBI RefSeq - RefSeq All on and the track
selector showing. Type TP53 into the location box and press Enter. The hosted
config ships a name index, so gene symbols resolve with no setup, and
coordinates like chr17:7,668,400-7,687,550 work too.
RefSeq All draws each transcript on its own row, and TP53 has more than the
track's height holds. The gene name reads TP53 +20 more, and the circled
chip at the bottom right says Isoforms trimmed. Two ways to see more:
- Click +20 more to open that one gene
- Click the chip for Auto / All transcripts / Representative transcript. The last collapses every gene to one transcript, which the rest of this page uses
Finding a track
The track selector is the drawer down the right; the button at the top left of
the view header closes and reopens it. It lists the catalog under UCSC's own
categories, and Filter tracks searches all of them. Type phyloP and tick
Basewise Conservation (phyloP) - 100-way vertebrate alignment, under
Comparative Genomics.
The names are UCSC's, so a track known from the UCSC browser is findable under the same label. UCSC publishes several phyloP tracks for hg38, so the words after the parenthesis pick one out.
Reading the phyloP track
phyloP scores each base against the neutral rate the alignment implies. The score is signed: blue above the line changes more slowly than neutral, red below it faster.
The peaks are the width of the coding exons. Exons 5-8 carry the codons this gene is most often mutated at in cancer, and phyloP is high across all four. The introns drop to the pivot, and so does the 3' UTR, an exon as wide as any coding one: the score follows the protein, not the transcript.
Checking the score against the raw data
Zoom in until the sequence appears. The exon below is exon 7, which covers G245, R248 and R249, three of the codons most often mutated in human cancer.
- Tick Reference sequence, which is off by default
- Once its menu has been opened, the isoform chip shrinks to the icon circled below, which opens the same options
- At this zoom the default draws the codon row once per transcript
The score is now one bar per base, and within a codon the third base is the short one: most third-position changes leave the amino acid alone. Hovering a bar reads back its score.
The alignment the score came from
The multiple alignment phyloP was computed from is a checkbox too. UCSC publishes no bigMaf for the 100-way, so this section switches to the 470-way pair. Tick both, under Comparative Genomics:
- Multiz Alignments - 470-way Mammal Alignment (Hiller lab)
- Basewise Conservation (phyloP) - 470 phyloP
Most columns are blank, which is what a positive score is made of. phyloP counts substitution events on the tree:
- Under S240, nearly every species differs from human, but all carry the same base: one substitution on the human branch, and the score stays above the line
- Under T256 and G244, fewer rows differ and those that do disagree with each other, and the score goes red
The track's zoom range has two limits: a MAF block carries a row per species, so a gene-wide view asks you to confirm before fetching, and zoomed further out it swaps to a precomputed summary with a conservation bar per species.
The regulatory end of the same gene
Zoom out to the whole gene, and tick five Regulation and Expression tracks:
- CpG Islands
- ENCODE cCREs - ENCODE4 cCREs
- Layered H3K4Me3 (hg19)
- Layered H3K27Ac (hg19)
- EPDnew Promoters - EPDnew v6
The two histone tracks each hold seven cell lines, drawn over one another as they open. Track menu → Plot type → Multi-row → XY plot gives each a row. Their names carry hg19 because ENCODE3 released them on it; the files this config points at are the hg38 ones.
The promoter is at the high-coordinate end because the gene is on the minus strand, and everything lands there together: the CpG island, a promoter-class cCRE, the EPDnew call and both marks. H3K4me3 marks a promoter and H3K27ac an active one; all seven cell lines carry both.
Filtering a dense track
gnomAD v4.1 - gnomAD v4.1 Exomes under Variation and Repeats opens as several thousand records over TP53, one block of colour. Track menu → Filter by... takes the track's own columns, one jexl expression per line:
jexl:feature.AF >= 0.001keeps the variants standing in the populationjexl:feature.annot == 'pLoF'keeps gnomAD's predicted loss-of-function consequence class (the others are missense, synonymous and other)
The colours are the file's own, per consequence class, so the loss-of-function filter leaves a track drawn in one colour.
Once a filter is in effect the same menu row opens a submenu with Edit filters... and Clear all filters.
A BigBed's extra fields arrive as fields, so whatever columns the file carries
are what there is to filter on. ClinVar's clinical classification is
feature.clinSign, so jexl:feature.clinSign == 'Pathogenic' cuts that catalog
down the same way.
Other tracks in the hg38 catalog
A few that come up often:
- Conserved Elements - 100 Vert. El (Comparative Genomics) is the interval companion to phyloP: phyloP scores each base, phastCons calls the runs.
- RepeatMasker (Repeats) says which parts of a window are repeat elements.
- GTEx cis-eQTLs - GTEx DAP-G eQTLs (Regulation) names the variants associated with expression of nearby genes.
- Long-read SVs - CoLoRSdb 1427 SVs (Variation and Repeats) covers the size range short reads call badly.
- liftOver (Pairwise alignments) is a genome-to-genome alignment, and gets a page of its own in Synteny on genomes.jbrowse.org.
Drag a track by the handle at the left of its header to reorder it; the ×
closes it.
What is actually downloaded
The config lives on jbrowse.org, but most UCSC track data resolves back to hgdownload, read by byte range. The track menu's About track prints the adapter, which is where to look when a track is slow or missing.
Only the blocks under the current view are fetched, which is why a genome-wide
signal track opens at gene zoom without downloading it. The URL is the file
itself, so anything that reads a BigWig by range can take it, such as
rtracklayer in R:
library(rtracklayer)
scores <- import(
"https://hgdownload.soe.ucsc.edu/goldenPath/hg38/phyloP100way/hg38.phyloP100way.bw",
which = GRanges("chr17", IRanges(7668400, 7687550))
)
The BigBeds behind the variant and annotation tracks read the same way.
Trying another genome
The GenArk assemblies behave the same way, with two differences:
- Their configs carry a smaller track set
- Whether a gene symbol resolves depends on the accession. The name index is
built from NCBI RefSeq annotation, so a
GCF_accession carries gene tracks and an index, while aGCA_one generally has neither and coordinates are the way in
An assembly released both ways appears under both accessions, and only the
RefSeq one searches: the axolotl Mex_15411 is GCF_040938575.1 and
GCA_040938575.1.
The same gene spans a few hundred kb here; the axolotl genome is one of the largest sequenced.
See also
- Gene track
- Synteny on genomes.jbrowse.org
- Proteins on genomes.jbrowse.org
- Pangenome (HPRC)
- RepeatMasker as one lane per class
- User guide: Quantitative track
- Opening track hubs by URL
- Hosted genomes and tracks for agents
References
- Pollard KS et al. Detection of nonneutral substitution rates on mammalian phylogenies. Genome Res 2010, the phyloP method
- Bouaoun L et al. TP53 variations in human cancers. Hum Mutat 2016, the mutation distribution across TP53 codons
- Cho Y et al. Crystal structure of a p53 tumor suppressor-DNA complex. Science 1994, which hotspot residues contact the DNA and which hold the structure
- Liao WW et al. A draft human pangenome reference. Nature 2023, the HPRC assemblies the pangenome callset is built from
- UCSC hg38 conservation downloads
Feedback on this tutorial is welcome: contact us.