@jbrowse/bandage-core 8.1.0 → 9.0.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/chunks/{chunk-MP7LXLWV.js → chunk-3C5UXR2U.js} +1 -1
- package/dist/chunks/{chunk-T4SQ5QGM.js → chunk-AMS3MAFP.js} +1 -1
- package/dist/chunks/{chunk-DRA7733Q.js → chunk-BPRXQ2SS.js} +8 -3
- package/dist/chunks/{chunk-TEDQJPMI.js → chunk-CWFNEKST.js} +22 -7
- package/dist/chunks/chunk-INJ2UVOT.js +370 -0
- package/dist/chunks/{chunk-KCRL5JB2.js → chunk-LLP3FXPM.js} +31 -10
- package/dist/chunks/{chunk-SZNZ2T6D.js → chunk-MAUEPAMG.js} +37 -9
- package/dist/chunks/{chunk-V3MD3IZB.js → chunk-MIW3HYPE.js} +13 -4
- package/dist/chunks/{chunk-DYYIHN3P.js → chunk-TLQ7F2ZT.js} +4 -4
- package/dist/chunks/{chunk-O2ANJQVH.js → chunk-WDTXW7T2.js} +1 -1
- package/dist/chunks/{chunk-OWFPAIJI.js → chunk-WEDZ76AK.js} +1 -1
- package/dist/chunks/{chunk-3PYY7OIP.js → chunk-WNUZP3WQ.js} +3 -3
- package/dist/chunks/{chunk-733L2TS6.js → chunk-XXT2JCAC.js} +10 -7
- package/dist/chunks/{chunk-GQ2AOHU4.js → chunk-YOYLCLIG.js} +7 -29
- package/dist/cli/figure.js +9 -9
- package/dist/figure.js +6 -6
- package/dist/index.js +19 -17
- package/dist/layout/tubeMapLayout.js +12 -6
- package/dist/layout/walkRowDraw.js +1 -1
- package/dist/layout/walkRowLayout.js +2 -2
- package/dist/layout/walkRows.js +1 -1
- package/dist/layout/walkStrip.js +2 -2
- package/dist/layoutModes.js +5 -5
- package/dist/tubeMap/axis.js +1 -1
- package/dist/tubeMap/coarsen.js +11 -23
- package/dist/tubeMap/connectors.js +1 -4
- package/dist/tubeMap/deviations.js +15 -19
- package/dist/tubeMap/draw.js +9 -5
- package/dist/tubeMap/genes.js +2 -2
- package/dist/tubeMap/mismatches.js +1 -1
- package/dist/tubeMap/reads.js +1 -1
- package/dist/types/index.d.ts +5 -5
- package/dist/types/layout/tubeMapLayout.d.ts +15 -2
- package/dist/types/layout/walkRowDraw.d.ts +1 -1
- package/dist/types/layout/walkRows.d.ts +5 -0
- package/dist/types/layoutModes.d.ts +5 -5
- package/dist/types/tubeMap/axis.d.ts +6 -3
- package/dist/types/tubeMap/connectors.d.ts +2 -11
- package/dist/types/tubeMap/deviations.d.ts +2 -3
- package/dist/types/tubeMap/draw.d.ts +4 -1
- package/dist/types/tubeMap/mismatches.d.ts +1 -1
- package/dist/types/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
- package/dist/chunks/chunk-W2I4DOL4.js +0 -230
|
@@ -8,12 +8,12 @@ import {
|
|
|
8
8
|
stripGeneGaps,
|
|
9
9
|
walkStripFrame,
|
|
10
10
|
walkStripLabelsTree
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-WDTXW7T2.js";
|
|
12
12
|
import {
|
|
13
13
|
walkRowsKey,
|
|
14
14
|
walkRowsKeyTree,
|
|
15
15
|
walkRowsTree
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-MIW3HYPE.js";
|
|
17
17
|
import {
|
|
18
18
|
Canvas2DRenderer
|
|
19
19
|
} from "./chunk-2WNBVB55.js";
|
|
@@ -42,14 +42,14 @@ import {
|
|
|
42
42
|
} from "./chunk-HBEKUQO4.js";
|
|
43
43
|
import {
|
|
44
44
|
version
|
|
45
|
-
} from "./chunk-
|
|
45
|
+
} from "./chunk-AMS3MAFP.js";
|
|
46
46
|
import {
|
|
47
47
|
axisScaleOf
|
|
48
48
|
} from "./chunk-TL4B342F.js";
|
|
49
49
|
import {
|
|
50
50
|
walkRowLabels,
|
|
51
51
|
walkRowsExtent
|
|
52
|
-
} from "./chunk-
|
|
52
|
+
} from "./chunk-3C5UXR2U.js";
|
|
53
53
|
import {
|
|
54
54
|
nodeInk
|
|
55
55
|
} from "./chunk-PBENCR5L.js";
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
|
+
hasTubeMapBackbone,
|
|
2
3
|
hasTubeMapPaths,
|
|
3
4
|
tubeMapLayout,
|
|
4
5
|
tubeMapReferenceLayout
|
|
5
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-INJ2UVOT.js";
|
|
6
7
|
import {
|
|
7
8
|
sampleRowLayout
|
|
8
9
|
} from "./chunk-LOEA5IHZ.js";
|
|
@@ -14,7 +15,7 @@ import {
|
|
|
14
15
|
} from "./chunk-HNQPEMYE.js";
|
|
15
16
|
import {
|
|
16
17
|
walkRowLayout
|
|
17
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-3C5UXR2U.js";
|
|
18
19
|
import {
|
|
19
20
|
isBackbone,
|
|
20
21
|
isOffReference
|
|
@@ -24,7 +25,6 @@ import {
|
|
|
24
25
|
var FORCE_LAYOUT_LABEL = "Force-directed layout";
|
|
25
26
|
var hasBackbone = (graph) => graph.nodes.some(isBackbone);
|
|
26
27
|
var hasWalks = (graph) => hasBackbone(graph) && (graph.paths?.length ?? 0) > 1;
|
|
27
|
-
var hasTubeMapBackbone = (graph) => hasBackbone(graph) && hasTubeMapPaths(graph);
|
|
28
28
|
var hasAlleles = (graph) => hasBackbone(graph) && graph.nodes.some(isOffReference);
|
|
29
29
|
var LAYOUT_MODES = [
|
|
30
30
|
{
|
|
@@ -3,16 +3,13 @@ import { forward, getXCoordinateOfBaseWithinNode } from "@jbrowse/tubemap-core";
|
|
|
3
3
|
function readMismatches(read, layout) {
|
|
4
4
|
const marks = [];
|
|
5
5
|
const entries = read.sequenceNew ?? [];
|
|
6
|
+
const visits = read.path.filter((segment) => segment.node !== null);
|
|
6
7
|
entries.forEach((entry, i) => {
|
|
7
8
|
const nodeIndex = layout.nodeMap.get(forward(entry.nodeName));
|
|
8
9
|
const node = nodeIndex === void 0 ? void 0 : layout.nodes[nodeIndex];
|
|
9
|
-
|
|
10
|
-
while (pathIndex < read.path.length && read.path[pathIndex].node !== nodeIndex) {
|
|
11
|
-
pathIndex += 1;
|
|
12
|
-
}
|
|
13
|
-
const y = read.path[pathIndex]?.y;
|
|
10
|
+
const y = visits[i]?.y;
|
|
14
11
|
if (node && y !== void 0) {
|
|
15
|
-
const base = { readId: read.id, y, height: read.width
|
|
12
|
+
const base = { readId: read.id, y, height: read.width };
|
|
16
13
|
const at = (pos) => getXCoordinateOfBaseWithinNode(node, pos);
|
|
17
14
|
for (const mm of entry.mismatches) {
|
|
18
15
|
const x0 = at(mm.pos);
|
|
@@ -29,7 +26,13 @@ function readMismatches(read, layout) {
|
|
|
29
26
|
} else if (mm.type === "deletion" && mm.length !== void 0) {
|
|
30
27
|
const x1 = at(mm.pos + mm.length);
|
|
31
28
|
if (x1 !== null) {
|
|
32
|
-
marks.push({
|
|
29
|
+
marks.push({
|
|
30
|
+
...base,
|
|
31
|
+
kind: "deletion",
|
|
32
|
+
x0,
|
|
33
|
+
x1,
|
|
34
|
+
length: mm.length
|
|
35
|
+
});
|
|
33
36
|
}
|
|
34
37
|
} else if (mm.type === "substitution" && mm.seq !== void 0) {
|
|
35
38
|
const x1 = at(mm.pos + mm.seq.length);
|
|
@@ -1,35 +1,14 @@
|
|
|
1
|
-
import {
|
|
2
|
-
isBackbone
|
|
3
|
-
} from "./chunk-FYQWPEEY.js";
|
|
4
|
-
|
|
5
1
|
// src/tubeMap/connectors.ts
|
|
6
|
-
function
|
|
7
|
-
const nodeById = new Map(graph.nodes.map((n) => [n.id, n]));
|
|
8
|
-
const out = [];
|
|
9
|
-
layout.nodes.forEach((node) => {
|
|
10
|
-
const graphNode = nodeById.get(node.name);
|
|
11
|
-
if (node.order >= 0 && graphNode && isBackbone(graphNode)) {
|
|
12
|
-
out.push({
|
|
13
|
-
node: node.name,
|
|
14
|
-
bp0: graphNode.stable.start,
|
|
15
|
-
bp1: graphNode.stable.start + node.sequenceLength,
|
|
16
|
-
x0: node.x,
|
|
17
|
-
x1: node.x + node.pixelWidth
|
|
18
|
-
});
|
|
19
|
-
}
|
|
20
|
-
});
|
|
21
|
-
return out;
|
|
22
|
-
}
|
|
23
|
-
function tubeMapConnectors(nodes, bpToScreen, tubeToScreen, width) {
|
|
2
|
+
function tubeMapConnectors(boxes, bpToScreen, tubeToScreen, width) {
|
|
24
3
|
const out = [];
|
|
25
|
-
for (const
|
|
26
|
-
const bottom0 = tubeToScreen(
|
|
27
|
-
const bottom1 = tubeToScreen(
|
|
4
|
+
for (const box of boxes) {
|
|
5
|
+
const bottom0 = tubeToScreen(box.x0);
|
|
6
|
+
const bottom1 = tubeToScreen(box.x1);
|
|
28
7
|
if (bottom1 >= 0 && bottom0 <= width) {
|
|
29
8
|
out.push({
|
|
30
|
-
node:
|
|
31
|
-
top0: bpToScreen(
|
|
32
|
-
top1: bpToScreen(
|
|
9
|
+
node: box.name,
|
|
10
|
+
top0: bpToScreen(box.bp0),
|
|
11
|
+
top1: bpToScreen(box.bp1),
|
|
33
12
|
bottom0,
|
|
34
13
|
bottom1
|
|
35
14
|
});
|
|
@@ -105,7 +84,6 @@ function drawTubeMapConnectors(ctx, connectors, bottom, {
|
|
|
105
84
|
}
|
|
106
85
|
|
|
107
86
|
export {
|
|
108
|
-
referenceNodes,
|
|
109
87
|
tubeMapConnectors,
|
|
110
88
|
connectorAt,
|
|
111
89
|
drawTubeMapConnectors
|
package/dist/cli/figure.js
CHANGED
|
@@ -7,9 +7,9 @@ import {
|
|
|
7
7
|
import {
|
|
8
8
|
LAYOUT_MODES,
|
|
9
9
|
layoutModeByValue
|
|
10
|
-
} from "../chunks/chunk-
|
|
11
|
-
import "../chunks/chunk-
|
|
12
|
-
import "../chunks/chunk-
|
|
10
|
+
} from "../chunks/chunk-WNUZP3WQ.js";
|
|
11
|
+
import "../chunks/chunk-INJ2UVOT.js";
|
|
12
|
+
import "../chunks/chunk-CWFNEKST.js";
|
|
13
13
|
import "../chunks/chunk-LOEA5IHZ.js";
|
|
14
14
|
import "../chunks/chunk-L3O7AWLI.js";
|
|
15
15
|
import "../chunks/chunk-TZFWUT2C.js";
|
|
@@ -35,14 +35,14 @@ import "../chunks/chunk-LYJ4US66.js";
|
|
|
35
35
|
import "../chunks/chunk-7XHHVYG7.js";
|
|
36
36
|
import {
|
|
37
37
|
figureSvg
|
|
38
|
-
} from "../chunks/chunk-
|
|
38
|
+
} from "../chunks/chunk-TLQ7F2ZT.js";
|
|
39
39
|
import "../chunks/chunk-LOCJN3BZ.js";
|
|
40
40
|
import "../chunks/chunk-47DYCZOK.js";
|
|
41
|
-
import "../chunks/chunk-
|
|
41
|
+
import "../chunks/chunk-WDTXW7T2.js";
|
|
42
42
|
import {
|
|
43
43
|
genesOnRow,
|
|
44
44
|
placeRowGenes
|
|
45
|
-
} from "../chunks/chunk-
|
|
45
|
+
} from "../chunks/chunk-MIW3HYPE.js";
|
|
46
46
|
import "../chunks/chunk-2WNBVB55.js";
|
|
47
47
|
import "../chunks/chunk-4BYTEJGW.js";
|
|
48
48
|
import "../chunks/chunk-3S3YVOJ7.js";
|
|
@@ -53,13 +53,13 @@ import "../chunks/chunk-2LQ5BWT7.js";
|
|
|
53
53
|
import "../chunks/chunk-6ZNQJ5ZD.js";
|
|
54
54
|
import "../chunks/chunk-HBEKUQO4.js";
|
|
55
55
|
import "../chunks/chunk-G2FD7S3C.js";
|
|
56
|
-
import "../chunks/chunk-
|
|
56
|
+
import "../chunks/chunk-AMS3MAFP.js";
|
|
57
57
|
import "../chunks/chunk-TL4B342F.js";
|
|
58
|
-
import "../chunks/chunk-
|
|
58
|
+
import "../chunks/chunk-3C5UXR2U.js";
|
|
59
59
|
import {
|
|
60
60
|
filterSamples,
|
|
61
61
|
walkRows
|
|
62
|
-
} from "../chunks/chunk-
|
|
62
|
+
} from "../chunks/chunk-MAUEPAMG.js";
|
|
63
63
|
import "../chunks/chunk-PBENCR5L.js";
|
|
64
64
|
import "../chunks/chunk-7GBL7SJY.js";
|
|
65
65
|
import {
|
package/dist/figure.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
figureSvg
|
|
3
|
-
} from "./chunks/chunk-
|
|
3
|
+
} from "./chunks/chunk-TLQ7F2ZT.js";
|
|
4
4
|
import "./chunks/chunk-LOCJN3BZ.js";
|
|
5
5
|
import "./chunks/chunk-47DYCZOK.js";
|
|
6
|
-
import "./chunks/chunk-
|
|
7
|
-
import "./chunks/chunk-
|
|
6
|
+
import "./chunks/chunk-WDTXW7T2.js";
|
|
7
|
+
import "./chunks/chunk-MIW3HYPE.js";
|
|
8
8
|
import "./chunks/chunk-2WNBVB55.js";
|
|
9
9
|
import "./chunks/chunk-4BYTEJGW.js";
|
|
10
10
|
import "./chunks/chunk-3S3YVOJ7.js";
|
|
@@ -15,10 +15,10 @@ import "./chunks/chunk-2LQ5BWT7.js";
|
|
|
15
15
|
import "./chunks/chunk-6ZNQJ5ZD.js";
|
|
16
16
|
import "./chunks/chunk-HBEKUQO4.js";
|
|
17
17
|
import "./chunks/chunk-G2FD7S3C.js";
|
|
18
|
-
import "./chunks/chunk-
|
|
18
|
+
import "./chunks/chunk-AMS3MAFP.js";
|
|
19
19
|
import "./chunks/chunk-TL4B342F.js";
|
|
20
|
-
import "./chunks/chunk-
|
|
21
|
-
import "./chunks/chunk-
|
|
20
|
+
import "./chunks/chunk-3C5UXR2U.js";
|
|
21
|
+
import "./chunks/chunk-MAUEPAMG.js";
|
|
22
22
|
import "./chunks/chunk-PBENCR5L.js";
|
|
23
23
|
import "./chunks/chunk-7GBL7SJY.js";
|
|
24
24
|
import "./chunks/chunk-RAKOB6IV.js";
|
package/dist/index.js
CHANGED
|
@@ -3,8 +3,10 @@ import {
|
|
|
3
3
|
} from "./chunks/chunk-TDQLINVI.js";
|
|
4
4
|
import {
|
|
5
5
|
drawTubeMap,
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
tubeMapMismatchAt,
|
|
7
|
+
tubeMapPicture,
|
|
8
|
+
tubeMapTrackAt
|
|
9
|
+
} from "./chunks/chunk-LLP3FXPM.js";
|
|
8
10
|
import {
|
|
9
11
|
tubeMapFrame,
|
|
10
12
|
tubeMapNodeAt
|
|
@@ -12,8 +14,8 @@ import {
|
|
|
12
14
|
import {
|
|
13
15
|
drawTubeMapGenes,
|
|
14
16
|
tubeMapGenes
|
|
15
|
-
} from "./chunks/chunk-
|
|
16
|
-
import "./chunks/chunk-
|
|
17
|
+
} from "./chunks/chunk-WEDZ76AK.js";
|
|
18
|
+
import "./chunks/chunk-XXT2JCAC.js";
|
|
17
19
|
import {
|
|
18
20
|
tubeMapNodeColors
|
|
19
21
|
} from "./chunks/chunk-FFFQNQUI.js";
|
|
@@ -26,13 +28,12 @@ import {
|
|
|
26
28
|
referenceBoxes,
|
|
27
29
|
rulerBoxes,
|
|
28
30
|
tubeX
|
|
29
|
-
} from "./chunks/chunk-
|
|
31
|
+
} from "./chunks/chunk-BPRXQ2SS.js";
|
|
30
32
|
import {
|
|
31
33
|
connectorAt,
|
|
32
34
|
drawTubeMapConnectors,
|
|
33
|
-
referenceNodes,
|
|
34
35
|
tubeMapConnectors
|
|
35
|
-
} from "./chunks/chunk-
|
|
36
|
+
} from "./chunks/chunk-YOYLCLIG.js";
|
|
36
37
|
import {
|
|
37
38
|
createForceLayoutCache
|
|
38
39
|
} from "./chunks/chunk-SKKYLBRA.js";
|
|
@@ -69,9 +70,9 @@ import {
|
|
|
69
70
|
LAYOUT_MODES,
|
|
70
71
|
layoutModeByValue,
|
|
71
72
|
modeUsesLayoutEngine
|
|
72
|
-
} from "./chunks/chunk-
|
|
73
|
-
import "./chunks/chunk-
|
|
74
|
-
import "./chunks/chunk-
|
|
73
|
+
} from "./chunks/chunk-WNUZP3WQ.js";
|
|
74
|
+
import "./chunks/chunk-INJ2UVOT.js";
|
|
75
|
+
import "./chunks/chunk-CWFNEKST.js";
|
|
75
76
|
import "./chunks/chunk-LOEA5IHZ.js";
|
|
76
77
|
import "./chunks/chunk-L3O7AWLI.js";
|
|
77
78
|
import "./chunks/chunk-TZFWUT2C.js";
|
|
@@ -112,7 +113,7 @@ import {
|
|
|
112
113
|
} from "./chunks/chunk-7XHHVYG7.js";
|
|
113
114
|
import {
|
|
114
115
|
figureSvg
|
|
115
|
-
} from "./chunks/chunk-
|
|
116
|
+
} from "./chunks/chunk-TLQ7F2ZT.js";
|
|
116
117
|
import {
|
|
117
118
|
layoutGeometryInputs
|
|
118
119
|
} from "./chunks/chunk-LOCJN3BZ.js";
|
|
@@ -130,7 +131,7 @@ import {
|
|
|
130
131
|
walkStripApplies,
|
|
131
132
|
walkStripFrame,
|
|
132
133
|
walkStripLabelsTree
|
|
133
|
-
} from "./chunks/chunk-
|
|
134
|
+
} from "./chunks/chunk-WDTXW7T2.js";
|
|
134
135
|
import {
|
|
135
136
|
BAR_PX,
|
|
136
137
|
CALL_TICK,
|
|
@@ -157,7 +158,7 @@ import {
|
|
|
157
158
|
walkRowsKey,
|
|
158
159
|
walkRowsKeyTree,
|
|
159
160
|
walkRowsTree
|
|
160
|
-
} from "./chunks/chunk-
|
|
161
|
+
} from "./chunks/chunk-MIW3HYPE.js";
|
|
161
162
|
import {
|
|
162
163
|
Canvas2DRenderer
|
|
163
164
|
} from "./chunks/chunk-2WNBVB55.js";
|
|
@@ -204,7 +205,7 @@ import {
|
|
|
204
205
|
import "./chunks/chunk-G2FD7S3C.js";
|
|
205
206
|
import {
|
|
206
207
|
version
|
|
207
|
-
} from "./chunks/chunk-
|
|
208
|
+
} from "./chunks/chunk-AMS3MAFP.js";
|
|
208
209
|
import {
|
|
209
210
|
axisScaleOf,
|
|
210
211
|
contains,
|
|
@@ -216,11 +217,11 @@ import {
|
|
|
216
217
|
import {
|
|
217
218
|
walkRowLabels,
|
|
218
219
|
walkRowsExtent
|
|
219
|
-
} from "./chunks/chunk-
|
|
220
|
+
} from "./chunks/chunk-3C5UXR2U.js";
|
|
220
221
|
import {
|
|
221
222
|
filterSamples,
|
|
222
223
|
walkRows
|
|
223
|
-
} from "./chunks/chunk-
|
|
224
|
+
} from "./chunks/chunk-MAUEPAMG.js";
|
|
224
225
|
import {
|
|
225
226
|
NODE_WIDTHS,
|
|
226
227
|
maxNodeWidthPx,
|
|
@@ -463,7 +464,6 @@ export {
|
|
|
463
464
|
referenceBoxes,
|
|
464
465
|
referenceKnots,
|
|
465
466
|
referenceLabel,
|
|
466
|
-
referenceNodes,
|
|
467
467
|
referencePathQuery,
|
|
468
468
|
referenceSamplesOf,
|
|
469
469
|
referenceStripBlocks,
|
|
@@ -489,9 +489,11 @@ export {
|
|
|
489
489
|
tubeMapConnectors,
|
|
490
490
|
tubeMapFrame,
|
|
491
491
|
tubeMapGenes,
|
|
492
|
+
tubeMapMismatchAt,
|
|
492
493
|
tubeMapNodeAt,
|
|
493
494
|
tubeMapNodeColors,
|
|
494
495
|
tubeMapPicture,
|
|
496
|
+
tubeMapTrackAt,
|
|
495
497
|
tubeX,
|
|
496
498
|
unitTicks,
|
|
497
499
|
version,
|
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
import {
|
|
2
|
+
boxGraph,
|
|
3
|
+
hasTubeMapBackbone,
|
|
2
4
|
hasTubeMapPaths,
|
|
5
|
+
mergedRuns,
|
|
6
|
+
pathSteps,
|
|
3
7
|
tubeMapLayout,
|
|
4
8
|
tubeMapReferenceLayout,
|
|
5
9
|
tubeMapTracks,
|
|
6
|
-
tubeWidth
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
import "../chunks/chunk-TEDQJPMI.js";
|
|
10
|
+
tubeWidth
|
|
11
|
+
} from "../chunks/chunk-INJ2UVOT.js";
|
|
12
|
+
import "../chunks/chunk-CWFNEKST.js";
|
|
10
13
|
import "../chunks/chunk-C44YRP5F.js";
|
|
11
14
|
import "../chunks/chunk-7GBL7SJY.js";
|
|
12
15
|
import "../chunks/chunk-3ZZSX5HN.js";
|
|
@@ -19,10 +22,13 @@ import "../chunks/chunk-2CVHXFK7.js";
|
|
|
19
22
|
import "../chunks/chunk-CPMHA4W5.js";
|
|
20
23
|
import "../chunks/chunk-FYQWPEEY.js";
|
|
21
24
|
export {
|
|
25
|
+
boxGraph,
|
|
26
|
+
hasTubeMapBackbone,
|
|
22
27
|
hasTubeMapPaths,
|
|
28
|
+
mergedRuns,
|
|
29
|
+
pathSteps,
|
|
23
30
|
tubeMapLayout,
|
|
24
31
|
tubeMapReferenceLayout,
|
|
25
32
|
tubeMapTracks,
|
|
26
|
-
tubeWidth
|
|
27
|
-
visitStrands
|
|
33
|
+
tubeWidth
|
|
28
34
|
};
|
|
@@ -26,7 +26,7 @@ import {
|
|
|
26
26
|
walkRowsKey,
|
|
27
27
|
walkRowsKeyTree,
|
|
28
28
|
walkRowsTree
|
|
29
|
-
} from "../chunks/chunk-
|
|
29
|
+
} from "../chunks/chunk-MIW3HYPE.js";
|
|
30
30
|
import "../chunks/chunk-6ZNQJ5ZD.js";
|
|
31
31
|
import "../chunks/chunk-HBEKUQO4.js";
|
|
32
32
|
import "../chunks/chunk-G2FD7S3C.js";
|
|
@@ -2,8 +2,8 @@ import {
|
|
|
2
2
|
walkRowLabels,
|
|
3
3
|
walkRowLayout,
|
|
4
4
|
walkRowsExtent
|
|
5
|
-
} from "../chunks/chunk-
|
|
6
|
-
import "../chunks/chunk-
|
|
5
|
+
} from "../chunks/chunk-3C5UXR2U.js";
|
|
6
|
+
import "../chunks/chunk-MAUEPAMG.js";
|
|
7
7
|
import "../chunks/chunk-ST2IBUAN.js";
|
|
8
8
|
import "../chunks/chunk-BPLIXMH7.js";
|
|
9
9
|
import "../chunks/chunk-CPMHA4W5.js";
|
package/dist/layout/walkRows.js
CHANGED
package/dist/layout/walkStrip.js
CHANGED
|
@@ -9,10 +9,10 @@ import {
|
|
|
9
9
|
walkStripApplies,
|
|
10
10
|
walkStripFrame,
|
|
11
11
|
walkStripLabelsTree
|
|
12
|
-
} from "../chunks/chunk-
|
|
12
|
+
} from "../chunks/chunk-WDTXW7T2.js";
|
|
13
13
|
import {
|
|
14
14
|
LABELLED_ROW_PX
|
|
15
|
-
} from "../chunks/chunk-
|
|
15
|
+
} from "../chunks/chunk-MIW3HYPE.js";
|
|
16
16
|
import "../chunks/chunk-6ZNQJ5ZD.js";
|
|
17
17
|
import "../chunks/chunk-HBEKUQO4.js";
|
|
18
18
|
import "../chunks/chunk-G2FD7S3C.js";
|
package/dist/layoutModes.js
CHANGED
|
@@ -4,17 +4,17 @@ import {
|
|
|
4
4
|
LAYOUT_MODE_VALUES,
|
|
5
5
|
layoutModeByValue,
|
|
6
6
|
modeUsesLayoutEngine
|
|
7
|
-
} from "./chunks/chunk-
|
|
8
|
-
import "./chunks/chunk-
|
|
9
|
-
import "./chunks/chunk-
|
|
7
|
+
} from "./chunks/chunk-WNUZP3WQ.js";
|
|
8
|
+
import "./chunks/chunk-INJ2UVOT.js";
|
|
9
|
+
import "./chunks/chunk-CWFNEKST.js";
|
|
10
10
|
import "./chunks/chunk-LOEA5IHZ.js";
|
|
11
11
|
import "./chunks/chunk-L3O7AWLI.js";
|
|
12
12
|
import "./chunks/chunk-TZFWUT2C.js";
|
|
13
13
|
import "./chunks/chunk-C44YRP5F.js";
|
|
14
14
|
import "./chunks/chunk-RVS2QCOX.js";
|
|
15
15
|
import "./chunks/chunk-HNQPEMYE.js";
|
|
16
|
-
import "./chunks/chunk-
|
|
17
|
-
import "./chunks/chunk-
|
|
16
|
+
import "./chunks/chunk-3C5UXR2U.js";
|
|
17
|
+
import "./chunks/chunk-MAUEPAMG.js";
|
|
18
18
|
import "./chunks/chunk-7GBL7SJY.js";
|
|
19
19
|
import "./chunks/chunk-3ZZSX5HN.js";
|
|
20
20
|
import "./chunks/chunk-AB35TJST.js";
|
package/dist/tubeMap/axis.js
CHANGED
package/dist/tubeMap/coarsen.js
CHANGED
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
|
-
|
|
3
|
-
} from "../chunks/chunk-
|
|
4
|
-
import
|
|
5
|
-
canonicalStrand
|
|
6
|
-
} from "../chunks/chunk-TEDQJPMI.js";
|
|
2
|
+
pathSteps
|
|
3
|
+
} from "../chunks/chunk-INJ2UVOT.js";
|
|
4
|
+
import "../chunks/chunk-CWFNEKST.js";
|
|
7
5
|
import "../chunks/chunk-C44YRP5F.js";
|
|
8
6
|
import "../chunks/chunk-7GBL7SJY.js";
|
|
9
7
|
import "../chunks/chunk-3ZZSX5HN.js";
|
|
@@ -21,20 +19,11 @@ import {
|
|
|
21
19
|
} from "../chunks/chunk-FYQWPEEY.js";
|
|
22
20
|
|
|
23
21
|
// src/tubeMap/coarsen.ts
|
|
24
|
-
function readWalk(path,
|
|
25
|
-
const visitName = pathOrigin(path.name).name;
|
|
26
|
-
const seen = /* @__PURE__ */ new Map();
|
|
22
|
+
function readWalk(path, steps) {
|
|
27
23
|
const runs = [];
|
|
28
24
|
const open = () => ({ a: -Infinity, b: Infinity, detour: [], bp: 0 });
|
|
29
25
|
const gaps = [open()];
|
|
30
|
-
for (const
|
|
31
|
-
const node = nodeById.get(id);
|
|
32
|
-
if (!node) {
|
|
33
|
-
continue;
|
|
34
|
-
}
|
|
35
|
-
const k = seen.get(node.name) ?? 0;
|
|
36
|
-
seen.set(node.name, k + 1);
|
|
37
|
-
const strand = strands.get(`${visitName} ${node.name}`)?.[k] ?? canonicalStrand(node);
|
|
26
|
+
for (const { node, strand } of steps) {
|
|
38
27
|
const gap = gaps.at(-1);
|
|
39
28
|
const last = runs.at(-1);
|
|
40
29
|
if (isBackbone(node)) {
|
|
@@ -119,13 +108,13 @@ function findCuts(walks, sigma, cuts) {
|
|
|
119
108
|
}
|
|
120
109
|
}
|
|
121
110
|
}
|
|
111
|
+
const spans = walks.flatMap(({ runs, gaps }) => [
|
|
112
|
+
...gaps.filter((g) => isSmall(g, sigma)).map((g) => [g.a, g.b]),
|
|
113
|
+
...runs.filter((r) => r.inverted && r.end - r.start < sigma).map((r) => [r.start, r.end])
|
|
114
|
+
]);
|
|
122
115
|
for (let changed = true; changed; ) {
|
|
123
116
|
changed = false;
|
|
124
117
|
const sorted = [...cuts.keys()].sort((x, y) => x - y);
|
|
125
|
-
const spans = walks.flatMap(({ runs, gaps }) => [
|
|
126
|
-
...gaps.filter((g) => isSmall(g, sigma)).map((g) => [g.a, g.b]),
|
|
127
|
-
...runs.filter((r) => r.inverted && r.end - r.start < sigma).map((r) => [r.start, r.end])
|
|
128
|
-
]);
|
|
129
118
|
for (const [a, b] of spans) {
|
|
130
119
|
if (strictlyInside(sorted, a, b)) {
|
|
131
120
|
changed ||= !cuts.has(a) || !cuts.has(b);
|
|
@@ -179,9 +168,8 @@ function coarsenTubeMap(graph, sigma) {
|
|
|
179
168
|
if (backbone.length === 0 || paths.length === 0) {
|
|
180
169
|
return void 0;
|
|
181
170
|
}
|
|
182
|
-
const
|
|
183
|
-
const
|
|
184
|
-
const walks = paths.map((p) => readWalk(p, nodeById, strands));
|
|
171
|
+
const stepsOf = pathSteps(graph);
|
|
172
|
+
const walks = paths.map((p, i) => readWalk(p, stepsOf[i]));
|
|
185
173
|
const cuts = findCuts(walks, sigma, referenceGaps(backbone));
|
|
186
174
|
const sortedCuts = [...cuts.keys()].sort((x, y) => x - y);
|
|
187
175
|
const merged = mergeReference(backbone, cuts);
|
|
@@ -1,13 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
connectorAt,
|
|
3
3
|
drawTubeMapConnectors,
|
|
4
|
-
referenceNodes,
|
|
5
4
|
tubeMapConnectors
|
|
6
|
-
} from "../chunks/chunk-
|
|
7
|
-
import "../chunks/chunk-FYQWPEEY.js";
|
|
5
|
+
} from "../chunks/chunk-YOYLCLIG.js";
|
|
8
6
|
export {
|
|
9
7
|
connectorAt,
|
|
10
8
|
drawTubeMapConnectors,
|
|
11
|
-
referenceNodes,
|
|
12
9
|
tubeMapConnectors
|
|
13
10
|
};
|
|
@@ -1,20 +1,15 @@
|
|
|
1
1
|
import {
|
|
2
|
-
|
|
3
|
-
} from "../chunks/chunk-
|
|
2
|
+
referenceBoxes
|
|
3
|
+
} from "../chunks/chunk-BPRXQ2SS.js";
|
|
4
|
+
import "../chunks/chunk-3ZZSX5HN.js";
|
|
5
|
+
import "../chunks/chunk-AB35TJST.js";
|
|
6
|
+
import "../chunks/chunk-TAMCZHLW.js";
|
|
7
|
+
import "../chunks/chunk-N6FECAXP.js";
|
|
8
|
+
import "../chunks/chunk-2CVHXFK7.js";
|
|
9
|
+
import "../chunks/chunk-CPMHA4W5.js";
|
|
10
|
+
import "../chunks/chunk-FYQWPEEY.js";
|
|
4
11
|
|
|
5
12
|
// src/tubeMap/deviations.ts
|
|
6
|
-
function boxesOf(graph, layout) {
|
|
7
|
-
const nodeById = new Map(graph.nodes.map((n) => [n.id, n]));
|
|
8
|
-
const boxes = [];
|
|
9
|
-
layout.nodes.forEach((node, index) => {
|
|
10
|
-
const g = nodeById.get(node.name);
|
|
11
|
-
if (node.order >= 0 && g && isBackbone(g)) {
|
|
12
|
-
const bp0 = g.stable.start;
|
|
13
|
-
boxes.push({ bp0, bp1: bp0 + node.sequenceLength, index, node });
|
|
14
|
-
}
|
|
15
|
-
});
|
|
16
|
-
return boxes.sort((a, b) => a.bp0 - b.bp0);
|
|
17
|
-
}
|
|
18
13
|
function boxAt(boxes, bp, visited) {
|
|
19
14
|
let lo = 0;
|
|
20
15
|
let hi = boxes.length - 1;
|
|
@@ -30,8 +25,9 @@ function boxAt(boxes, bp, visited) {
|
|
|
30
25
|
(box) => box && visited.has(box.index) && box.bp0 <= bp && bp <= box.bp1
|
|
31
26
|
);
|
|
32
27
|
}
|
|
33
|
-
function deviationMarks(
|
|
34
|
-
const
|
|
28
|
+
function deviationMarks(drawing, deviations) {
|
|
29
|
+
const { layout } = drawing;
|
|
30
|
+
const boxes = [...referenceBoxes(drawing).values()].flat().sort((a, b) => a.bp0 - b.bp0);
|
|
35
31
|
const marks = [];
|
|
36
32
|
for (const track of layout.tracks) {
|
|
37
33
|
const devs = track.name ? deviations.get(track.name) : void 0;
|
|
@@ -45,12 +41,12 @@ function deviationMarks(graph, layout, deviations) {
|
|
|
45
41
|
for (const d of devs) {
|
|
46
42
|
const box = boxAt(boxes, d.start, visited);
|
|
47
43
|
if (box) {
|
|
48
|
-
const {
|
|
49
|
-
const at = (bp) =>
|
|
44
|
+
const { bp0, bp1, x0, x1, index } = box;
|
|
45
|
+
const at = (bp) => x0 + (Math.min(bp, bp1) - bp0) / (bp1 - bp0) * (x1 - x0);
|
|
50
46
|
marks.push({
|
|
51
47
|
x0: at(d.start),
|
|
52
48
|
x1: at(d.end),
|
|
53
|
-
y: visited.get(
|
|
49
|
+
y: visited.get(index),
|
|
54
50
|
height: track.width
|
|
55
51
|
});
|
|
56
52
|
}
|
package/dist/tubeMap/draw.js
CHANGED
|
@@ -4,10 +4,12 @@ import {
|
|
|
4
4
|
mismatchesLegible,
|
|
5
5
|
parsePath,
|
|
6
6
|
trackColors,
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
7
|
+
tubeMapMismatchAt,
|
|
8
|
+
tubeMapPicture,
|
|
9
|
+
tubeMapTrackAt
|
|
10
|
+
} from "../chunks/chunk-LLP3FXPM.js";
|
|
11
|
+
import "../chunks/chunk-XXT2JCAC.js";
|
|
12
|
+
import "../chunks/chunk-CWFNEKST.js";
|
|
11
13
|
import "../chunks/chunk-C44YRP5F.js";
|
|
12
14
|
export {
|
|
13
15
|
drawTubeMap,
|
|
@@ -15,5 +17,7 @@ export {
|
|
|
15
17
|
mismatchesLegible,
|
|
16
18
|
parsePath,
|
|
17
19
|
trackColors,
|
|
18
|
-
|
|
20
|
+
tubeMapMismatchAt,
|
|
21
|
+
tubeMapPicture,
|
|
22
|
+
tubeMapTrackAt
|
|
19
23
|
};
|
package/dist/tubeMap/genes.js
CHANGED
|
@@ -3,8 +3,8 @@ import {
|
|
|
3
3
|
drawTubeMapGenes,
|
|
4
4
|
tubeMapGeneRows,
|
|
5
5
|
tubeMapGenes
|
|
6
|
-
} from "../chunks/chunk-
|
|
7
|
-
import "../chunks/chunk-
|
|
6
|
+
} from "../chunks/chunk-WEDZ76AK.js";
|
|
7
|
+
import "../chunks/chunk-BPRXQ2SS.js";
|
|
8
8
|
import "../chunks/chunk-3ZZSX5HN.js";
|
|
9
9
|
import "../chunks/chunk-AB35TJST.js";
|
|
10
10
|
import "../chunks/chunk-TAMCZHLW.js";
|