LinearCanvasBaseDisplay
Auto-generated config schema for the current JBrowse release — see the config guide for concepts. Provided by the canvas plugin. View source.
base config for canvas-based linear feature displays (pileup-style glyphs)
Related links
- Extended by: LinearBasicDisplay
- Extended by: LinearVariantDisplay
- State model: runtime API
- Base config: BaseLinearDisplay
- Guide: Cookbook
- Guide: Customizing feature colors
Config slots
LinearCanvasBaseDisplay is a shared base schema, not a type you name in a config. Set these slots on one of the configs under Extended by above, each of which lists them as inherited and shows the shape in its own example. Slot types (fileLocation, frozen, ...) are explained in the config slot types reference. Slots a base configuration contributes are listed here too, so this table is the whole surface.
| Slot | Description |
|---|---|
showLegendmaybeBoolean = true promotable | show the display's color key when it has one (the legend slot, or a variant track's consequence-impact / SV-type presets). Unset (the default) follows the session-wide default for this display type, falling back to on; an explicit true/false customizes the track |
showLabelsmaybeStringEnum (auto, nameAndDescription, name, description, none) = 'auto' promotable | Which label text is drawn beside each feature: "auto" adapts to zoom, dropping descriptions at maxDescriptionFeatureDensity and names at maxLabelFeatureDensity; "nameAndDescription", "name", "description", and "none" pin a choice at every zoom. Unset (the default) follows the session-wide default for this display type, falling back to auto. Replaces the former showLabels on/off enum + showDescriptions boolean pair |
maxLabelFeatureDensitynumber = 0.2 | In "auto" showLabels mode, hide labels when visible feature density (features/pixel) exceeds this value advanced |
maxDescriptionFeatureDensitynumber = 0.1 | In "auto" showLabels mode, hide descriptions when visible feature density (features/pixel) exceeds this value. Lower than maxLabelFeatureDensity so descriptions drop before names advanced |
colormaybeColor | the main fill color of each feature (a CSS color, or a jexl expression for per-feature coloring). Unset, a feature's own BED itemRgb paints it if it has one, else goldenrod callback args: feature |
connectorColormaybeColor | color of the connecting/intron lines between feature segments (defaults to the theme text color) callback args: feature |
utrColormaybeColor | fill color for UTRs on gene/transcript glyphs. Unset, a feature's own BED itemRgb paints them too (matching UCSC's whole-item coloring), else a contrasting blue callback args: feature |
outlineColorcolor = '' | outline color for features (empty string = no outline) |
featureHeightnumber = 10 | height in pixels of the main body of each feature callback args: feature |
displayModemaybeStringEnum (normal, compact, superCompact, collapsed) = 'normal' promotable | Feature height preset. Unset (the default) follows the session-wide default for this display type, falling back to normal; normal/compact/superCompact customize the track explicitly (including customizing normal back over a compact session default); collapsed packs every feature onto a single row with all labels hidden |
geneGlyphModestringEnum (auto, all, longestCoding) = 'auto' | Gene glyph display mode: "auto" collapses each gene to one transcript when zoomed out and trims the rest to what the track height holds, "all" draws every transcript and scrolls the surplus instead of trimming, "longestCoding" shows one transcript per gene — the one canonicalTranscriptTags names, else the longest coding |
subfeatureLabelsmaybeStringEnum (none, below, overlay) = 'none' promotable | subfeature label display mode. Unset (the default) follows the session-wide default for this display type, falling back to none; none/below/overlay customize the track explicitly |
displayDirectionalChevronsmaybeBoolean = true promotable | Display directional chevrons on intron lines to indicate strand direction. Unset (the default) follows the session-wide default for this display type, falling back to on; an explicit true/false customizes the track (including customizing on over an off session default) |
transcriptTypesstringArray = | feature types admitted by the gene-only view (showOnlyGenes), plus the fallback for recognizing a CHILDLESS transcript as one of a gene's isoforms. It does not decide which glyph is drawn, whether UTRs are implied, whether a feature can be translated, or — for a transcript with subfeatures, which is nearly all of them — whether it is an isoform or gets a label row. Those are all structural (anything with a direct CDS child is a coding transcript; anything with children of its own takes a row), so org-specific and prokaryotic types render correctly without being listed here. |
canonicalTranscriptFieldstring = 'tag' | feature attribute carrying an isoform's curated "this one represents the gene" tag. NCBI's GFF3 puts RefSeq Select / MANE Select in tag, and so do Ensembl and GENCODE (Ensembl_canonical, MANE_Select) — an annotation that names it somewhere else says so here. GFF3 attribute names reach a feature lowercased. |
stringArray = | values of that attribute that mark an isoform as the gene's representative one, which is then ranked ahead of every other isoform: it is the transcript shown by longestCoding, and the first kept when auto caps a gene at the rows the track has. Matched case-insensitively, against a multi-valued attribute member-wise (tag=MANE Select,RefSeq Select). Ordered best-first, because a gene can carry two of these at once: MANE Plus Clinical marks an ADDITIONAL transcript beside the MANE Select one and is often the longer, so it sorts last and the coding-length ranking below never gets to break that tie the wrong way. NCBI and Ensembl/GENCODE both emit the MANE tags and spell them differently — spaces in NCBI's GFF3, underscores in GENCODE's — so MANE Select and MANE Plus Clinical are each listed twice. RefSeq Select comes from NCBI alone and Ensembl_canonical from Ensembl/GENCODE alone, so one spelling serves each. Empty turns the whole rule off. |
containerTypesstringArray = ['proteoform_orf'] | top-level feature types that always stack their children on separate rows. Container detection is otherwise structural — a feature whose children have children of their own stacks anyway — so this is only needed for a type whose children look like leaves but should still each get a row. |
subPartsstring = 'CDS,UTR,five_prime_UTR,three_prime_UTR' | subparts for a glyph |
impliedUTRsboolean = true | imply UTRs from exon/CDS differences on transcript glyphs that carry no explicit UTR subfeatures |
hideSourceFeaturesboolean = true | hide the GFF3 source record, the whole-molecule type=region feature NCBI RefSeq emits per sequence (gbkey=Src). It spans the entire chromosome and carries only taxon/strain metadata, so it draws as a bar across every window. Set false to draw it. No effect on files that carry no gbkey attribute |
labels.namestring = 'jexl:get(feature,'name') || get(feature,'id')' | the primary name of the feature to show callback args: feature |
labels.descriptionstring = | the text description to show callback args: feature |
heightModemaybeStringEnum (fixed, grow, fit) = 'fixed' promotable | Track-sizing strategy — how the track responds when there are more features than fit (shared vocabulary with the alignments display, exposed in the "Track sizing" menu). Unset (the default) follows the session-wide default for this display type, falling back to fixed; fixed keeps a scrollable fixed height, grow expands the track to show all features, fit squeezes features to fill the current height. Orthogonal to the per-feature size set by displayMode. Unifies the former autoHeight (grow) + squeezeToDisplayHeight (fit) settings. |
growMaxHeightnumber = 800 | Ceiling in pixels for the "autogrow track height" sizing mode; a track with more content than this grows to the ceiling and scrolls the rest. Does not apply to the fixed or fit modes advanced |
| Inherited from BaseLinearDisplay | 8 slots |
maxFeatureScreenDensitynumber = 1 | maximum features per pixel before showing a "too many features" message advanced |
heightnumber = 100 | default height for the track |
mouseoverstring = | text to display when the cursor hovers over a feature callback args: feature |
jexlFiltersstringArray = [] | config jexlFilters are deferred evaluated so they are prepended with jexl at runtime rather than being stored with jexl in the config |
fetchSizeLimitnumber = 1_000_000 | maximum data to attempt to download for a given track, used if adapter doesn't specify one advanced |
forceLoadboolean = false | Declarative equivalent of the "Force load" button on the "too much data" banner: when true the display always renders, however large the region or dense the features. Off by default (the gate guards against huge downloads). Set it on a view no one can interact with — an embedded / notebook view, or a screenshot — where the region is known and you want it drawn without a click. advanced |
densityTierstringEnum (auto, features, density) = 'auto' | when to draw the features-per-bin density band in place of features: "auto" swaps to it where the region is too large to fetch, "features" never does and keeps the banner, "density" always does. Needs a density source on the adapter (its densityAdapter slot) advanced |
densityTierBpPerPxnumber = 0 | in "auto" mode, also draw the density band from this many bp per pixel outward, before the region is too large to fetch; 0 leaves the swap to the fetch-size gate alone advanced |