FeatureColor
Auto-generated from the config schema in the source — see the config guide for concepts. Built into JBrowse core. View source.
The feature displays' encoding.color: a CSS color or jexl:
callback in value, or a field whose values each take a range color, whose
numbers each take the color of the interval between cut points they fall
in, or whose numbers run along a color ramp, with a key. A string is the
field; a written field always paints. scale.type: "identity" keeps each
feature's color, whether a file's itemRgb or what a value callback
returns, and names the colors scale.domain lists in the key. Like UCSC's
itemRgb on, it paints an itemRgb of 0,0,0 or 0 black, which otherwise
reads as no color, and reads a comma-free itemRgb as a packed integer.
Example usage
{ type: 'LinearBasicDisplay', encoding: { color: { value: 'goldenrod' } } }{
type: 'LinearBasicDisplay',
encoding: {
color: { field: 'gene_biotype', scale: { range: ['#1f77b4', '#ff7f0e'] } },
},
}{
type: 'LinearBasicDisplay',
encoding: {
color: {
field: 'type',
scale: {
domain: ['prophage', 'plasmid'],
range: ['#d95f02', '#1b9e77'],
unknown: '#cccccc',
},
},
},
}{
type: 'LinearBasicDisplay',
encoding: {
color: {
field: 'score',
scale: {
type: 'threshold',
domain: [0.5, 0.9],
range: ['#c6dbef', '#6baed6', '#08519c'],
},
},
},
}{
type: 'LinearBasicDisplay',
encoding: { color: { field: 'score', scale: { scheme: 'viridis', domainMin: 0 } } },
}{
type: 'LinearMultiRowFeatureDisplay',
encoding: {
color: {
scale: {
type: 'identity',
domain: ['rgb(255,0,0)', 'rgb(0,128,0)'],
names: ['Active TSS', 'Strong transcription'],
},
},
},
}Preset fields
A field named here paints through its own scale while scale.type is unset, and range and names index its levels in order while domain is unwritten. Any other field is ordinal.
| Field | Scale | Levels | Names | Other defaults |
|---|---|---|---|---|
strand | ordinal | 1, -1, 0 | Forward strand, Reverse strand, No strand | range: tomato, cornflowerblue, goldenrod |
svType | ordinal | DEL, DUP, INS, INV, CNV, TR, BND, CPX, OTHER | Deletion, Duplication, Insertion, Inversion, Copy-number variable, Tandem repeat, Breakend / translocation, Complex, Other / mixed | range: #e41a1c, #377eb8, #800080, #ff7f00, #7e6148, #e7298a, #17becf, #66a61e, #000000; key "SV type" |
impact | ordinal | HIGH, MODERATE, LOW, MODIFIER, Unannotated | range: #d32f2f, #f57c00, #fbc02d, #9e9e9e, #607d8b; key "Consequence impact" | |
score | linear |
Config slots
A setting written to it replaces it whole: a member left out returns to its default. 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 |
|---|---|
valuemaybeColor | A CSS color, or a jexl callback over feature returning one. Unset, a feature's own BED itemRgb paints it if it has one, else goldenrod. Alignments' value is constant-only; here a callback stays, since the worker evaluates it per box, where a field reads the transcript.callback args: feature |
| scale FeatureColorScale sub-schema | How the field's values map to colors, Vega-Lite's scale object. |
| legend FeatureColorLegend sub-schema | The key this channel draws. |
fieldfeatureField = '' | a feature field, or a jexl expression over feature, whose values each take one range color, with a key; a transcript and its parts paint the transcript's value, or its gene's where the transcript has none; strand paints forward tomato and reverse cornflowerblue unless scale.domain or scale.range says otherwise |
scale.typemaybeStringEnum | ordinal a range color per value of field; threshold a range color per interval between the cut points in domain; linear or log a color along a ramp from domainMin to domainMax; identity paints each feature's own color, as a channel with no field does, except that an itemRgb of 0,0,0 or 0 paints black and a comma-free one reads as a packed integer, and the key names the colors in domain; unset is linear for score and ordinal for any other field |
scale.domainstringArray = [] | the values that take the range first, in order; a value left out takes a color no listed value or value met before it paints, the first time the track shows it, and keeps it. Under threshold, the ascending cut points, a value on a cut taking the interval above it. Under identity, the CSS colors the key names, in order |
scale.rangecolorArray = [] | CSS colors the domain takes, in order, continuing into the default palette past its end; under threshold one per interval, one more than the cuts, an interval left out sampling the default ramp; under linear or log the ramp's stops, winning over scheme |
scale.unknownmaybeColor | color for a value missing from domain. Unset: the next palette color where the display deals one, and the levels a preset field names, such as strand's, keep their own colors. A color: that color. "": no color dealt, so a feature paints the no-value grey, a variant cell the alt hue, and a row keeps the color it already has |
scale.invalidmaybeColor | color for a feature with no value under an ordinal scale's field; unset, the display's no-value color |
scale.namesstringArray = [] | key name for each domain value, one each in order, or under threshold for each interval from the lowest; a value past the end of the list shows its own |
scale.schememaybeStringEnum (viridis, magma, inferno, cividis, juicebox, fall, reds, blues, redblue, purpleorange, redgreyblue, redyellowblue) | a named ramp: a ramp scale runs along it, a threshold that writes cuts takes one color per interval from end to end, and an ordinal scale that lists a domain one per value; range's colors, where it lists any, win over it |
scale.reversemaybeBoolean | turns the ramp round, so its last color paints the bottom of a ramp's domain or a threshold's lowest interval; unset follows the field's preset, else runs as written |
scale.domainMidmaybeNumber | the value the ramp's middle stop sits at, so a diverging ramp centres somewhere other than the middle of the domain, both sides on one scale: the farther end of the domain reaches its end color and equal distances from the middle take equal colors; unset, the stops are evenly spaced across it |
scale.domainMinmaybeNumber | the bottom of a ramp's domain; unset follows the loaded values |
scale.domainMaxmaybeNumber | the top of a ramp's domain; unset follows the loaded values |
scale.domainQuantilenumber = 1 | the quantile an open end of a ramp follows over the loaded values: 1 their extremes, 0.99 clips the outermost 1% at each end, each sign measured on its own advanced |
legend.titlemaybeString | key title; unset keeps the display's own heading, "" draws none |
legend.descendingmaybeBoolean | threshold key lists the highest interval first; unset follows the field's preset, else the lowest first |
Related links
- User guide: Gene track