@jbrowse/bandage-core 0.1.4 → 0.1.6
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/README.md +2 -0
- package/dist/index.js +1197 -667
- package/dist/types/index.d.ts +10 -0
- package/dist/types/layout/walkRows.d.ts +2 -0
- package/dist/types/pipeline.d.ts +4 -1
- package/dist/types/reference.d.ts +23 -0
- package/dist/types/renderer/GeometryBuilder.d.ts +1 -0
- package/dist/types/tubeMap/axis.d.ts +32 -0
- package/dist/types/tubeMap/connectors.d.ts +23 -0
- package/dist/types/tubeMap/draw.d.ts +1 -0
- package/dist/types/tubeMap/frame.d.ts +1 -1
- package/dist/types/tubeMap/genes.d.ts +14 -0
- package/package.json +1 -1
package/dist/types/index.d.ts
CHANGED
|
@@ -21,6 +21,12 @@ export type { TubeMapFrame, TubeMapPicture } from './tubeMap/draw.js';
|
|
|
21
21
|
export { referenceKnots, warpX } from './tubeMap/warp.js';
|
|
22
22
|
export { tubeMapFrame, tubeMapNodeAt } from './tubeMap/frame.js';
|
|
23
23
|
export type { TubeMapTransform, TubeMapView } from './tubeMap/frame.js';
|
|
24
|
+
export { drawTubeMapRuler, referenceBoxes, rulerBoxes, tubeX, } from './tubeMap/axis.js';
|
|
25
|
+
export type { Box as TubeMapBox, ReferenceBoxes } from './tubeMap/axis.js';
|
|
26
|
+
export { drawTubeMapGenes, tubeMapGenes } from './tubeMap/genes.js';
|
|
27
|
+
export type { TubeMapGene } from './tubeMap/genes.js';
|
|
28
|
+
export { connectorAt, drawTubeMapConnectors, referenceNodes, tubeMapConnectors, } from './tubeMap/connectors.js';
|
|
29
|
+
export type { Connector, ReferenceNode } from './tubeMap/connectors.js';
|
|
24
30
|
export type { TubeMapColumn, TubeMapDrawing } from './layout/tubeMapLayout.js';
|
|
25
31
|
export { deletionEdges } from './deletionEdges.js';
|
|
26
32
|
export type { DeletionEdge } from './deletionEdges.js';
|
|
@@ -39,6 +45,10 @@ export { ROW_HEIGHT_PX } from './layout/rowSpacing.js';
|
|
|
39
45
|
export { HALO_FACTOR, LEGEND_INSET_PX, layoutLabels } from './labelLayout.js';
|
|
40
46
|
export type { BubbleGlyph, LabelLayout, LabelLayoutSource } from './labelLayout.js';
|
|
41
47
|
export { formatBp } from './graphLabels.js';
|
|
48
|
+
export { genePins } from './genes/genePins.js';
|
|
49
|
+
export type { GeneModel, GenePin } from './genes/genePins.js';
|
|
50
|
+
export { WELL_KNOWN_SAMPLES, backboneAssembly, featuresOnBackbone, graphBackbone, refNameBinding, wellKnownSample, } from './reference.js';
|
|
51
|
+
export type { AssemblyNames, Backbone, BackboneContig } from './reference.js';
|
|
42
52
|
export { LABEL_CHAR_PX, LABEL_PAD, LABEL_PX } from './overlayLabels.js';
|
|
43
53
|
export type { Graph, GraphEdge, GraphNode, LayoutResult, NodeSegment, } from './types.js';
|
|
44
54
|
export { cutWindowGFA, haplotypeWanted, referencePathQuery, referenceSamplesOf, resolveReferenceSample, } from './gbzWindow.js';
|
package/dist/types/pipeline.d.ts
CHANGED
|
@@ -60,7 +60,10 @@ export declare function fitTransform(bounds: {
|
|
|
60
60
|
minY: number;
|
|
61
61
|
w: number;
|
|
62
62
|
h: number;
|
|
63
|
-
}, paneWidth: number, paneHeight: number, pixelRows: boolean
|
|
63
|
+
}, paneWidth: number, paneHeight: number, pixelRows: boolean, { minScale, padLeft }?: {
|
|
64
|
+
minScale?: number | undefined;
|
|
65
|
+
padLeft?: number | undefined;
|
|
66
|
+
}): {
|
|
64
67
|
scale: number;
|
|
65
68
|
translateX: number;
|
|
66
69
|
translateY: number;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { Graph } from './types.js';
|
|
2
|
+
export interface BackboneContig {
|
|
3
|
+
refName: string;
|
|
4
|
+
contig: string;
|
|
5
|
+
start: number;
|
|
6
|
+
end: number;
|
|
7
|
+
}
|
|
8
|
+
export interface Backbone {
|
|
9
|
+
contigs: BackboneContig[];
|
|
10
|
+
prefixes: string[];
|
|
11
|
+
}
|
|
12
|
+
export interface AssemblyNames {
|
|
13
|
+
name: string;
|
|
14
|
+
aliases?: string[];
|
|
15
|
+
}
|
|
16
|
+
export declare const WELL_KNOWN_SAMPLES: ReadonlyMap<string, string>;
|
|
17
|
+
export declare function wellKnownSample(assemblyName: string): string | undefined;
|
|
18
|
+
export declare function graphBackbone(graph: Graph): Backbone | undefined;
|
|
19
|
+
export declare function backboneAssembly<T extends AssemblyNames>(backbone: Backbone | undefined, assemblies: T[]): T | undefined;
|
|
20
|
+
export declare function refNameBinding(refNames: Iterable<string>): (name: string) => string | undefined;
|
|
21
|
+
export declare function featuresOnBackbone<T extends {
|
|
22
|
+
refName: string;
|
|
23
|
+
}>(features: readonly T[], backbone: Backbone): T[];
|
|
@@ -29,6 +29,7 @@ export interface BuildOptions {
|
|
|
29
29
|
}
|
|
30
30
|
export declare function hslToRgb(h: number, s: number, l: number): [number, number, number];
|
|
31
31
|
export declare const REFERENCE_RAMP_MAX_HUE = 300;
|
|
32
|
+
export declare const REFERENCE_RAMP_ALT_CSS: string;
|
|
32
33
|
export interface ReferenceRamp {
|
|
33
34
|
start: number;
|
|
34
35
|
span: number;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { TubeMapFrame } from './draw.js';
|
|
2
|
+
import type { Graph } from '../types.js';
|
|
3
|
+
import type { TubeMapLayout } from '@gmod/tubemap-core';
|
|
4
|
+
export interface Box {
|
|
5
|
+
bp0: number;
|
|
6
|
+
bp1: number;
|
|
7
|
+
x0: number;
|
|
8
|
+
x1: number;
|
|
9
|
+
}
|
|
10
|
+
export declare function referenceBoxes(graph: Graph, layout: TubeMapLayout): Map<string, Box[]>;
|
|
11
|
+
export type ReferenceBoxes = ReturnType<typeof referenceBoxes>;
|
|
12
|
+
export declare function tubeX(boxes: readonly Box[], bp: number, isEnd?: boolean): number;
|
|
13
|
+
export declare function tubeSpan(boxes: readonly Box[], start: number, end: number): {
|
|
14
|
+
x0: number;
|
|
15
|
+
x1: number;
|
|
16
|
+
};
|
|
17
|
+
export declare function rulerBoxes(byContig: ReferenceBoxes): Box[] | undefined;
|
|
18
|
+
export interface RulerMarks {
|
|
19
|
+
from: number;
|
|
20
|
+
to: number;
|
|
21
|
+
ticks: number[];
|
|
22
|
+
squeezed: {
|
|
23
|
+
x0: number;
|
|
24
|
+
x1: number;
|
|
25
|
+
}[];
|
|
26
|
+
labels: {
|
|
27
|
+
text: string;
|
|
28
|
+
at: number;
|
|
29
|
+
}[];
|
|
30
|
+
}
|
|
31
|
+
export declare function rulerMarks(boxes: readonly Box[], x: (tx: number) => number, width: number, measure: (text: string) => number): RulerMarks | undefined;
|
|
32
|
+
export declare function drawTubeMapRuler(ctx: CanvasRenderingContext2D, boxes: readonly Box[], frame: TubeMapFrame, top: number): void;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { Graph } from '../types.js';
|
|
2
|
+
import type { TubeMapLayout } from '@gmod/tubemap-core';
|
|
3
|
+
export interface ReferenceNode {
|
|
4
|
+
node: string;
|
|
5
|
+
bp0: number;
|
|
6
|
+
bp1: number;
|
|
7
|
+
x0: number;
|
|
8
|
+
x1: number;
|
|
9
|
+
}
|
|
10
|
+
export interface Connector {
|
|
11
|
+
node: string;
|
|
12
|
+
top0: number;
|
|
13
|
+
top1: number;
|
|
14
|
+
bottom0: number;
|
|
15
|
+
bottom1: number;
|
|
16
|
+
}
|
|
17
|
+
export declare function referenceNodes(graph: Graph, layout: TubeMapLayout): ReferenceNode[];
|
|
18
|
+
export declare function tubeMapConnectors(nodes: readonly ReferenceNode[], bpToScreen: (bp: number) => number, tubeToScreen: (tx: number) => number, width: number): Connector[];
|
|
19
|
+
export declare function connectorAt(connectors: readonly Connector[], zoneBottom: number, sx: number, sy: number): string | undefined;
|
|
20
|
+
export declare function drawTubeMapConnectors(ctx: CanvasRenderingContext2D, connectors: readonly Connector[], bottom: number, { highlightNode, darkMode, }: {
|
|
21
|
+
highlightNode?: string | null;
|
|
22
|
+
darkMode?: boolean;
|
|
23
|
+
}): void;
|
|
@@ -12,4 +12,4 @@ export interface TubeMapTransform {
|
|
|
12
12
|
yScale: number;
|
|
13
13
|
}
|
|
14
14
|
export declare function tubeMapFrame(drawing: TubeMapDrawing, view: TubeMapView): TubeMapTransform;
|
|
15
|
-
export declare function tubeMapNodeAt(drawing: TubeMapDrawing, { x, y }: TubeMapTransform, sx: number, sy: number): null;
|
|
15
|
+
export declare function tubeMapNodeAt(drawing: TubeMapDrawing, { x, y }: TubeMapTransform, sx: number, sy: number): string | null;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { ReferenceBoxes } from './axis.js';
|
|
2
|
+
import type { TubeMapFrame } from './draw.js';
|
|
3
|
+
import type { GeneModel } from '../genes/genePins.js';
|
|
4
|
+
export interface TubeMapGene {
|
|
5
|
+
gene: GeneModel;
|
|
6
|
+
x0: number;
|
|
7
|
+
x1: number;
|
|
8
|
+
exons: {
|
|
9
|
+
x0: number;
|
|
10
|
+
x1: number;
|
|
11
|
+
}[];
|
|
12
|
+
}
|
|
13
|
+
export declare function tubeMapGenes(byRefName: ReferenceBoxes, genes: readonly GeneModel[]): TubeMapGene[];
|
|
14
|
+
export declare function drawTubeMapGenes(ctx: CanvasRenderingContext2D, genes: readonly TubeMapGene[], frame: TubeMapFrame, bottom: number, top?: number): void;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jbrowse/bandage-core",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.6",
|
|
4
4
|
"description": "Pangenome graph layout and drawing with no host: GFA in, the Bandage force-directed engine and reference-anchored layouts, a Canvas2D renderer, hit testing and labels out",
|
|
5
5
|
"license": "GPL-3.0-or-later",
|
|
6
6
|
"repository": {
|