Supported file types
Every track reads data through an adapter whose type selects the reader, and
the file's extension picks that type. Find your format in the tables below for
the adapter that reads it and a link to its full config docs. Most adapters
accept the uri shorthand, and a track over a format
listed here can skip both keys — see
the whole-track shorthand.
The uri shorthand
Most adapters accept a uri shorthand: give the data file location and the
adapter resolves the companion index by appending the standard suffix (.bai
for a .bam, .crai for a .cram, .fai for a .fa, .tbi for a tabix
.gz, and so on).
Goes in the tracks array of config.json. See Tracks.
{
"type": "AlignmentsTrack",
"trackId": "sample_bam",
"name": "Sample reads",
"assemblyNames": ["hg38"],
"adapter": {
"type": "BamAdapter",
"uri": "https://example.com/sample.bam"
}
}jbrowse add-track https://example.com/sample.bam \
--trackId sample_bam \
--name "Sample reads" \
--assemblyNames hg38In JBrowse Desktop, or in any running JBrowse Web session, open a view on this track’s assembly, then File → Open track... and, in Add a track from file or URL, enter:
- Main file:
https://example.com/sample.bam
Click Next. JBrowse reads the adapter and track type off the file name. Then fill in:
- Track name:
Sample reads - Assembly:
hg38
Click Add.
- Spell out the slot form (
bamLocationplusindex.location) only when the index is named differently or lives elsewhere. An adapter that takes an endpoint, a set of files, or another adapter has no shorthand; each adapter's config page states which keys it accepts above its slot table - Use CSI over TBI/BAI for a chromosome longer than 512 Mb (some plant and
animal genomes; CRAM's
.craihas no such limit). BAM and the tabix-indexed adapters (VCF, GFF3, BED, BEDGRAPH, MAF, PAF) acceptcsi: true:
Goes in the tracks array of config.json. See Tracks.
{
"type": "VariantTrack",
"trackId": "variants_csi",
"name": "Variants",
"assemblyNames": ["hg38"],
"adapter": {
"type": "VcfTabixAdapter",
"uri": "https://example.com/variants.vcf.gz",
"csi": true
}
}jbrowse add-track-json '{
"type": "VariantTrack",
"trackId": "variants_csi",
"name": "Variants",
"assemblyNames": ["hg38"],
"adapter": {
"type": "VcfTabixAdapter",
"uri": "https://example.com/variants.vcf.gz",
"csi": true
}
}'In JBrowse Desktop, or in any running JBrowse Web session, open a view on this track’s assembly, then File → Open track..., choose Add track from pasted JSON, and paste:
{
"type": "VariantTrack",
"trackId": "variants_csi",
"name": "Variants",
"assemblyNames": ["hg38"],
"adapter": {
"type": "VcfTabixAdapter",
"uri": "https://example.com/variants.vcf.gz",
"csi": true
}
}The whole-track shorthand
Every format in the tables below is one JBrowse recognizes by its extension, and that inference runs on a track config too:
Goes in the tracks array of config.json. See Tracks.
{
"trackId": "sample_bam",
"uri": "https://example.com/sample.bam",
"assemblyNames": ["hg38"]
}jbrowse add-track https://example.com/sample.bam \
--trackId sample_bam \
--name sample.bam \
--assemblyNames hg38In JBrowse Desktop, or in any running JBrowse Web session, open a view on this track’s assembly, then File → Open track... and, in Add a track from file or URL, enter:
- Main file:
https://example.com/sample.bam
Click Next. JBrowse reads the adapter and track type off the file name. Then fill in:
- Track name:
sample.bam - Assembly:
hg38
Click Add.
The Track type column below names what the track becomes, the Adapter column
names what it reads through, name defaults to the file name, and a config
declaring exactly one assembly supplies assemblyNames. Write any of those keys
yourself to override the guess: an explicit type picks a track type the
extension would not, and an adapter block replaces the guessed one outright. A
track listing displays names its type too, so the config schema can check
those display types against it. A format the tables do not list needs the full
form, and so does a file whose extension names one format while it holds another
(the shortest track).
Sequence / assembly
Sequence adapters go in an assembly, not a track.
| Format | Adapter | Track type | Notes |
|---|---|---|---|
| Bgzipped FASTA (.fa.gz + .fai + .gzi) | BgzipFastaAdapter | assembly sequence | |
| chrom.sizes | ChromSizesAdapter | assembly sequence | Names and lengths only, no sequence |
| Indexed FASTA (.fa + .fai) | IndexedFastaAdapter | assembly sequence | |
| Plain FASTA (.fa, no index) | UnindexedFastaAdapter | assembly sequence | Read entirely into memory; prefer an indexed form for large genomes |
| UCSC 2bit | TwoBitAdapter | assembly sequence |
Most configs name no sequence adapter: give the assembly a name and a
sequence-file uri, and JBrowse picks the adapter from the extension and
derives the index siblings.
Goes in the assemblies array of config.json. See Assemblies.
{
"name": "hg38",
"uri": "https://example.com/genome.fa"
}jbrowse add-assembly https://example.com/genome.fa \
--name hg38hg38 is one of the genomes JBrowse Desktop hosts, with gene tracks already set up: on the start screen click Show all available genomes and pick it. To load the files of this config instead:
In JBrowse Desktop, Open new genome on the start screen (or File → Open genome... in a session), then Open from a URL and paste, one per line:
https://example.com/genome.fa
https://example.com/genome.fa.faiJBrowse reads the format off the file name. Then fill in:
- Genome name:
hg38
Alignments
Read alignments are an AlignmentsTrack
(alignments track config).
| Format | Adapter | Track type | Notes |
|---|---|---|---|
| BAM | BamAdapter | AlignmentsTrack | |
| CRAM | CramAdapter | AlignmentsTrack | |
| Htsget BAM | HtsgetBamAdapter | AlignmentsTrack | Less exercised than plain BAM/CRAM; prefer an indexed file where possible |
| SAM | SamAdapter | AlignmentsTrack | Unindexed, so the whole file is loaded into memory; prefer BAM or CRAM for sequencing-scale data |
Feature / annotation
Gene models, repeats, and other interval features are a FeatureTrack. The
plain (non-tabix) GFF3, GTF and BED adapters load the whole file into memory, so
prefer the tabix or BigBed forms past small files.
| Format | Adapter | Track type | Notes |
|---|---|---|---|
| BED (plain) | BedAdapter | FeatureTrack | Loaded entirely into memory; for small files |
| BED (tabix) | BedTabixAdapter | FeatureTrack | |
| BigBed | BigBedAdapter | FeatureTrack | |
| GFF3 (plain) | Gff3Adapter | FeatureTrack | Loaded entirely into memory; for small files |
| GFF3 (tabix) | Gff3TabixAdapter | FeatureTrack | |
| GTF (plain) | GtfAdapter | FeatureTrack | Loaded entirely into memory; for small files |
| GTF (tabix) | GtfTabixAdapter | FeatureTrack |
GTF gene models
GTF has no spanning gene line, so the GTF adapters build the gene model
themselves: lines sharing a transcript_id group under a transcript, and
transcripts sharing a gene_id under a gene.
aggregateField names the
attribute that labels the gene, and jbrowse sort-gff sorts a GTF for tabix too
(quickstart).
Quantitative / signal
Coverage and other numeric signals are a QuantitativeTrack, or a
MultiQuantitativeTrack for several of them at once
(track config).
| Format | Adapter | Track type | Notes |
|---|---|---|---|
| BedGraph (plain) | BedGraphAdapter | QuantitativeTrack | Loaded entirely into memory; for small files |
| BedGraph (tabix) | BedGraphTabixAdapter | QuantitativeTrack | |
| BigWig | BigWigAdapter | QuantitativeTrack | |
| GC content | GCContentAdapter | GCContentTrack | Computed from the assembly sequence, no data file |
| Multiple BigWigs | MultiWiggleAdapter | MultiQuantitativeTrack |
Variants
VCF and other variant-like data is a VariantTrack
(variant track config for SVTYPE coloring
and the multi-sample displays).
| Format | Adapter | Track type | Notes |
|---|---|---|---|
| BEDPE | BedpeAdapter | VariantTrack | Paired/breakend records, e.g. SV calls or Hi-C loops |
| Split VCF (one file per refName) | SplitVcfTabixAdapter | VariantTrack | |
| STAR-Fusion | StarFusionAdapter | VariantTrack | |
| VCF (plain) | VcfAdapter | VariantTrack | Loaded entirely into memory; for small files |
| VCF (tabix) | VcfTabixAdapter | VariantTrack |
Synteny / comparative
Synteny adapters back the dotplot and linear synteny views
(synteny track config). Plain PAF loads
entirely into memory; jbrowse make-pif converts a large alignment to PIF,
which fetches only the alignments in view
(large alignments,
PIF format).
| Format | Adapter | Track type | Notes |
|---|---|---|---|
| BLAST tabular | BlastTabularAdapter | SyntenyTrack | |
| Chain (UCSC liftOver / lastz) | ChainAdapter | SyntenyTrack | |
| Delta (MUMmer / nucmer) | DeltaAdapter | SyntenyTrack | |
| Indexed PAF (PIF) | PairwiseIndexedPAFAdapter | SyntenyTrack | Built by jbrowse make-pif; fetches only the visible region |
| MashMap | MashMapAdapter | SyntenyTrack | |
| MCScan anchors | MCScanAnchorsAdapter | SyntenyTrack | Gene-level synteny; also needs one BED per assembly |
| MCScan blocks | MCScanBlocksAdapter | SyntenyTrack | Multi-genome, reference-anchored; also needs one BED per assembly |
| MCScan simple anchors | MCScanSimpleAnchorsAdapter | SyntenyTrack | Gene-level synteny; also needs one BED per assembly |
| Multi-genome indexed PAF (PIF) | MultiGenomeIndexedPAFAdapter | SyntenyTrack | The tabix-indexed form of multi-genome PAF |
| Multi-genome PAF | MultiGenomePAFAdapter | SyntenyTrack | PanSN-prefixed; all-vs-all or a star against one reference, in one file |
| PAF | PAFAdapter | SyntenyTrack | Loaded entirely into memory; convert to PIF for large alignments |
| Several pairwise alignments sharing one genome | MultiPairwiseSyntenyAdapter | SyntenyTrack | One anchor genome aligned to each of N others, as N pairwise files |
Multiple alignment (MAF)
Multiple-species alignments are a MafTrack
(MAF track config for the samples array and the
zoom-out tier).
| Format | Adapter | Track type | Notes |
|---|---|---|---|
| BigMaf | BigMafAdapter | MafTrack | |
| Indexed MAF (bgzip + .tai) | BgzipMafAdapter | MafTrack | A published whole-genome multiple alignment, read by locus |
| MAF (tabix) | MafTabixAdapter | MafTrack | |
| TAF (bgzipped Taffy) | BgzipTaffyAdapter | MafTrack |
Hi-C
| Format | Adapter | Track type |
|---|---|---|
| .hic contact matrix | HicAdapter | HicTrack |
See Hi-C track config. Loop and interaction
calls are BEDPE, which loads as a VariantTrack (see Variants).
GWAS / LD
See GWAS track config.
| Format | Adapter | Track type | Notes |
|---|---|---|---|
| GWAS results (bgzipped, tabix-indexed BED-like) | GWASAdapter | GWASTrack | |
| PLINK LD (plain .ld) | PlinkLDAdapter | LDTrack | PLINK LD table; for regional analyses |
| PLINK LD (tabix-indexed .ld.gz) | PlinkLDTabixAdapter | LDTrack | For chromosome-scale or genome-wide LD |
Text searching
Text-search adapters power the location search box (text searching).
| Format | Adapter | Track type | Notes |
|---|---|---|---|
| JBrowse 1 names index | JBrowse1TextSearchAdapter | aggregateTextSearchAdapters / textSearching | From JBrowse 1 generate-names.pl |
| Trix index (.ix/.ixx) | TrixTextSearchAdapter | aggregateTextSearchAdapters / textSearching | Built by jbrowse text-index |
Inline data
A FromConfig adapter embeds a small dataset directly in config.json
(FromConfig adapters).
| Format | Adapter | Track type | Notes |
|---|---|---|---|
| Inline features | FromConfigAdapter | FeatureTrack | Features written straight into config.json |
| Inline regions | FromConfigRegionsAdapter | assembly sequence | refNames and sizes only, no sequence |
| Inline sequence | FromConfigSequenceAdapter | assembly sequence | Each feature's seq holds the bases for its region |
Computed from the reference
Three adapters scan the sequence of whatever assembly the track is displayed
against and emit the hits as features, so the track config names neither a file
nor a sequence. All three are FeatureTracks, and
each adapter page opens with a whole track config:
- MotifListAdapter — a named motif list (restriction enzymes)
- CrisprGuideAdapter — CRISPR guide RNAs
- SequenceSearchAdapter — a single regex
The sequence search guide drives them from the view menu.