Circular genome view
The circular genome view lays out an entire assembly as a ring and draws long-range structural variants as chords across the interior, one arc per event connecting its two breakpoints. An arc with its two ends in different chromosome segments is an inter-chromosomal event, which no single linear window can hold. Any track that draws in the linear genome view — a bigWig, a feature density, an alignment coverage — draws on the circle as a ring inside the ideogram, so a Circos-style figure is the same tracks opened on this view.
Opening a circular genome view
- Launch Circular view from the Add menu in the main menu bar
- In the import form's Manual mode, select an assembly and click Launch. The ring appears with one segment per chromosome
- Add a variant track from the view's track selector; SV chords render automatically as a Chord variant display
The view reads standard VCF/VCF.gz variant tracks. Chords are drawn from
long-range records (SVTYPE=BND breakends and translocations). Single-locus
deletions and duplications load but don't produce an informative chord.
Rings
A track whose display draws in the linear genome view draws on the circle as a
ring: open it from the view's track selector, or name it in the view's tracks.
Each track's menu is under Tracks in the view menu, since a ring has no
label to hang it off, and Show legend in the same menu names each ring,
chord and ribbon track beside the color or density ramp it draws in (a view's
showLegend: true opens with it). A quantitative ring draws its score axis
radially in the gap before the first chromosome. Rings stack inward from the
ideogram in the order the tracks were opened, each as tall as the display's
height, and the chords and ribbons draw inside the innermost ring. Every setting
the display has on a linear view — a wiggle's plot type and color, a mark
display's marks — applies on the ring, and hovering or clicking a ring is the
same hover and click as on the linear track: the tooltip and the feature details
are the display's own.
A ring is the display's linear rendering wrapped around the circle: the display draws a strip as long as the circumference, and the view resamples it so each base sits at its arc. Inner rings are drawn from the same strip and so resolve a little coarser than the outer ones.
const ringView = {
type: 'CircularView',
assembly: 'volvox',
tracks: ['volvox_microarray'],
}A multi-source quantitative track with its sources on rows gives each source a
band inside one ring, so a sample pair or a small cohort is one nested set
rather than a ring each. The bands are drawn against the display's single score
domain, and a stack of rows has no axis of its own, so name that domain where
the bands are meant to be read against each other. Naming the sources is the
color's job here: the row labels are part of the display's chrome and a ring
samples only its canvas, so give each subtrack a color in the adapter.
A variant or synteny track keeps its chords and ribbons; a track that has both a
linear and a circular display takes the circular one unless the entry names the
other, as { trackId, displaySnapshot: { type: 'LinearMarkDisplay' } } does for
a density ring over a variant track. An alignments track draws its coverage and
pileup as a ring; for a coverage ring alone, open the track as a
mark display with a coverage transform. A
mirrored arc's ring is mirrored with it, so a ring bin stays under the stretch
of ideogram it belongs to.
Synteny ribbons
A SyntenyTrack draws each alignment as a ribbon between the span it covers on
one side and the span its mate covers on the other, so a block's extent is on
the figure and an inversion reads as a twist. A track aligning two genomes needs
both of them on the circle, set with assembly: ['hg38', 'mm39'] — each
assembly lays its chromosomes out in turn. The import form opens one the way the
dotplot's does: Quick start picks a synteny track and opens its two genomes,
and Manual takes Add a second assembly and a track for the pair, with a
chromosome box per genome.
Both arcs of a two-genome circle run the same way round, so a genome left in its
own contig order puts every matching pair of chromosomes at opposite ends of a
diameter and sends every ribbon through the middle. The circle reorders as it
opens, and Re-order chromosomes in the view's menu does it on demand. The
reorder puts the second genome's chromosomes in the order of the first's, by how
many aligned bases each pair shares, and the circle lays that genome out
mirrored so the ribbons come out as a band of parallel arcs.
autoDiagonalize: false on the view keeps each genome in its own contig order.
It is the same pass the linear synteny view and the dotplot run, over the same
alignment file, and it is offered on a two-genome circle with a synteny track
and nowhere else.
A synteny circle, of one genome or two, opens with each ribbon in the ideogram
color of the first genome's chromosome it leaves. Color by... in the view's
menu offers what the linear synteny view's palette offers: either genome's
chromosome, strand, identity or another measurement, a column the track
declares, or one color per track when several overlay. Opacity, Identity
fade and Min length sit beside it, and as view settings they go in a
session as color, opacity and minAlignmentLength; the identity fade is
opacity: { field: 'identity' }.
An alignment narrower than a pixel draws at the share of the pixel it covers, as
in the linear synteny view, so a circle of tens of thousands of short alignments
shows where they pile up. fadeThinAlignmentsMode: 'off' on the view draws
every ribbon at full opacity.
Hovering a ribbon or a chord highlights it and names it in a tooltip; clicking opens its details. Ribbons and chords draw on the GPU, so a circle holding tens of thousands of them still turns and zooms without a pause.
Interacting with chords
- Hover a chord to highlight it and see the variant it represents
- Click a chord to open that variant's feature details
- From the feature-detail panel's Breakends section, use Open in breakpoint split view to open a breakpoint split view centered on the event's two breakpoints
To triage many variants at once, use the SV inspector, which pairs this same circular overview with a filterable variant table and cross-filters the two together.
See also
- Tutorial: Cancer SVs (C-GIAB)
- Tutorial: Synteny on a circle (human and mouse)
- Tutorial: A map of the human mitochondrial genome
- User guide: SV inspector view
- User guide: Structural variant visualization
- Reference: ChordVariantDisplay config schema
- Reference: ChordSyntenyDisplay config schema
- Reference: LinearMarkDisplay config schema, for a density or coverage ring