@weng-lab/genomebrowser 1.8.5-beta.0 → 1.8.5-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api/fetchers.d.ts +1 -3
- package/dist/api/getBigWigData.d.ts +1 -2
- package/dist/components/tracks/bigbed/dense.d.ts +2 -2
- package/dist/components/tracks/bigbed/helpers.d.ts +4 -10
- package/dist/components/tracks/bigbed/schema.d.ts +3 -0
- package/dist/components/tracks/bigbed/squish.d.ts +2 -2
- package/dist/components/tracks/bigbed/types.d.ts +65 -10
- package/dist/genomebrowser.es.js +4865 -4829
- package/dist/genomebrowser.es.js.map +1 -1
- package/dist/hooks/useInteraction.d.ts +1 -1
- package/dist/lib.d.ts +6 -6
- package/dist/store/trackStore.d.ts +2 -1
- package/package.json +1 -1
package/dist/api/fetchers.d.ts
CHANGED
|
@@ -2,10 +2,9 @@ import { LazyQueryExecFunction, OperationVariables } from '@apollo/client';
|
|
|
2
2
|
import { Track } from '../store/trackStore';
|
|
3
3
|
import { TrackType } from '../components/tracks/types';
|
|
4
4
|
import { Domain } from '../utils/types';
|
|
5
|
+
import { BigBedParser } from '../components/tracks/bigbed/types';
|
|
5
6
|
import { TrackDataState } from '../store/dataStore';
|
|
6
|
-
import { BigBedParser } from './getBigWigData';
|
|
7
7
|
export interface QueryHooks {
|
|
8
|
-
fetchBigData: LazyQueryExecFunction<any, OperationVariables>;
|
|
9
8
|
fetchGene: LazyQueryExecFunction<any, OperationVariables>;
|
|
10
9
|
fetchMotif: LazyQueryExecFunction<any, OperationVariables>;
|
|
11
10
|
getTrackData: (id: string) => TrackDataState | undefined;
|
|
@@ -18,7 +17,6 @@ export type FetcherContext<T extends Track = Track> = {
|
|
|
18
17
|
queries: QueryHooks;
|
|
19
18
|
};
|
|
20
19
|
export type FetchFunction = (ctx: FetcherContext) => Promise<TrackDataState>;
|
|
21
|
-
export declare function getBigDataRace(url: string, expandedDomain: Domain, preRenderedWidth: number, _queries: QueryHooks, parser?: BigBedParser): Promise<TrackDataState>;
|
|
22
20
|
/**
|
|
23
21
|
* Fetch a BigBed/BigWig URL using the fetcher context.
|
|
24
22
|
* Useful for custom track fetchers that need to load .bb/.bw files.
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { BigZoomData } from 'genomic-reader';
|
|
2
|
+
import { BigBedParser } from '../components/tracks/bigbed/types';
|
|
2
3
|
import { TrackDataState } from '../store/dataStore';
|
|
3
4
|
import { Domain } from '../utils/types';
|
|
4
|
-
export type BigBedParser = (chrom: string, startBase: number, endBase: number, rest: string) => any;
|
|
5
5
|
export declare function getBigData(url: string, expandedDomain: Domain, preRenderedWidth?: number, parser?: BigBedParser): Promise<TrackDataState>;
|
|
6
6
|
export declare function condensedZoomData(data: BigZoomData[], preRenderedWidth: number, start: number, end: number): Promise<any[]>;
|
|
7
|
-
export declare function ogBigDataFetcher(url: string, expandedDomain: Domain, preRenderedWidth: number, queries: any): Promise<TrackDataState>;
|
|
8
7
|
export declare function applyFillWithZero(data: {
|
|
9
8
|
min: number | null;
|
|
10
9
|
max: number | null;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { DenseBigBedProps } from './types';
|
|
2
|
-
declare function DenseBigBed({ id, data, height, color, dimensions, verticalPadding, onClick, onHover, onLeave, tooltip, }: DenseBigBedProps): import("react/jsx-runtime").JSX.Element;
|
|
1
|
+
import { DenseBigBedProps, Rect, RenderableBigBedRow } from './types';
|
|
2
|
+
declare function DenseBigBed<Row extends RenderableBigBedRow = Rect>({ id, data, height, color, dimensions, verticalPadding, onClick, onHover, onLeave, tooltip, }: DenseBigBedProps<Row>): import("react/jsx-runtime").JSX.Element;
|
|
3
3
|
export default DenseBigBed;
|
|
@@ -1,15 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { RenderableBigBedRow, RenderedRect, RenderedSquishRect } from './types';
|
|
2
2
|
/**
|
|
3
3
|
* Renders dense BigBed data to SVG rectangles; overlapping regions are merged into single rectangles.
|
|
4
4
|
* @param data input data vector.
|
|
5
5
|
* @param x a transform function for mapping data coordinates to SVG coordinates.
|
|
6
6
|
*/
|
|
7
|
-
export declare function renderDenseBigBedData(data:
|
|
8
|
-
export declare function renderSquishBigBedData(data:
|
|
9
|
-
export declare const getRealRect: (rect:
|
|
10
|
-
start: number;
|
|
11
|
-
end: number;
|
|
12
|
-
color?: string;
|
|
13
|
-
name?: string;
|
|
14
|
-
score?: number;
|
|
15
|
-
};
|
|
7
|
+
export declare function renderDenseBigBedData<Row extends RenderableBigBedRow>(data: Row[], x: (value: number) => number): RenderedRect<Row>[];
|
|
8
|
+
export declare function renderSquishBigBedData<Row extends RenderableBigBedRow>(data: Row[], x: (value: number) => number): RenderedSquishRect<Row>[][];
|
|
9
|
+
export declare const getRealRect: <Row extends RenderableBigBedRow>(rect: Row, reverseX: (value: number) => number) => Row;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { BigBedParser, BigBedSchema, InferBigBedRow } from './types';
|
|
2
|
+
export declare function defineBigBedSchema<const TSchema extends BigBedSchema>(schema: TSchema): TSchema;
|
|
3
|
+
export declare function createBigBedSchemaParser<TSchema extends BigBedSchema>(schema: TSchema): BigBedParser<InferBigBedRow<TSchema>>;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { SquishBigBedProps } from './types';
|
|
2
|
-
export default function SquishBigBed({ id, data, height, dimensions, color, onClick, onHover, onLeave, tooltip, }: SquishBigBedProps): import("react/jsx-runtime").JSX.Element;
|
|
1
|
+
import { Rect, RenderableBigBedRow, SquishBigBedProps } from './types';
|
|
2
|
+
export default function SquishBigBed<Row extends RenderableBigBedRow = Rect>({ id, data, height, dimensions, color, onClick, onHover, onLeave, tooltip, }: SquishBigBedProps<Row>): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,22 +1,59 @@
|
|
|
1
|
-
import { TrackType, TrackDimensions, Config } from '../types';
|
|
2
|
-
export
|
|
1
|
+
import { TrackType, TrackDimensions, Config, InteractionConfig } from '../types';
|
|
2
|
+
export type BigBedFieldKind = "string" | "number";
|
|
3
|
+
export type ReservedBigBedSchemaKey = "chr" | "start" | "end" | "rest";
|
|
4
|
+
export type BigBedSchema = Record<string, BigBedFieldKind>;
|
|
5
|
+
type ValidBigBedSchema<TSchema extends BigBedSchema> = Extract<keyof TSchema, ReservedBigBedSchemaKey> extends never ? TSchema : never;
|
|
6
|
+
export interface BigBedRow {
|
|
7
|
+
chr: string;
|
|
8
|
+
start: number;
|
|
9
|
+
end: number;
|
|
10
|
+
}
|
|
11
|
+
export type BigBedParser<Row = unknown> = (chrom: string, startBase: number, endBase: number, rest: string) => Row;
|
|
12
|
+
type InferBigBedFieldValue<TKind extends BigBedFieldKind> = TKind extends "number" ? number | string | undefined : string | undefined;
|
|
13
|
+
type InferBigBedSchemaFields<TSchema extends BigBedSchema> = {
|
|
14
|
+
[Key in keyof TSchema]: InferBigBedFieldValue<TSchema[Key]>;
|
|
15
|
+
};
|
|
16
|
+
export type InferBigBedRow<TSchema extends BigBedSchema | undefined = undefined> = TSchema extends BigBedSchema ? BigBedRow & InferBigBedSchemaFields<TSchema> & {
|
|
17
|
+
rest: string[];
|
|
18
|
+
} : Rect;
|
|
19
|
+
export interface RenderableBigBedRow {
|
|
20
|
+
start: number;
|
|
21
|
+
end: number;
|
|
22
|
+
color?: string;
|
|
23
|
+
name?: string;
|
|
24
|
+
score?: number | string;
|
|
25
|
+
}
|
|
26
|
+
type BivariantCallback<Item> = {
|
|
27
|
+
bivarianceHack(item: Item): void;
|
|
28
|
+
}["bivarianceHack"];
|
|
29
|
+
type BivariantTooltip<Item> = {
|
|
30
|
+
bivarianceHack(props: Item): ReturnType<React.FC<any>>;
|
|
31
|
+
}["bivarianceHack"];
|
|
32
|
+
interface BigBedInteractionConfig<Item> extends Omit<InteractionConfig<Item>, "onClick" | "onHover" | "onLeave" | "tooltip"> {
|
|
33
|
+
onClick?: BivariantCallback<Item>;
|
|
34
|
+
onHover?: BivariantCallback<Item>;
|
|
35
|
+
onLeave?: BivariantCallback<Item>;
|
|
36
|
+
tooltip?: BivariantTooltip<Item>;
|
|
37
|
+
}
|
|
38
|
+
export interface BigBedConfig<TSchema extends BigBedSchema | undefined = undefined> extends Omit<Config<InferBigBedRow<TSchema>>, keyof InteractionConfig<InferBigBedRow<TSchema>>>, BigBedInteractionConfig<InferBigBedRow<TSchema>> {
|
|
3
39
|
trackType: TrackType.BigBed;
|
|
4
40
|
url: string;
|
|
41
|
+
schema?: TSchema extends BigBedSchema ? ValidBigBedSchema<TSchema> : TSchema;
|
|
5
42
|
}
|
|
6
|
-
interface BigBedProps {
|
|
43
|
+
interface BigBedProps<Row extends RenderableBigBedRow = Rect> {
|
|
7
44
|
id: string;
|
|
8
|
-
data:
|
|
45
|
+
data: Row[];
|
|
9
46
|
color: string;
|
|
10
47
|
height: number;
|
|
11
48
|
dimensions: TrackDimensions;
|
|
12
49
|
verticalPadding?: number;
|
|
13
|
-
onClick?: (rect:
|
|
14
|
-
onHover?: (rect:
|
|
15
|
-
onLeave?: (rect:
|
|
16
|
-
tooltip?: React.FC<
|
|
50
|
+
onClick?: (rect: Row) => void;
|
|
51
|
+
onHover?: (rect: Row) => void;
|
|
52
|
+
onLeave?: (rect: Row) => void;
|
|
53
|
+
tooltip?: React.FC<Row>;
|
|
17
54
|
}
|
|
18
|
-
export type SquishBigBedProps = BigBedProps
|
|
19
|
-
export type DenseBigBedProps = BigBedProps
|
|
55
|
+
export type SquishBigBedProps<Row extends RenderableBigBedRow = Rect> = BigBedProps<Row>;
|
|
56
|
+
export type DenseBigBedProps<Row extends RenderableBigBedRow = Rect> = BigBedProps<Row>;
|
|
20
57
|
export interface Rect {
|
|
21
58
|
start: number;
|
|
22
59
|
end: number;
|
|
@@ -28,7 +65,25 @@ export interface SquishRect {
|
|
|
28
65
|
start: number;
|
|
29
66
|
end: number;
|
|
30
67
|
color?: string;
|
|
68
|
+
name?: string;
|
|
31
69
|
rectname?: string;
|
|
32
70
|
score?: number;
|
|
33
71
|
}
|
|
72
|
+
export interface RenderedRect<Row extends RenderableBigBedRow = Rect> {
|
|
73
|
+
start: number;
|
|
74
|
+
end: number;
|
|
75
|
+
color?: Row["color"];
|
|
76
|
+
name?: Row["name"];
|
|
77
|
+
score?: Row["score"];
|
|
78
|
+
row: Row;
|
|
79
|
+
}
|
|
80
|
+
export interface RenderedSquishRect<Row extends RenderableBigBedRow = Rect> {
|
|
81
|
+
start: number;
|
|
82
|
+
end: number;
|
|
83
|
+
color?: Row["color"];
|
|
84
|
+
name?: Row["name"];
|
|
85
|
+
score?: Row["score"];
|
|
86
|
+
rectname?: string;
|
|
87
|
+
row: Row;
|
|
88
|
+
}
|
|
34
89
|
export {};
|