@jbrowse/plugin-wiggle
Version:
JBrowse 2 wiggle adapters, tracks, etc.
437 lines (436 loc) • 18.5 kB
TypeScript
import type { Source } from '../util';
import type PluginManager from '@jbrowse/core/PluginManager';
import type { AnyConfigurationSchemaType } from '@jbrowse/core/configuration';
import type { AnyReactComponentType, Feature } from '@jbrowse/core/util';
import type { ExportSvgDisplayOptions } from '@jbrowse/plugin-linear-genome-view';
import type { Instance } from 'mobx-state-tree';
export declare function stateModelFactory(_pluginManager: PluginManager, configSchema: AnyConfigurationSchemaType): import("mobx-state-tree").IModelType<{
id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
type: import("mobx-state-tree").ISimpleType<string>;
rpcDriverName: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
} & {
heightPreConfig: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<number>>;
} & {
userBpPerPxLimit: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<number>>;
userByteSizeLimit: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<number>>;
} & {
blockState: import("mobx-state-tree").IMapType<import("mobx-state-tree").IModelType<{
key: import("mobx-state-tree").ISimpleType<string>;
region: import("mobx-state-tree").IType<import("@jbrowse/core/util").Region, import("@jbrowse/core/util").Region, import("@jbrowse/core/util").Region>;
reloadFlag: import("mobx-state-tree").IType<number | undefined, number, number>;
isLeftEndOfDisplayedRegion: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
isRightEndOfDisplayedRegion: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
}, {
stopToken: string | undefined;
filled: boolean;
reactElement: React.ReactElement | undefined;
features: Map<string, Feature> | undefined;
layout: any;
status: string;
error: unknown;
message: string | undefined;
maxHeightReached: boolean;
ReactComponent: ({ model, }: {
model: {
error?: unknown;
reload: () => void;
message: React.ReactNode;
filled?: boolean;
status?: string;
reactElement?: React.ReactElement;
};
}) => import("react/jsx-runtime").JSX.Element | undefined;
renderProps: any;
} & {
doReload(): void;
afterAttach(): void;
setStatus(message: string): void;
setLoading(newStopToken: string): void;
setMessage(messageText: string): void;
setRendered(props: import("@jbrowse/plugin-linear-genome-view/src/BaseLinearDisplay/models/serverSideRenderedBlock").RenderedProps | undefined): void;
setError(error: unknown): void;
reload(): void;
beforeDestroy(): void;
}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
configuration: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
maxFeatureScreenDensity: {
type: string;
description: string;
defaultValue: number;
};
fetchSizeLimit: {
type: string;
defaultValue: number;
description: string;
};
height: {
type: string;
defaultValue: number;
description: string;
};
mouseover: {
type: string;
description: string;
defaultValue: string;
contextVariable: string[];
};
jexlFilters: {
type: string;
description: string;
defaultValue: never[];
};
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, "displayId">>;
} & {
selectedRendering: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
resolution: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<number>, [undefined]>;
fill: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<boolean>>;
minSize: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<number>>;
color: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
posColor: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
negColor: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
summaryScoreMode: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
rendererTypeNameState: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
scale: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
autoscale: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
displayCrossHatches: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<boolean>>;
constraints: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IModelType<{
max: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<number>>;
min: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<number>>;
}, {}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>, [undefined]>;
configuration: AnyConfigurationSchemaType;
} & {
type: import("mobx-state-tree").ISimpleType<"MultiLinearWiggleDisplay">;
layout: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<Source[], Source[], Source[]>, [undefined]>;
showSidebar: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
}, {
rendererTypeName: string;
error: unknown;
message: string | undefined;
} & {
readonly RenderingComponent: React.FC<{
model: {
id: string;
type: string;
rpcDriverName: string | undefined;
} & import("mobx-state-tree/dist/internal").NonEmptyObject & {
rendererTypeName: string;
error: unknown;
message: string | undefined;
} & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IModelType<{
id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
type: import("mobx-state-tree").ISimpleType<string>;
rpcDriverName: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
}, {
rendererTypeName: string;
error: unknown;
message: string | undefined;
}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
onHorizontalScroll?: () => void;
blockState?: Record<string, any>;
}>;
readonly DisplayBlurb: React.FC<{
model: {
id: string;
type: string;
rpcDriverName: string | undefined;
} & import("mobx-state-tree/dist/internal").NonEmptyObject & {
rendererTypeName: string;
error: unknown;
message: string | undefined;
} & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IModelType<{
id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
type: import("mobx-state-tree").ISimpleType<string>;
rpcDriverName: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
}, {
rendererTypeName: string;
error: unknown;
message: string | undefined;
}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
}> | null;
readonly adapterConfig: any;
readonly parentTrack: any;
renderProps(): any;
readonly rendererType: import("@jbrowse/core/pluggableElementTypes").RendererType;
readonly DisplayMessageComponent: undefined | React.FC<any>;
trackMenuItems(): import("@jbrowse/core/ui").MenuItem[];
readonly viewMenuActions: import("@jbrowse/core/ui").MenuItem[];
regionCannotBeRendered(): null;
} & {
setMessage(arg?: string): void;
setError(error?: unknown): void;
setRpcDriverName(rpcDriverName: string): void;
reload(): void;
} & {
scrollTop: number;
} & {
readonly height: number;
} & {
setScrollTop(scrollTop: number): void;
setHeight(displayHeight: number): number;
resizeHeight(distance: number): number;
} & {
featureDensityStatsP: undefined | Promise<import("@jbrowse/core/data_adapters/BaseAdapter").FeatureDensityStats>;
featureDensityStats: undefined | import("@jbrowse/core/data_adapters/BaseAdapter").FeatureDensityStats;
currStatsBpPerPx: number;
} & {
readonly currentBytesRequested: number;
readonly currentFeatureScreenDensity: number;
readonly maxFeatureScreenDensity: any;
readonly featureDensityStatsReady: boolean;
readonly maxAllowableBytes: number;
} & {
afterAttach(): void;
} & {
setCurrStatsBpPerPx(n: number): void;
setFeatureDensityStatsLimit(stats?: import("@jbrowse/core/data_adapters/BaseAdapter").FeatureDensityStats): void;
getFeatureDensityStats(): Promise<import("@jbrowse/core/data_adapters/BaseAdapter").FeatureDensityStats>;
setFeatureDensityStatsP(arg: any): void;
setFeatureDensityStats(featureDensityStats?: import("@jbrowse/core/data_adapters/BaseAdapter").FeatureDensityStats): void;
clearFeatureDensityStats(): void;
} & {
readonly regionTooLarge: boolean;
readonly regionTooLargeReason: string;
} & {
readonly statsReadyAndRegionNotTooLarge: boolean;
regionCannotBeRenderedText(_region: import("@jbrowse/core/util").Region): "" | "Force load to see features";
regionCannotBeRendered(_region: import("@jbrowse/core/util").Region): import("react/jsx-runtime").JSX.Element | null;
} & {
featureIdUnderMouse: undefined | string;
contextMenuFeature: undefined | Feature;
} & {
readonly DisplayMessageComponent: undefined | React.FC<any>;
readonly blockType: "staticBlocks" | "dynamicBlocks";
readonly blockDefinitions: import("@jbrowse/core/util/blockTypes").BlockSet;
} & {
readonly renderDelay: number;
readonly TooltipComponent: AnyReactComponentType;
readonly selectedFeatureId: string | undefined;
copyInfoToClipboard(feature: Feature): void;
} & {
readonly features: import("@jbrowse/core/util/compositeMap").default<string, Feature>;
readonly featureUnderMouse: Feature | undefined;
getFeatureOverlapping(blockKey: string, x: number, y: number): string | undefined;
getFeatureByID(blockKey: string, id: string): [number, number, number, number] | undefined;
searchFeatureByID(id: string): [number, number, number, number] | undefined;
} & {
addBlock(key: string, block: import("@jbrowse/core/util/blockTypes").BaseBlock): void;
deleteBlock(key: string): void;
selectFeature(feature: Feature): void;
navToFeature(feature: Feature): void;
clearFeatureSelection(): void;
setFeatureIdUnderMouse(feature?: string): void;
setContextMenuFeature(feature?: Feature): void;
} & {
reload(): Promise<void>;
} & {
trackMenuItems(): import("@jbrowse/core/ui").MenuItem[];
contextMenuItems(): import("@jbrowse/core/ui").MenuItem[];
renderProps(): any;
} & {
renderSvg(opts: ExportSvgDisplayOptions): Promise<import("react/jsx-runtime").JSX.Element>;
afterAttach(): void;
} & {
message: undefined | string;
stats: {
currStatsBpPerPx: number;
scoreMin: number;
scoreMax: number;
} | undefined;
statsFetchInProgress: undefined | string;
} & {
updateQuantitativeStats(stats: {
currStatsBpPerPx: number;
scoreMin: number;
scoreMax: number;
}): void;
setColor(color?: string): void;
setPosColor(color?: string): void;
setNegColor(color?: string): void;
setStatsLoading(arg?: string): void;
selectFeature(feature: Feature): void;
setResolution(res: number): void;
setFill(fill: number): void;
toggleLogScale(): void;
setScaleType(scale?: string): void;
setSummaryScoreMode(val: string): void;
setAutoscale(val: string): void;
setMaxScore(val?: number): void;
setRendererType(val: string): void;
setMinScore(val?: number): void;
toggleCrossHatches(): void;
setCrossHatches(cross: boolean): void;
} & {
readonly adapterTypeName: any;
readonly rendererTypeNameSimple: string;
readonly filters: undefined;
readonly scaleType: string;
readonly maxScore: number;
readonly minScore: number;
} & {
readonly adapterCapabilities: string[];
readonly rendererConfig: {
[x: string]: any;
} & import("mobx-state-tree/dist/internal").NonEmptyObject & {
setSubschema(slotName: string, data: Record<string, unknown>): Record<string, unknown> | ({
[x: string]: any;
} & import("mobx-state-tree/dist/internal").NonEmptyObject & {
setSubschema(slotName: string, data: Record<string, unknown>): Record<string, unknown> | ({
[x: string]: any;
} & import("mobx-state-tree/dist/internal").NonEmptyObject & any & import("mobx-state-tree").IStateTreeNode<AnyConfigurationSchemaType>);
} & import("mobx-state-tree").IStateTreeNode<AnyConfigurationSchemaType>);
} & import("mobx-state-tree").IStateTreeNode<AnyConfigurationSchemaType>;
readonly autoscaleType: string;
} & {
readonly domain: number[] | undefined;
} & {
readonly filled: boolean;
readonly summaryScoreModeSetting: string;
readonly scaleOpts: {
domain: number[] | undefined;
stats: {
currStatsBpPerPx: number;
scoreMin: number;
scoreMax: number;
} | undefined;
autoscaleType: string;
scaleType: string;
inverted: boolean;
};
readonly canHaveFill: boolean;
readonly displayCrossHatchesSetting: boolean;
readonly hasResolution: boolean;
readonly hasGlobalStats: boolean;
} & {
scoreTrackMenuItems(): ({
label: string;
subMenu: {
label: string;
onClick: () => void;
}[];
onClick?: undefined;
} | {
label: string;
subMenu: {
label: string;
type: string;
checked: boolean;
onClick: () => void;
}[];
onClick?: undefined;
} | {
label: string;
onClick: () => void;
subMenu?: undefined;
})[];
} & {
reload(): Promise<void>;
} & {
sourcesLoadingStopToken: string | undefined;
featureUnderMouseVolatile: Feature | undefined;
sourcesVolatile: Source[] | undefined;
} & {
setShowSidebar(arg: boolean): void;
setSourcesLoading(str: string): void;
setLayout(layout: Source[]): void;
clearLayout(): void;
setSources(sources: Source[]): void;
setFeatureUnderMouse(f?: Feature): void;
} & {
readonly featureUnderMouse: Feature | undefined;
readonly TooltipComponent: AnyReactComponentType;
readonly rendererTypeName: string;
} & {
readonly graphType: boolean;
readonly needsFullHeightScalebar: boolean;
readonly isMultiRow: boolean;
readonly needsCustomLegend: boolean;
readonly canHaveFill: boolean;
readonly renderColorBoxes: boolean;
readonly prefersOffset: boolean;
readonly sourcesWithoutLayout: {
color: string;
baseUri?: string;
name: string;
group?: string;
}[] | undefined;
readonly sources: {
color: string;
baseUri?: string;
name: string;
group?: string;
}[] | undefined;
readonly quantitativeStatsReady: boolean;
} & {
readonly rowHeight: number;
readonly rowHeightTooSmallForScalebar: boolean;
readonly useMinimalTicks: boolean;
} & {
adapterProps(): any;
readonly ticks: {
range: number[];
values: number[];
format: (d: import("d3-scale").NumberValue) => string;
position: import("d3-scale").ScaleLinear<number, number, never> | import("d3-scale").ScaleQuantize<number, never>;
} | undefined;
readonly colors: string[];
readonly quantitativeStatsRelevantToCurrentZoom: boolean;
} & {
readonly legendFontSize: number;
readonly canDisplayLegendLabels: boolean;
readonly labelWidth: number;
renderProps(): any;
readonly hasResolution: boolean;
readonly hasGlobalStats: boolean;
readonly fillSetting: 2 | 1 | 0;
} & {
trackMenuItems(): (import("@jbrowse/core/ui").MenuDivider | import("@jbrowse/core/ui").MenuSubHeader | import("@jbrowse/core/ui").NormalMenuItem | import("@jbrowse/core/ui").CheckboxMenuItem | import("@jbrowse/core/ui").RadioMenuItem | import("@jbrowse/core/ui").SubMenuItem | {
label: string;
subMenu: ({
label: string;
subMenu: {
label: string;
onClick: () => void;
}[];
onClick?: undefined;
} | {
label: string;
subMenu: {
label: string;
type: string;
checked: boolean;
onClick: () => void;
}[];
onClick?: undefined;
} | {
label: string;
onClick: () => void;
subMenu?: undefined;
})[];
type?: undefined;
checked?: undefined;
onClick?: undefined;
} | {
label: string;
subMenu: {
label: string;
type: string;
checked: boolean;
onClick: () => void;
}[];
type?: undefined;
checked?: undefined;
onClick?: undefined;
} | {
type: string;
label: string;
checked: boolean;
onClick: () => void;
subMenu?: undefined;
})[];
} & {
afterAttach(): void;
renderSvg(opts: ExportSvgDisplayOptions): Promise<import("react/jsx-runtime").JSX.Element>;
}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
export type WiggleDisplayStateModel = ReturnType<typeof stateModelFactory>;
export type WiggleDisplayModel = Instance<WiggleDisplayStateModel>;
export default stateModelFactory;