@jbrowse/bandage-core 11.15.0 → 11.17.0
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/bubbles/bubbleHalos.js +4 -4
- package/dist/bubbles/classifyBubble.js +3 -3
- package/dist/bubbles/superbubbles.js +5 -5
- package/dist/chunks/{chunk-BDS5VZYZ.js → chunk-2BSGQKF3.js} +1 -1
- package/dist/chunks/{chunk-H2TSYHOA.js → chunk-42MMT5QM.js} +1 -1
- package/dist/chunks/{chunk-XBX3HSC7.js → chunk-47R7GMU3.js} +7 -7
- package/dist/chunks/{chunk-TEFNVUGD.js → chunk-54CX2MCH.js} +1 -1
- package/dist/chunks/{chunk-2AVTTUP2.js → chunk-5LTWXDXK.js} +2 -2
- package/dist/chunks/{chunk-S6E3PMH7.js → chunk-7KVA7TFI.js} +1 -1
- package/dist/chunks/{chunk-P2GJBFNA.js → chunk-AGUBPT45.js} +1 -1
- package/dist/chunks/{chunk-EOB4Y3EM.js → chunk-BDMISSNR.js} +1 -1
- package/dist/chunks/{chunk-EIMRD6L7.js → chunk-CIMRLDRO.js} +1 -1
- package/dist/chunks/{chunk-JUYPCLF4.js → chunk-DTBQNR7P.js} +9 -9
- package/dist/chunks/{chunk-VQ353UDK.js → chunk-EHEIS3TE.js} +1 -1
- package/dist/chunks/{chunk-AURNOR27.js → chunk-ENBFQH7Y.js} +1 -1
- package/dist/chunks/{chunk-RVIRKMQI.js → chunk-FKMZG7HI.js} +27 -10
- package/dist/chunks/{chunk-DOCI5O5R.js → chunk-G3R7LUOS.js} +2 -2
- package/dist/chunks/{chunk-ZHCQOC67.js → chunk-GZ2F2CDT.js} +1 -1
- package/dist/chunks/{chunk-NWEVR2OQ.js → chunk-HYVIQS4D.js} +1 -1
- package/dist/chunks/{chunk-N65FW7LX.js → chunk-IWPINV4U.js} +35 -13
- package/dist/chunks/{chunk-TUMJNAOL.js → chunk-MSVYSCAH.js} +2 -0
- package/dist/chunks/{chunk-IZKM4NY7.js → chunk-OKH32P3Z.js} +1 -1
- package/dist/chunks/{chunk-3GORESBG.js → chunk-OMQWCVOJ.js} +2 -0
- package/dist/chunks/{chunk-K4RGSISK.js → chunk-OND5MXTK.js} +1 -1
- package/dist/chunks/{chunk-OYBYCF2O.js → chunk-PIPNW3VY.js} +1 -1
- package/dist/chunks/{chunk-MB4UWYDG.js → chunk-PL6X2IJC.js} +2 -2
- package/dist/chunks/{chunk-4JDO7ZLN.js → chunk-QWLCHMNS.js} +1 -1
- package/dist/chunks/{chunk-SZYFZNCO.js → chunk-RATN62M3.js} +1 -1
- package/dist/chunks/{chunk-QL673EK5.js → chunk-STUG7I25.js} +1 -1
- package/dist/chunks/{chunk-RT4U3DH3.js → chunk-TICU3HMJ.js} +1 -1
- package/dist/chunks/{chunk-I53QYITQ.js → chunk-TK2ANC2S.js} +1 -1
- package/dist/chunks/{chunk-TQ26XEFL.js → chunk-U6TXPLFJ.js} +2 -2
- package/dist/chunks/{chunk-7YSIP3O2.js → chunk-WTWO2IPM.js} +1 -1
- package/dist/chunks/{chunk-5SW3PTHO.js → chunk-XESCKKKT.js} +1 -1
- package/dist/chunks/chunk-XWH4LB56.js +115 -0
- package/dist/chunks/{chunk-VNCHWWLG.js → chunk-Y5BPNRFM.js} +1 -1
- package/dist/chunks/{chunk-OKPSS5PG.js → chunk-ZZUSCQVT.js} +1 -1
- package/dist/cli/figure.js +24 -24
- package/dist/cli/fold.js +3 -3
- package/dist/deletionEdges.js +3 -1
- package/dist/figure.js +21 -21
- package/dist/figureData.js +18 -18
- package/dist/figureScene.js +13 -13
- package/dist/figureSettings.js +4 -4
- package/dist/gfa/gfaConverter.js +1 -1
- package/dist/graphLabels.js +2 -2
- package/dist/index.js +47 -35
- package/dist/labelLayout.js +6 -6
- package/dist/layout/forceCache.js +4 -4
- package/dist/layout/tubeMapLayout.js +4 -4
- package/dist/layout/walkRowDraw.js +7 -7
- package/dist/layout/walkStrip.js +8 -8
- package/dist/layoutModes.js +5 -5
- package/dist/nodeWidths.js +14 -3
- package/dist/pathColors.js +3 -3
- package/dist/pipeline.js +3 -3
- package/dist/referenceStrip.js +7 -7
- package/dist/renderer/GeometryBuilder.js +6 -6
- package/dist/tubeMap/axis.js +3 -3
- package/dist/tubeMap/bundle.js +5 -5
- package/dist/tubeMap/coarsen.js +5 -5
- package/dist/tubeMap/deviations.js +6 -6
- package/dist/tubeMap/genes.js +4 -4
- package/dist/tubeMap/nodeColors.js +7 -7
- package/dist/types/deletionEdges.d.ts +1 -0
- package/dist/types/figureData.d.ts +13 -0
- package/dist/types/figureScene.d.ts +1 -1
- package/dist/types/index.d.ts +2 -2
- package/dist/types/nodeWidths.d.ts +13 -1
- package/dist/types/types.d.ts +1 -0
- package/dist/types/version.d.ts +1 -1
- package/dist/util/SpatialIndex.js +3 -3
- package/dist/util/edgeCurves.js +2 -2
- package/dist/util/hitDetection.js +4 -4
- package/dist/version.js +1 -1
- package/dist/viewport.js +4 -4
- package/dist/walkEncoding.js +7 -7
- package/dist/walkHighlight.js +8 -8
- package/dist/walkKey.js +3 -3
- package/package.json +1 -1
- package/dist/chunks/chunk-ZANALBSX.js +0 -65
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import {
|
|
2
2
|
bubbleHalos,
|
|
3
3
|
coversGraph
|
|
4
|
-
} from "../chunks/chunk-
|
|
5
|
-
import "../chunks/chunk-
|
|
4
|
+
} from "../chunks/chunk-RATN62M3.js";
|
|
5
|
+
import "../chunks/chunk-HYVIQS4D.js";
|
|
6
6
|
import "../chunks/chunk-FX4RDMDN.js";
|
|
7
|
-
import "../chunks/chunk-
|
|
7
|
+
import "../chunks/chunk-ENBFQH7Y.js";
|
|
8
8
|
import "../chunks/chunk-HMXCN6PG.js";
|
|
9
9
|
import "../chunks/chunk-AB35TJST.js";
|
|
10
10
|
import "../chunks/chunk-HNNP5QUN.js";
|
|
11
|
-
import "../chunks/chunk-
|
|
11
|
+
import "../chunks/chunk-OMQWCVOJ.js";
|
|
12
12
|
import "../chunks/chunk-TLWXLNLY.js";
|
|
13
13
|
import "../chunks/chunk-3YBP46PB.js";
|
|
14
14
|
import "../chunks/chunk-JJV2GT2Z.js";
|
|
@@ -3,13 +3,13 @@ import {
|
|
|
3
3
|
BUBBLE_KIND_NAMES,
|
|
4
4
|
bubbleSegmentIds,
|
|
5
5
|
classifyBubble
|
|
6
|
-
} from "../chunks/chunk-
|
|
6
|
+
} from "../chunks/chunk-HYVIQS4D.js";
|
|
7
7
|
import "../chunks/chunk-FX4RDMDN.js";
|
|
8
|
-
import "../chunks/chunk-
|
|
8
|
+
import "../chunks/chunk-ENBFQH7Y.js";
|
|
9
9
|
import "../chunks/chunk-HMXCN6PG.js";
|
|
10
10
|
import "../chunks/chunk-AB35TJST.js";
|
|
11
11
|
import "../chunks/chunk-HNNP5QUN.js";
|
|
12
|
-
import "../chunks/chunk-
|
|
12
|
+
import "../chunks/chunk-OMQWCVOJ.js";
|
|
13
13
|
import "../chunks/chunk-TLWXLNLY.js";
|
|
14
14
|
import "../chunks/chunk-3YBP46PB.js";
|
|
15
15
|
import "../chunks/chunk-JJV2GT2Z.js";
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import {
|
|
2
2
|
graphBubbles,
|
|
3
3
|
superbubblesFromGraph
|
|
4
|
-
} from "../chunks/chunk-
|
|
5
|
-
import "../chunks/chunk-
|
|
4
|
+
} from "../chunks/chunk-G3R7LUOS.js";
|
|
5
|
+
import "../chunks/chunk-RATN62M3.js";
|
|
6
6
|
import "../chunks/chunk-V6WSDZPL.js";
|
|
7
|
-
import "../chunks/chunk-
|
|
7
|
+
import "../chunks/chunk-HYVIQS4D.js";
|
|
8
8
|
import "../chunks/chunk-FX4RDMDN.js";
|
|
9
9
|
import "../chunks/chunk-MHZTTLBU.js";
|
|
10
10
|
import "../chunks/chunk-Q7OFBTBW.js";
|
|
11
11
|
import "../chunks/chunk-L4DBSRA2.js";
|
|
12
|
-
import "../chunks/chunk-
|
|
12
|
+
import "../chunks/chunk-ENBFQH7Y.js";
|
|
13
13
|
import "../chunks/chunk-HMXCN6PG.js";
|
|
14
14
|
import "../chunks/chunk-AB35TJST.js";
|
|
15
15
|
import "../chunks/chunk-HNNP5QUN.js";
|
|
16
|
-
import "../chunks/chunk-
|
|
16
|
+
import "../chunks/chunk-OMQWCVOJ.js";
|
|
17
17
|
import "../chunks/chunk-TLWXLNLY.js";
|
|
18
18
|
import "../chunks/chunk-3YBP46PB.js";
|
|
19
19
|
import "../chunks/chunk-JJV2GT2Z.js";
|
|
@@ -4,27 +4,27 @@ import {
|
|
|
4
4
|
import {
|
|
5
5
|
facetLifts,
|
|
6
6
|
walkLift
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-PL6X2IJC.js";
|
|
8
8
|
import {
|
|
9
9
|
buildGeometry,
|
|
10
10
|
computeReferenceRamp
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-DTBQNR7P.js";
|
|
12
12
|
import {
|
|
13
13
|
walkKey
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-OKH32P3Z.js";
|
|
15
15
|
import {
|
|
16
16
|
walkRowsExtent
|
|
17
17
|
} from "./chunk-VCUOYVLC.js";
|
|
18
18
|
import {
|
|
19
19
|
pathLegend,
|
|
20
20
|
walkLabelsOf
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-EHEIS3TE.js";
|
|
22
22
|
import {
|
|
23
23
|
FIGURE_DEFAULTS
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-XESCKKKT.js";
|
|
25
25
|
import {
|
|
26
26
|
drawingBounds
|
|
27
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-5LTWXDXK.js";
|
|
28
28
|
import {
|
|
29
29
|
referenceLabel
|
|
30
30
|
} from "./chunk-5ORP7EFJ.js";
|
|
@@ -34,7 +34,7 @@ import {
|
|
|
34
34
|
import {
|
|
35
35
|
deletionDrawing,
|
|
36
36
|
deletionEdges
|
|
37
|
-
} from "./chunk-
|
|
37
|
+
} from "./chunk-OMQWCVOJ.js";
|
|
38
38
|
import {
|
|
39
39
|
facetCells,
|
|
40
40
|
facetSettingOf
|
|
@@ -14,7 +14,7 @@ import {
|
|
|
14
14
|
} from "./chunk-VPE4AYP7.js";
|
|
15
15
|
import {
|
|
16
16
|
convertGFAToGraph
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-MSVYSCAH.js";
|
|
18
18
|
import {
|
|
19
19
|
parseGFA
|
|
20
20
|
} from "./chunk-CFXXFHRK.js";
|
|
@@ -39,7 +39,7 @@ import {
|
|
|
39
39
|
import {
|
|
40
40
|
deletionDrawing,
|
|
41
41
|
deletionEdges
|
|
42
|
-
} from "./chunk-
|
|
42
|
+
} from "./chunk-OMQWCVOJ.js";
|
|
43
43
|
import {
|
|
44
44
|
anchorGraph
|
|
45
45
|
} from "./chunk-3YBP46PB.js";
|
|
@@ -21,18 +21,18 @@ import {
|
|
|
21
21
|
} from "./chunk-GQZVR5DW.js";
|
|
22
22
|
import {
|
|
23
23
|
baseEdgeCurves
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-AGUBPT45.js";
|
|
25
25
|
import {
|
|
26
26
|
PATH_LIGHTNESS,
|
|
27
27
|
PATH_SATURATION,
|
|
28
28
|
nameHue,
|
|
29
29
|
pathHueAt
|
|
30
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-EHEIS3TE.js";
|
|
31
31
|
import {
|
|
32
|
-
meanDepth,
|
|
33
32
|
nodeWidthPx,
|
|
34
|
-
walkLaneWidthPx
|
|
35
|
-
|
|
33
|
+
walkLaneWidthPx,
|
|
34
|
+
widthNorm
|
|
35
|
+
} from "./chunk-XWH4LB56.js";
|
|
36
36
|
import {
|
|
37
37
|
referenceMidpoints
|
|
38
38
|
} from "./chunk-L4DBSRA2.js";
|
|
@@ -515,7 +515,7 @@ function buildGeometry(options) {
|
|
|
515
515
|
hiddenEdges,
|
|
516
516
|
version = 0
|
|
517
517
|
} = options;
|
|
518
|
-
const
|
|
518
|
+
const widthScale = widthNorm(graph, nodeWidth);
|
|
519
519
|
const busiest = edgeWidth === "walks" ? busiestEdge(graph) : 0;
|
|
520
520
|
const scale = axis.scaleX;
|
|
521
521
|
const worldPerScreenPx = 1 / Math.max(scale, MIN_SCALE_FOR_OFFSET);
|
|
@@ -618,7 +618,7 @@ function buildGeometry(options) {
|
|
|
618
618
|
if (width === void 0) {
|
|
619
619
|
const node = nodeById.get(id);
|
|
620
620
|
width = walkLaneWidthPx(
|
|
621
|
-
node ? nodeWidthPx(node, contigThickness, nodeWidth,
|
|
621
|
+
node ? nodeWidthPx(node, contigThickness, nodeWidth, widthScale) : contigThickness,
|
|
622
622
|
liftedWalks.length
|
|
623
623
|
);
|
|
624
624
|
laneWidths.set(id, width);
|
|
@@ -697,7 +697,7 @@ function buildGeometry(options) {
|
|
|
697
697
|
const plainEdgeColor = isDeletion ? EDGE_DELETION_COLOR : EDGE_DEFAULT_COLOR;
|
|
698
698
|
const edgeColor = !highlight || onWalk ? plainEdgeColor : fadeAbgr(plainEdgeColor, FADED_ALPHA);
|
|
699
699
|
const toNode = nodeById.get(edge.to);
|
|
700
|
-
const intoHalfWidth = (toNode ? nodeWidthPx(toNode, contigThickness, nodeWidth,
|
|
700
|
+
const intoHalfWidth = (toNode ? nodeWidthPx(toNode, contigThickness, nodeWidth, widthScale) : contigThickness) / 2;
|
|
701
701
|
const inView = (curves) => !viewportBounds || isBezierInBounds(curves, viewportBounds);
|
|
702
702
|
const dashesOf = (curves) => dashSpans(curves, DELETION_DASH_PX / scale, yToX, viewportBounds);
|
|
703
703
|
const stroke = (curves, thickness, color) => {
|
|
@@ -882,7 +882,7 @@ function buildGeometry(options) {
|
|
|
882
882
|
colorRange
|
|
883
883
|
);
|
|
884
884
|
const color = faded ? fadeAbgr(own, FADED_ALPHA) : own;
|
|
885
|
-
const width = nodeWidthPx(node, contigThickness, nodeWidth,
|
|
885
|
+
const width = nodeWidthPx(node, contigThickness, nodeWidth, widthScale);
|
|
886
886
|
const nodeThickness = width / 2;
|
|
887
887
|
const start = nodeStrokes.length;
|
|
888
888
|
const slots = nodePathSlots.get(nodeId);
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
} from "./chunk-CO6RGQAD.js";
|
|
4
4
|
import {
|
|
5
5
|
layoutModeByValue
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-54CX2MCH.js";
|
|
7
7
|
import {
|
|
8
8
|
parseRegion
|
|
9
9
|
} from "./chunk-FNDNSDKW.js";
|
|
@@ -12,19 +12,19 @@ import {
|
|
|
12
12
|
} from "./chunk-HEYIAMTC.js";
|
|
13
13
|
import {
|
|
14
14
|
version
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-42MMT5QM.js";
|
|
16
16
|
import {
|
|
17
17
|
axisScaleOf
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-ZZUSCQVT.js";
|
|
19
19
|
import {
|
|
20
20
|
figureScene
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-47R7GMU3.js";
|
|
22
22
|
import {
|
|
23
23
|
fadedKey
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-PL6X2IJC.js";
|
|
25
25
|
import {
|
|
26
26
|
encodingStops
|
|
27
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-BDMISSNR.js";
|
|
28
28
|
import {
|
|
29
29
|
laneSlideAt,
|
|
30
30
|
passesKey,
|
|
@@ -36,18 +36,27 @@ import {
|
|
|
36
36
|
abgrGreen,
|
|
37
37
|
abgrRed
|
|
38
38
|
} from "./chunk-G2FD7S3C.js";
|
|
39
|
+
import {
|
|
40
|
+
frequencyKey,
|
|
41
|
+
haplotypeCount,
|
|
42
|
+
nodeFrequency,
|
|
43
|
+
withFrequencies
|
|
44
|
+
} from "./chunk-XWH4LB56.js";
|
|
39
45
|
import {
|
|
40
46
|
FIGURE_DEFAULTS
|
|
41
|
-
} from "./chunk-
|
|
47
|
+
} from "./chunk-XESCKKKT.js";
|
|
42
48
|
import {
|
|
43
49
|
engineSettingsOf,
|
|
44
50
|
fitTransform,
|
|
45
51
|
forceLayout,
|
|
46
52
|
loadGraph
|
|
47
|
-
} from "./chunk-
|
|
53
|
+
} from "./chunk-5LTWXDXK.js";
|
|
48
54
|
import {
|
|
49
55
|
referencePositions
|
|
50
56
|
} from "./chunk-L4DBSRA2.js";
|
|
57
|
+
import {
|
|
58
|
+
deletionKey
|
|
59
|
+
} from "./chunk-OMQWCVOJ.js";
|
|
51
60
|
import {
|
|
52
61
|
referenceVisitStarts
|
|
53
62
|
} from "./chunk-3YBP46PB.js";
|
|
@@ -305,6 +314,7 @@ function figureData(graph, layout, o = {}) {
|
|
|
305
314
|
}
|
|
306
315
|
const startsOf = referenceVisitStarts(graph);
|
|
307
316
|
const positions = referencePositions(graph);
|
|
317
|
+
const haplotypes = haplotypeCount(graph);
|
|
308
318
|
return {
|
|
309
319
|
meta: {
|
|
310
320
|
generator: `@jbrowse/bandage-core@${version}`,
|
|
@@ -321,12 +331,15 @@ function figureData(graph, layout, o = {}) {
|
|
|
321
331
|
end: referenceRamp.start + referenceRamp.span
|
|
322
332
|
} : null,
|
|
323
333
|
deletions: drawnDeletions.shown.length,
|
|
334
|
+
deletionKey: drawnDeletions.shown.length ? deletionKey(referenceName) : null,
|
|
324
335
|
// what the key for the drawing a lift fades says
|
|
325
336
|
fadedKey: lift ? fadedKey(
|
|
326
337
|
graph,
|
|
327
338
|
lift,
|
|
328
339
|
lift.walks.length === 1 ? labelOf(lift.walks[0].name) : "these walks"
|
|
329
|
-
) : null
|
|
340
|
+
) : null,
|
|
341
|
+
// the widths a key shows where nodes are as wide as their frequency
|
|
342
|
+
frequencyKey: o.nodeWidth === "frequency" ? frequencyKey(o.contigThickness ?? FIGURE_DEFAULTS.contigThickness) : null
|
|
330
343
|
},
|
|
331
344
|
panels: {
|
|
332
345
|
panel: panels.map((p) => p.name),
|
|
@@ -346,6 +359,7 @@ function figureData(graph, layout, o = {}) {
|
|
|
346
359
|
name: graph.nodes.map((n) => n.name),
|
|
347
360
|
length: graph.nodes.map((n) => n.length),
|
|
348
361
|
depth: graph.nodes.map((n) => n.depth),
|
|
362
|
+
frequency: graph.nodes.map((n) => nodeFrequency(n, haplotypes) ?? null),
|
|
349
363
|
backbone: graph.nodes.map((n) => isBackbone(n)),
|
|
350
364
|
referenceVisits: graph.nodes.map(
|
|
351
365
|
(n) => isBackbone(n) ? startsOf(n).length : 0
|
|
@@ -359,7 +373,10 @@ function figureData(graph, layout, o = {}) {
|
|
|
359
373
|
};
|
|
360
374
|
}
|
|
361
375
|
async function laidOutGraph(text, name, region, spec) {
|
|
362
|
-
const graph =
|
|
376
|
+
const graph = withFrequencies(
|
|
377
|
+
loadGraph(text, name, { referencePath: spec.referencePath }),
|
|
378
|
+
spec.frequencies
|
|
379
|
+
);
|
|
363
380
|
const layout = layoutModeByValue(spec.layout ?? "force").run(graph, region) ?? (await forceLayout(graph, engineSettingsOf(spec), layoutEngine)).result;
|
|
364
381
|
return { graph, layout };
|
|
365
382
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
coversGraph
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-RATN62M3.js";
|
|
4
4
|
import {
|
|
5
5
|
bubblesFromGraph,
|
|
6
6
|
derivedBubble,
|
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
} from "./chunk-V6WSDZPL.js";
|
|
11
11
|
import {
|
|
12
12
|
bubbleSegmentIds
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-HYVIQS4D.js";
|
|
14
14
|
import {
|
|
15
15
|
bubbleSubgraph
|
|
16
16
|
} from "./chunk-MHZTTLBU.js";
|
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
stripGeneGaps,
|
|
6
6
|
walkStripFrame,
|
|
7
7
|
walkStripLabelsTree
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-STUG7I25.js";
|
|
9
9
|
import {
|
|
10
10
|
Canvas2DRenderer
|
|
11
11
|
} from "./chunk-4DMSPNYV.js";
|
|
@@ -13,7 +13,7 @@ import {
|
|
|
13
13
|
walkRowsKey,
|
|
14
14
|
walkRowsKeyTree,
|
|
15
15
|
walkRowsTree
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-PIPNW3VY.js";
|
|
17
17
|
import {
|
|
18
18
|
EXON_COLOR,
|
|
19
19
|
exonOutlineTree,
|
|
@@ -21,28 +21,28 @@ import {
|
|
|
21
21
|
} from "./chunk-JSUCGZ6K.js";
|
|
22
22
|
import {
|
|
23
23
|
geneLabelCandidates
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-U6TXPLFJ.js";
|
|
25
25
|
import {
|
|
26
26
|
nodesUnderBox
|
|
27
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-QWLCHMNS.js";
|
|
28
28
|
import {
|
|
29
29
|
genePins
|
|
30
30
|
} from "./chunk-HEYIAMTC.js";
|
|
31
31
|
import {
|
|
32
32
|
version
|
|
33
|
-
} from "./chunk-
|
|
33
|
+
} from "./chunk-42MMT5QM.js";
|
|
34
34
|
import {
|
|
35
35
|
axisScaleOf
|
|
36
|
-
} from "./chunk-
|
|
36
|
+
} from "./chunk-ZZUSCQVT.js";
|
|
37
37
|
import {
|
|
38
38
|
figureScene
|
|
39
|
-
} from "./chunk-
|
|
39
|
+
} from "./chunk-47R7GMU3.js";
|
|
40
40
|
import {
|
|
41
41
|
fadedKey
|
|
42
|
-
} from "./chunk-
|
|
42
|
+
} from "./chunk-PL6X2IJC.js";
|
|
43
43
|
import {
|
|
44
44
|
encodingStops
|
|
45
|
-
} from "./chunk-
|
|
45
|
+
} from "./chunk-BDMISSNR.js";
|
|
46
46
|
import {
|
|
47
47
|
THREAD_PX,
|
|
48
48
|
passesKey,
|
|
@@ -50,20 +50,20 @@ import {
|
|
|
50
50
|
} from "./chunk-YUIKEUKY.js";
|
|
51
51
|
import {
|
|
52
52
|
rangeText
|
|
53
|
-
} from "./chunk-
|
|
53
|
+
} from "./chunk-OKH32P3Z.js";
|
|
54
54
|
import {
|
|
55
55
|
walkRowLabels
|
|
56
56
|
} from "./chunk-VCUOYVLC.js";
|
|
57
57
|
import {
|
|
58
58
|
nodeInk
|
|
59
|
-
} from "./chunk-
|
|
59
|
+
} from "./chunk-XWH4LB56.js";
|
|
60
60
|
import {
|
|
61
61
|
FIGURE_DEFAULTS
|
|
62
|
-
} from "./chunk-
|
|
62
|
+
} from "./chunk-XESCKKKT.js";
|
|
63
63
|
import {
|
|
64
64
|
FIT_PADDING,
|
|
65
65
|
fitTransform
|
|
66
|
-
} from "./chunk-
|
|
66
|
+
} from "./chunk-5LTWXDXK.js";
|
|
67
67
|
import {
|
|
68
68
|
LABEL_CHAR_PX,
|
|
69
69
|
LABEL_PAD,
|
|
@@ -71,6 +71,9 @@ import {
|
|
|
71
71
|
occupancy,
|
|
72
72
|
placeLabels
|
|
73
73
|
} from "./chunk-AB35TJST.js";
|
|
74
|
+
import {
|
|
75
|
+
deletionKey
|
|
76
|
+
} from "./chunk-OMQWCVOJ.js";
|
|
74
77
|
import {
|
|
75
78
|
escapeAttr,
|
|
76
79
|
serializeEl
|
|
@@ -91,6 +94,7 @@ var KEY_LINE_PX = 16;
|
|
|
91
94
|
var KEY_TALL_PX = 32;
|
|
92
95
|
var STRIP_KEY_PX = 22;
|
|
93
96
|
var FADED = "rgb(160,160,160)";
|
|
97
|
+
var DELETION_INK = "rgb(24,24,28)";
|
|
94
98
|
var GENE_INK = "#1c1c22";
|
|
95
99
|
function keySvg(id, x, y, stops, label, after, under, opacity = 1) {
|
|
96
100
|
const bar = stops.length > 1 ? BAR_PX : SWATCH_PX;
|
|
@@ -113,6 +117,13 @@ function exonKeySvg(x, y) {
|
|
|
113
117
|
markup: `<g transform="translate(${x} ${y})" ${FONT}><rect x="1" y="4" width="${SWATCH_PX - 2}" height="10" rx="4" fill="none" stroke="${EXON_COLOR}" stroke-width="2"/><text x="${SWATCH_PX + 5}" y="13">exon</text></g>`
|
|
114
118
|
};
|
|
115
119
|
}
|
|
120
|
+
function deletionKeySvg(x, y, note, color) {
|
|
121
|
+
return {
|
|
122
|
+
width: SWATCH_PX + 5 + note.length * LABEL_CHAR_PX,
|
|
123
|
+
height: KEY_LINE_PX,
|
|
124
|
+
markup: `<g transform="translate(${x} ${y})" ${FONT}><line y1="9" y2="9" x2="${SWATCH_PX}" stroke="${color}" stroke-width="2" stroke-dasharray="4 3"/><text x="${SWATCH_PX + 5}" y="13">${note}</text></g>`
|
|
125
|
+
};
|
|
126
|
+
}
|
|
116
127
|
function passesKeySvg(x, y, note) {
|
|
117
128
|
const lines = [6, 9, 12].map(
|
|
118
129
|
(ly) => `<line y1="${ly}" y2="${ly}" x2="${SWATCH_PX}" stroke="#444" stroke-width="${THREAD_PX}"/>`
|
|
@@ -176,6 +187,7 @@ function figureSvg(graph, layout, o = {}) {
|
|
|
176
187
|
labelOf,
|
|
177
188
|
referenceName,
|
|
178
189
|
keyText,
|
|
190
|
+
drawnDeletions,
|
|
179
191
|
contigThickness,
|
|
180
192
|
nodeWidth,
|
|
181
193
|
geometry
|
|
@@ -363,6 +375,16 @@ function figureSvg(graph, layout, o = {}) {
|
|
|
363
375
|
)
|
|
364
376
|
);
|
|
365
377
|
}
|
|
378
|
+
if (drawnDeletions.shown.length > 0) {
|
|
379
|
+
keys.push(
|
|
380
|
+
(x, y) => deletionKeySvg(
|
|
381
|
+
x,
|
|
382
|
+
y,
|
|
383
|
+
deletionKey(referenceName),
|
|
384
|
+
lift ? FADED : DELETION_INK
|
|
385
|
+
)
|
|
386
|
+
);
|
|
387
|
+
}
|
|
366
388
|
if (pins.some((pin) => pin.exonsByNode.length > 0)) {
|
|
367
389
|
keys.push((x, y) => exonKeySvg(x, y));
|
|
368
390
|
}
|
|
@@ -75,11 +75,13 @@ function statedDepth({ tags, length }) {
|
|
|
75
75
|
return positive(tags.dp) ?? positive(tags.DP) ?? (count !== void 0 && length > 0 ? count / length : void 0);
|
|
76
76
|
}
|
|
77
77
|
function makeNode(gfaNode, strand, depth) {
|
|
78
|
+
const frequency = gfaNode.tags.AF;
|
|
78
79
|
return {
|
|
79
80
|
id: `${gfaNode.id}${strand}`,
|
|
80
81
|
name: gfaNode.id,
|
|
81
82
|
length: gfaNode.length,
|
|
82
83
|
depth,
|
|
84
|
+
...typeof frequency === "number" && frequency >= 0 ? { frequency } : {},
|
|
83
85
|
stable: stableCoordinate(gfaNode),
|
|
84
86
|
samples: carriedSamples(gfaNode)
|
|
85
87
|
};
|
|
@@ -23,6 +23,7 @@ import {
|
|
|
23
23
|
|
|
24
24
|
// src/deletionEdges.ts
|
|
25
25
|
var MIN_DELETION_BP = 1;
|
|
26
|
+
var deletionKey = (reference) => `skips ${reference ?? "the reference"} sequence (a deletion)`;
|
|
26
27
|
function bypassedPoints(nodePositions, bypassed) {
|
|
27
28
|
return bypassed.flatMap((id) => nodePositions[id] ?? []);
|
|
28
29
|
}
|
|
@@ -204,6 +205,7 @@ function deletionDrawing(graph, deletions, show = true) {
|
|
|
204
205
|
}
|
|
205
206
|
|
|
206
207
|
export {
|
|
208
|
+
deletionKey,
|
|
207
209
|
edgeCurvesOf,
|
|
208
210
|
deletionEdges,
|
|
209
211
|
closableDeletions,
|
|
@@ -2,10 +2,10 @@ import {
|
|
|
2
2
|
encodedColor,
|
|
3
3
|
resolveEncoding,
|
|
4
4
|
splitFamilies
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-BDMISSNR.js";
|
|
6
6
|
import {
|
|
7
7
|
rampFraction
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-DTBQNR7P.js";
|
|
9
9
|
import {
|
|
10
10
|
gapParts
|
|
11
11
|
} from "./chunk-LG2UK4MB.js";
|