WiggleCommonMixin
Auto-generated @jbrowse/mobx-state-tree API for the current JBrowse release —
see pluggable elements for concepts. Provided by the
wiggle plugin.
View source.
Extends WiggleScoreConfigMixin with rpcDataMap, autoscale domain, and cache
reset — plus the wiggle-specific config that used to sit in that mixin (the
pos/neg palette, rendering type, summary mode, resolution and the line/gap
settings). They live here because this is where they are read: the other
composer of WiggleScoreConfigMixin, LinearManhattanDisplay, touches none of them
and was inheriting a config schema advertising them anyway. Moved onto this
chain with .props()/.views() rather than a new mixin composed in, so no
types.compose layer is added (ADR-041).
Used by LinearWiggleDisplay and MultiLinearWiggleDisplay. Displays that own a different rpcDataMap type should compose WiggleScoreConfigMixin directly.
Members a composed model contributes are listed here too, so these tables are the whole surface.
Properties
| Member | Description |
|---|---|
resolutionresolution: types.stripDefault(types.number, 1) |
Volatiles
| Member | Description |
|---|---|
rpcDataMaprpcDataMap: regionDataMap<WiggleDataResult>('rpcDataMap') | |
| hoveredWiggleFeature | The stored hit. Named apart from the hoveredFeature getter below it fills, because BaseDisplay declares that hook as a computed and MST refuses to instantiate a volatile over one — a display filling it stores under its own name and exposes a getter, which is what canvas, alignments and the variant displays already did. |
Getters
| Member | Description | Defined by |
|---|---|---|
hoveredFeatureWiggleHoveredFeature | undefined | Fills BaseDisplay's cross-display hover hook. | WiggleCommonMixin |
regionFetchKeystring | Strict zoom equality (adr-008): the worker bins scores to the requested bpPerPx, so data fetched at another zoom is the wrong summary, however well the viewport still sits inside it. On this mixin, not the score-config one below it: the rule is about what a fetch returns, and LinearManhattanDisplay composes that mixin for the score axis while fetching untransformed SNPs. | WiggleCommonMixin |
symlogConstantnumber | Raw symlogConstant slot; 0 means "derive from the domain". Resolve it with resolveSymlogConstant once the domain is known.Here rather than on WiggleScoreConfigMixin because the slot is in wiggleConfigSchemaFields, which is this mixin's host table. It sat one level up, whose OTHER composer is LinearManhattanDisplay -- linear-only by construction, so its schema declares no symlogConstant and the getter answered undefined while typed number. Inert, because nothing on that path reads it, and invisible: getConf on an undeclared slot returns undefined and reports nothing at any layer. That is the same reasoning the getter already carried for moving off ScoreScaleMixin (the alignments coverage band composes that against a schema that never declares it) -- it just stopped one mixin too high. | WiggleCommonMixin |
posColorstring | WiggleCommonMixin | |
negColorstring | WiggleCommonMixin | |
bicolorPivotnumber | WiggleCommonMixin | |
numQuantilenumber | WiggleCommonMixin | |
lineWidthnumber | WiggleCommonMixin | |
maxGapMultiplenumber | Interpolated-line gap threshold, as a multiple of the track's own mean point spacing (see gapBreakLimit). 0 keeps one connected line. | WiggleCommonMixin |
summaryScoreModestring | WiggleCommonMixin | |
renderingTypestring | WiggleCommonMixin | |
minimalTicksboolean | WiggleCommonMixin | |
hasResolutionboolean | WiggleCommonMixin | |
effectiveSummaryScoreModestring | The summary mode actually drawn. Density has no whiskers presentation — sourceLayers falls back to the average scores — so the autoscale domain reads this rather than the raw slot; otherwise the color ramp spans the whisker extremes while the plot paints averages, and the score legend reports a range nothing on screen reaches. Single-wiggle defaults to whiskers, so plain "plot type → Density" hit this. | WiggleCommonMixin |
autoscaleSourceNamesSet<string> | undefined | Source names to include when computing the autoscale domain; undefined means every fetched source. Multi-wiggle always fetches all sources and filters client-side, so it overrides this to the visible subset — otherwise a subtree filter that hides sources would leave the Y-axis scaled to the hidden ones. | WiggleCommonMixin |
scoreRuleValuesnumber[] | Scores the axis must reach whatever the data does, so a rule drawn at one stays on it. [] here and overridden by the displays that draw score rules — MultiLinearWiggleDisplay stacks a plot box per row and draws none, so it keeps the base. | WiggleCommonMixin |
domain[number, number] | undefined | The autoscaled domain over the sources visible in the settled blocks. undefined until the view and the data are ready, which is not the [0, 1] a caller falls back to — see visibleStatsDomain. | WiggleCommonMixin |
scatterPointSizenumber | WiggleScoreConfigMixin | |
displayCrossHatchesboolean | The configured cross-hatch setting. A config slot rather than a display prop — like scatterPointSize beside it — because a prop cannot be set from a config at all: MST drops a snapshot key the schema never declares, so demos/cgiab had asked for hatches on its CNV track and never got them. Read showCrossHatches below for what actually draws; this is the raw setting the menu toggles. | WiggleScoreConfigMixin |
isDensityModeboolean | Whether score maps to color instead of height. Each display overrides this from its own rendering-type table (density / multirowdensity); the base is false so this mixin's resolved getters below can key on it, the same override idiom autoscaleSourceNames uses in WiggleCommonMixin. | WiggleScoreConfigMixin |
showCrossHatchesboolean | Whether the score-axis cross hatches draw. Density spends color, not height, on the score, so there is no axis for them to rule — and the track menu drops the toggle there, which would strand hatches enabled in another plot type with no way to turn them off. Every consumer (on-screen overlay, multi-row overlay lines, SVG export) reads this, never the raw displayCrossHatches setting. | WiggleScoreConfigMixin |
scaleTypestring | ScoreScaleMixin | |
autoscaleTypestring | ScoreScaleMixin | |
numStdDevnumber | ScoreScaleMixin | |
minScorenumber | Raw slot value, sentinel intact — see the class comment. | ScoreScaleMixin |
maxScorenumber | Raw slot value, sentinel intact — see the class comment. | ScoreScaleMixin |
defaultScoreDomain[number | undefined, number | undefined] | Overridable hook: what each end of the domain falls back to where the config leaves its bound unset. [undefined, undefined] — the default — means autoscale both ends, which is right for a track whose scores have no absolute meaning (a bigwig's units are its own).A display whose scores are bounded by construction overrides it, so the axis stops being a function of what happens to be on screen: GC content is a fraction, so 0 and 1 are its real limits and mean the same thing at every locus. Autoscaled, the same GC value drew at different heights depending on where the user had panned, and the track could not be read across loci. A hook rather than a config default because the answer can depend on display state — GC's does, on gcMode — and rather than each display re-resolving the sentinels below, which is the one thing that must not be duplicated: config bounds still win, precisely because they are checked before this is consulted. | ScoreScaleMixin |
minScoreBoundnumber | undefined | Resolved lower bound; undefined means autoscale this end. | ScoreScaleMixin |
maxScoreBoundnumber | undefined | Resolved upper bound; undefined means autoscale this end. | ScoreScaleMixin |
Actions
| Member | Description | Defined by |
|---|---|---|
clearDisplaySpecificData() => void | WiggleCommonMixin | |
setRpcData(displayedRegionIndex: number, data: WiggleDataResult) => void | The store half of both displays' fetchNeeded. Everything either one derives from a fetch — multi-wiggle's row list included — is a getter over this map, so there is nothing else for a result to update. | WiggleCommonMixin |
setHoveredFeature(feat?: WiggleHoveredFeature | undefined) => void | WiggleCommonMixin | |
selectFeature(feat: WiggleHoveredFeature) => void | WiggleCommonMixin | |
setResolution(res: number) => void | WiggleCommonMixin | |
setBicolorPivot(val?: number | undefined) => void | WiggleCommonMixin | |
setPosColor(color?: string | undefined) => void | Lives here beside the posColor/negColor getters and setBicolorPivot so both the single- and multi-wiggle color editors write the score-sign palette the same way. | WiggleCommonMixin |
setNegColor(color?: string | undefined) => void | WiggleCommonMixin | |
setRenderingType(type: string) => void | WiggleCommonMixin | |
setSummaryScoreMode(val: string) => void | WiggleCommonMixin | |
setLineWidth(val?: number | undefined) => void | WiggleCommonMixin | |
clearHoveredFeature() => void | WiggleCommonMixin | |
toggleCrossHatches() => void | WiggleScoreConfigMixin | |
setScatterPointSize(val?: number | undefined) => void | WiggleScoreConfigMixin | |
setScaleType(scaleType: string) => void | ScoreScaleMixin | |
setAutoscale(val?: string | undefined) => void | ScoreScaleMixin | |
setMinScore(val?: number | undefined) => void | ScoreScaleMixin | |
setMaxScore(val?: number | undefined) => void | ScoreScaleMixin |