UNPKG

@jbrowse/plugin-linear-genome-view

Version:

JBrowse 2 linear genome view

302 lines (301 loc) 17.9 kB
import type React from 'react'; import type { BpOffset, ExportSvgOptions, HighlightType, InitState, NavLocation, VolatileGuide } from './types.ts'; import type PluginManager from '@jbrowse/core/PluginManager'; import type BaseResult from '@jbrowse/core/TextSearch/BaseResults'; import type { Assembly } from '@jbrowse/core/assemblyManager/assembly'; import type { MenuItem } from '@jbrowse/core/ui'; import type { ParsedLocString } from '@jbrowse/core/util'; import type { BaseBlock, BlockSet } from '@jbrowse/core/util/blockTypes'; import type { Region } from '@jbrowse/core/util/types'; import type { Instance } from '@jbrowse/mobx-state-tree'; export declare function stateModelFactory(pluginManager: PluginManager): import("@jbrowse/mobx-state-tree").IModelType<{ id: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<string>, [undefined]>; displayName: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<string>>; minimized: import("@jbrowse/mobx-state-tree").IType<boolean | undefined, boolean, boolean>; } & { id: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<string>, [undefined]>; type: import("@jbrowse/mobx-state-tree").IType<string | undefined, string, string>; offsetPx: import("@jbrowse/mobx-state-tree").IType<number | undefined, number, number>; bpPerPx: import("@jbrowse/mobx-state-tree").IType<number | undefined, number, number>; displayedRegions: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").IType<Region[], Region[], Region[]>, [undefined]>; tracks: import("@jbrowse/mobx-state-tree").IArrayType<import("@jbrowse/mobx-state-tree").IAnyType>; hideHeader: import("@jbrowse/mobx-state-tree").IType<boolean | undefined, boolean, boolean>; hideHeaderOverview: import("@jbrowse/mobx-state-tree").IType<boolean | undefined, boolean, boolean>; hideNoTracksActive: import("@jbrowse/mobx-state-tree").IType<boolean | undefined, boolean, boolean>; trackSelectorType: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<string>, [undefined]>; showCenterLine: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>; showCytobandsSetting: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>; trackLabels: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<string>, [undefined]>; showGridlines: import("@jbrowse/mobx-state-tree").IType<boolean | undefined, boolean, boolean>; highlight: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").IArrayType<import("@jbrowse/mobx-state-tree").IType<HighlightType, HighlightType, HighlightType>>, [undefined]>; highlightsVisible: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>; labelsVisible: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>; colorByCDS: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>; showTrackOutlines: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>; init: import("@jbrowse/mobx-state-tree").IType<InitState | undefined, InitState | undefined, InitState | undefined>; }, { width: number; } & { menuItems(): MenuItem[]; } & { setDisplayName(name: string): void; setWidth(newWidth: number): void; setMinimized(flag: boolean): void; } & { volatileWidth: number | undefined; minimumBlockWidth: number; draggingTrackId: undefined | string; lastTrackDragY: undefined | number; volatileError: unknown; scaleFactor: number; targetBpPerPx: number | undefined; trackRefs: Record<string, HTMLDivElement>; coarseDynamicBlocks: BaseBlock[]; coarseTotalBp: number; leftOffset: undefined | BpOffset; rightOffset: undefined | BpOffset; isScalebarRefNameMenuOpen: boolean; scalebarRefNameClickPending: boolean; volatileGuides: VolatileGuide[]; } & { readonly pinnedTracks: any[]; readonly unpinnedTracks: any[]; readonly trackLabelsSetting: any; readonly width: number; readonly interRegionPaddingWidth: number; readonly assemblyNames: string[]; readonly assemblyDisplayNames: string[]; readonly isTopLevelView: boolean; readonly stickyViewHeaders: boolean; readonly rubberbandTop: number; readonly pinnedTracksTop: number; } & { scalebarDisplayPrefix(): string | undefined; MiniControlsComponent(): React.FC<any>; HeaderComponent(): React.FC<any>; readonly assembliesNotFound: string | undefined; readonly assemblyErrors: string; readonly assembliesInitialized: boolean; readonly initialized: boolean; readonly hasDisplayedRegions: boolean; readonly loadingMessage: "Loading" | undefined; readonly hasSomethingToShow: boolean; readonly showLoading: boolean; readonly showImportForm: boolean; readonly scalebarHeight: number; readonly headerHeight: number; readonly trackHeights: number; readonly trackHeightsWithResizeHandles: number; readonly height: number; readonly totalBp: number; getNonElidedRegionCount(bpPerPx: number): number; getInterRegionPaddingPx(bpPerPx: number): number; readonly maxBpPerPx: number; readonly minBpPerPx: number; readonly error: unknown; readonly maxOffset: number; readonly minOffset: number; readonly displayedRegionsTotalPx: number; renderProps(): any; searchScope(assemblyName: string): { assemblyName: string; includeAggregateIndexes: boolean; tracks: import("@jbrowse/mobx-state-tree").IMSTArray<import("@jbrowse/mobx-state-tree").IAnyType> & import("@jbrowse/mobx-state-tree").IStateTreeNode<import("@jbrowse/mobx-state-tree").IArrayType<import("@jbrowse/mobx-state-tree").IAnyType>>; }; readonly trackMap: Map<any, any>; getTrack(id: string): any; rankSearchResults(results: BaseResult[]): BaseResult[]; readonly trackTypeActions: Map<string, MenuItem[]>; } & { setShowTrackOutlines(arg: boolean): void; setColorByCDS(flag: boolean): void; setShowCytobands(flag: boolean): void; setWidth(newWidth: number): void; setError(error: unknown): void; setIsScalebarRefNameMenuOpen(isOpen: boolean): void; setScalebarRefNameClickPending(pending: boolean): void; setHideHeader(b: boolean): void; setHideHeaderOverview(b: boolean): void; setHideNoTracksActive(b: boolean): void; setShowGridlines(b: boolean): void; addToHighlights(highlight: HighlightType): void; setHighlight(highlight?: HighlightType[]): void; removeHighlight(highlight: HighlightType): void; updateHighlight(old: HighlightType, updates: Partial<HighlightType>): void; setHighlightsVisible(arg: boolean): void; setLabelsVisible(arg: boolean): void; setVolatileGuides(guides: VolatileGuide[]): void; scrollTo(offsetPx: number): number; zoomTo(bpPerPx: number, offset?: number, centerAtOffset?: boolean): number; setOffsets(left?: BpOffset, right?: BpOffset): void; setSearchResults(searchResults: BaseResult[], searchQuery: string, assemblyName?: string): void; setNewView(bpPerPx: number, offsetPx: number): void; horizontallyFlip(): void; showTrack(trackId: string, initialSnapshot?: {}, displayInitialSnapshot?: {}): any; hideTrack(trackId: string): 0 | 1; } & { moveTrackDown(id: string): void; moveTrackUp(id: string): void; moveTrackToTop(id: string): void; moveTrackToBottom(id: string): void; moveTrack(movingId: string, targetId: string): void; toggleTrack(trackId: string): void; setTrackLabels(setting: "overlapping" | "offset" | "hidden"): void; setShowCenterLine(b: boolean): void; setDisplayedRegions(regions: Region[]): void; activateTrackSelector(): import("@jbrowse/core/util").Widget; getSelectedRegions(leftOffset?: BpOffset, rightOffset?: BpOffset): { assemblyName: string; refName: string; start: number; end: number; }[]; horizontalScroll(distance: number): number; showAllRegions(): void; showAllRegionsInAssembly(assemblyName?: string): void; setDraggingTrackId(idx?: string): void; setLastTrackDragY(y: number): void; setScaleFactor(factor: number): void; setTargetBpPerPx(target: number | undefined): void; clearView(): void; setInit(arg?: InitState): void; exportSvg(opts?: ExportSvgOptions): Promise<void>; } & { slide: (viewWidths: number) => void; } & { zoom: (targetBpPerPx: number) => void; } & { readonly canShowCytobands: boolean; readonly showCytobands: boolean; readonly anyCytobandsExist: boolean; readonly cytobandOffset: number; } & { menuItems(): MenuItem[]; } & { readonly staticBlocks: BlockSet; readonly dynamicBlocks: BlockSet; readonly roundedDynamicBlocks: BaseBlock[]; readonly visibleLocStrings: string; readonly coarseVisibleLocStrings: string; readonly coarseTotalBpDisplayStr: string; readonly effectiveBpPerPx: number; readonly effectiveTotalBp: number; readonly effectiveTotalBpDisplayStr: string; } & { setCoarseDynamicBlocks(blocks: BlockSet): void; } & { moveTo(start?: BpOffset, end?: BpOffset): void; navToLocString(input: string, optAssemblyName?: string, grow?: number): Promise<void>; navToSearchString({ input, assembly, }: { input: string; assembly: Assembly; }): Promise<void>; navToLocation(parsedLocString: ParsedLocString, assemblyName?: string, grow?: number): Promise<void>; navToLocations(regions: ParsedLocString[], assemblyName?: string, grow?: number): Promise<void>; navTo(query: NavLocation, grow?: number): void; navToMultiple(locations: NavLocation[], grow?: number): void; } & { rubberBandMenuItems(): MenuItem[]; bpToPx({ refName, coord, regionNumber, }: { refName: string; coord: number; regionNumber?: number; }): { index: number; offsetPx: number; } | undefined; getHighlightCoords(region: { assemblyName?: string; refName: string; start: number; end: number; }): { width: number; left: number; } | undefined; centerAt(coord: number, refName: string, regionNumber?: number): void; pxToBp(px: number): { coord: number; index: number; refName: string; oob: boolean; assemblyName: string; offset: number; start: number; end: number; reversed?: boolean; }; readonly centerLineInfo: { coord: number; index: number; refName: string; oob: boolean; assemblyName: string; offset: number; start: number; end: number; reversed?: boolean; } | undefined; readonly visibleRegions: BaseBlock[]; } & { rubberbandClickMenuItems(clickOffset: BpOffset): MenuItem[]; } & { afterCreate(): void; afterAttach(): void; }, import("@jbrowse/mobx-state-tree").ModelCreationType<import("@jbrowse/mobx-state-tree/dist/internal").ExtractCFromProps<{ id: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<string>, [undefined]>; displayName: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<string>>; minimized: import("@jbrowse/mobx-state-tree").IType<boolean | undefined, boolean, boolean>; } & { id: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<string>, [undefined]>; type: import("@jbrowse/mobx-state-tree").IType<string | undefined, string, string>; offsetPx: import("@jbrowse/mobx-state-tree").IType<number | undefined, number, number>; bpPerPx: import("@jbrowse/mobx-state-tree").IType<number | undefined, number, number>; displayedRegions: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").IType<Region[], Region[], Region[]>, [undefined]>; tracks: import("@jbrowse/mobx-state-tree").IArrayType<import("@jbrowse/mobx-state-tree").IAnyType>; hideHeader: import("@jbrowse/mobx-state-tree").IType<boolean | undefined, boolean, boolean>; hideHeaderOverview: import("@jbrowse/mobx-state-tree").IType<boolean | undefined, boolean, boolean>; hideNoTracksActive: import("@jbrowse/mobx-state-tree").IType<boolean | undefined, boolean, boolean>; trackSelectorType: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<string>, [undefined]>; showCenterLine: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>; showCytobandsSetting: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>; trackLabels: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<string>, [undefined]>; showGridlines: import("@jbrowse/mobx-state-tree").IType<boolean | undefined, boolean, boolean>; highlight: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").IArrayType<import("@jbrowse/mobx-state-tree").IType<HighlightType, HighlightType, HighlightType>>, [undefined]>; highlightsVisible: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>; labelsVisible: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>; colorByCDS: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>; showTrackOutlines: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>; init: import("@jbrowse/mobx-state-tree").IType<InitState | undefined, InitState | undefined, InitState | undefined>; }>>, import("@jbrowse/mobx-state-tree").ModelSnapshotType<{ id: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<string>, [undefined]>; displayName: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<string>>; minimized: import("@jbrowse/mobx-state-tree").IType<boolean | undefined, boolean, boolean>; } & { id: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<string>, [undefined]>; type: import("@jbrowse/mobx-state-tree").IType<string | undefined, string, string>; offsetPx: import("@jbrowse/mobx-state-tree").IType<number | undefined, number, number>; bpPerPx: import("@jbrowse/mobx-state-tree").IType<number | undefined, number, number>; displayedRegions: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").IType<Region[], Region[], Region[]>, [undefined]>; tracks: import("@jbrowse/mobx-state-tree").IArrayType<import("@jbrowse/mobx-state-tree").IAnyType>; hideHeader: import("@jbrowse/mobx-state-tree").IType<boolean | undefined, boolean, boolean>; hideHeaderOverview: import("@jbrowse/mobx-state-tree").IType<boolean | undefined, boolean, boolean>; hideNoTracksActive: import("@jbrowse/mobx-state-tree").IType<boolean | undefined, boolean, boolean>; trackSelectorType: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<string>, [undefined]>; showCenterLine: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>; showCytobandsSetting: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>; trackLabels: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<string>, [undefined]>; showGridlines: import("@jbrowse/mobx-state-tree").IType<boolean | undefined, boolean, boolean>; highlight: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").IArrayType<import("@jbrowse/mobx-state-tree").IType<HighlightType, HighlightType, HighlightType>>, [undefined]>; highlightsVisible: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>; labelsVisible: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>; colorByCDS: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>; showTrackOutlines: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>; init: import("@jbrowse/mobx-state-tree").IType<InitState | undefined, InitState | undefined, InitState | undefined>; }>>; export type LinearGenomeViewStateModel = ReturnType<typeof stateModelFactory>; export type LinearGenomeViewModel = Instance<LinearGenomeViewStateModel>; export { default as LinearGenomeView, default as ReactComponent, } from './components/LinearGenomeView.tsx'; export { default as RefNameAutocomplete } from './components/RefNameAutocomplete/index.tsx'; export { default as SearchBox } from './components/SearchBox.tsx'; export { renderToSvg } from './svgcomponents/SVGLinearGenomeView.tsx';