@jbrowse/bandage-core 8.0.1 → 8.0.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/chunks/{chunk-4UBWXZVX.js → chunk-AO2VAMA4.js} +1 -1
- package/dist/chunks/{chunk-MRZ7CFBN.js → chunk-H5ABLOPB.js} +3 -3
- package/dist/chunks/{chunk-72N5DJHZ.js → chunk-OCMBULGN.js} +48 -23
- package/dist/chunks/{chunk-XVSBZ4ZW.js → chunk-WBFYKGXL.js} +1 -1
- package/dist/chunks/{chunk-H5S2ONCJ.js → chunk-WC3Y3TD2.js} +1 -1
- package/dist/chunks/{chunk-V5W5E3UN.js → chunk-XNE4UNSJ.js} +1 -1
- package/dist/chunks/{chunk-WZATPZNH.js → chunk-XRPU24OP.js} +1 -1
- package/dist/cli/figure.js +5 -5
- package/dist/figure.js +5 -5
- package/dist/figureSettings.js +3 -3
- package/dist/gfa/gfaConverter.js +1 -1
- package/dist/index.js +7 -7
- package/dist/layout/forceCache.js +3 -3
- package/dist/pipeline.js +2 -2
- package/dist/types/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/viewport.js +3 -3
- package/package.json +1 -1
|
@@ -42,10 +42,10 @@ import {
|
|
|
42
42
|
} from "./chunk-HBEKUQO4.js";
|
|
43
43
|
import {
|
|
44
44
|
version
|
|
45
|
-
} from "./chunk-
|
|
45
|
+
} from "./chunk-XNE4UNSJ.js";
|
|
46
46
|
import {
|
|
47
47
|
axisScaleOf
|
|
48
|
-
} from "./chunk-
|
|
48
|
+
} from "./chunk-AO2VAMA4.js";
|
|
49
49
|
import {
|
|
50
50
|
walkRowLabels,
|
|
51
51
|
walkRowsExtent
|
|
@@ -91,7 +91,7 @@ import {
|
|
|
91
91
|
FIT_PADDING,
|
|
92
92
|
drawingBounds,
|
|
93
93
|
fitTransform
|
|
94
|
-
} from "./chunk-
|
|
94
|
+
} from "./chunk-XRPU24OP.js";
|
|
95
95
|
import {
|
|
96
96
|
deletionDrawing,
|
|
97
97
|
deletionEdges
|
|
@@ -16,8 +16,11 @@ function surveySegments(gfaGraph) {
|
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
18
|
function traverse(id, strand) {
|
|
19
|
-
|
|
20
|
-
|
|
19
|
+
const seen = traversals.get(id);
|
|
20
|
+
if (seen === void 0) {
|
|
21
|
+
claim(id, strand);
|
|
22
|
+
}
|
|
23
|
+
traversals.set(id, (seen ?? 0) + 1);
|
|
21
24
|
}
|
|
22
25
|
for (const link of gfaGraph.links) {
|
|
23
26
|
claim(link.source, link.strand1 === "-" ? "-" : "+");
|
|
@@ -36,6 +39,7 @@ function surveySegments(gfaGraph) {
|
|
|
36
39
|
return { canonical, traversals };
|
|
37
40
|
}
|
|
38
41
|
var walkStart = (w) => w.start === -1 ? 0 : w.start;
|
|
42
|
+
var stranded = (s) => s.strand === "+" || s.strand === "-";
|
|
39
43
|
function anchorablePaths(gfaGraph) {
|
|
40
44
|
return [
|
|
41
45
|
...gfaGraph.paths.map((p) => ({
|
|
@@ -48,7 +52,7 @@ function anchorablePaths(gfaGraph) {
|
|
|
48
52
|
...gfaGraph.walks.map((w) => ({
|
|
49
53
|
name: `${w.sample}#${w.haplotype}#${w.contig}`,
|
|
50
54
|
start: walkStart(w),
|
|
51
|
-
steps: w.segments.map((s) => ({
|
|
55
|
+
steps: w.segments.every(stranded) ? w.segments : w.segments.map((s) => ({
|
|
52
56
|
id: s.id,
|
|
53
57
|
strand: s.strand === "-" ? "-" : "+"
|
|
54
58
|
}))
|
|
@@ -82,7 +86,15 @@ function convertGFAToGraph(gfaGraph, name = "Imported GFA") {
|
|
|
82
86
|
const nodes = [];
|
|
83
87
|
const edges = [];
|
|
84
88
|
const { canonical, traversals } = surveySegments(gfaGraph);
|
|
85
|
-
const
|
|
89
|
+
const nodeIds = /* @__PURE__ */ new Map();
|
|
90
|
+
const nodeId = (segmentId) => {
|
|
91
|
+
let id = nodeIds.get(segmentId);
|
|
92
|
+
if (id === void 0) {
|
|
93
|
+
id = `${segmentId}${canonical.get(segmentId) ?? "+"}`;
|
|
94
|
+
nodeIds.set(segmentId, id);
|
|
95
|
+
}
|
|
96
|
+
return id;
|
|
97
|
+
};
|
|
86
98
|
for (const gfaNode of gfaGraph.nodes) {
|
|
87
99
|
const depth = statedDepth(gfaNode) ?? Math.max(traversals.get(gfaNode.id) ?? 1, 1);
|
|
88
100
|
nodes.push(makeNode(gfaNode, canonical.get(gfaNode.id) ?? "+", depth));
|
|
@@ -96,45 +108,58 @@ function convertGFAToGraph(gfaGraph, name = "Imported GFA") {
|
|
|
96
108
|
});
|
|
97
109
|
}
|
|
98
110
|
const paths = [];
|
|
99
|
-
const
|
|
100
|
-
const
|
|
101
|
-
function
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
111
|
+
const pathsByPair = /* @__PURE__ */ new Map();
|
|
112
|
+
const pairPaths = (a, b) => pathsByPair.get(a)?.get(b);
|
|
113
|
+
function addPair(a, b, set) {
|
|
114
|
+
let to = pathsByPair.get(a);
|
|
115
|
+
if (!to) {
|
|
116
|
+
to = /* @__PURE__ */ new Map();
|
|
117
|
+
pathsByPair.set(a, to);
|
|
118
|
+
}
|
|
119
|
+
to.set(b, set);
|
|
120
|
+
}
|
|
121
|
+
const edgePaths = edges.map((edge) => {
|
|
122
|
+
let set = pairPaths(edge.from, edge.to);
|
|
123
|
+
if (!set) {
|
|
124
|
+
set = /* @__PURE__ */ new Set();
|
|
125
|
+
addPair(edge.from, edge.to, set);
|
|
126
|
+
addPair(edge.to, edge.from, set);
|
|
127
|
+
}
|
|
128
|
+
return set;
|
|
129
|
+
});
|
|
130
|
+
function recordPathEdges(nodeIds2, name2) {
|
|
131
|
+
for (let i = 0; i < nodeIds2.length - 1; i++) {
|
|
132
|
+
pairPaths(nodeIds2[i], nodeIds2[i + 1])?.add(name2);
|
|
108
133
|
}
|
|
109
134
|
}
|
|
110
135
|
for (const gfaPath of gfaGraph.paths) {
|
|
111
|
-
const
|
|
136
|
+
const nodeIds2 = gfaPath.path.split(",").map((segment) => nodeId(segment.slice(0, -1)));
|
|
112
137
|
paths.push({
|
|
113
138
|
name: gfaPath.name,
|
|
114
|
-
nodeIds,
|
|
139
|
+
nodeIds: nodeIds2,
|
|
115
140
|
start: pathOrigin(gfaPath.name).start
|
|
116
141
|
});
|
|
117
|
-
recordPathEdges(
|
|
142
|
+
recordPathEdges(nodeIds2, gfaPath.name);
|
|
118
143
|
}
|
|
119
144
|
for (const walk of gfaGraph.walks) {
|
|
120
|
-
const
|
|
145
|
+
const nodeIds2 = walk.segments.map((seg) => nodeId(seg.id));
|
|
121
146
|
const name2 = `${walk.sample}#${walk.haplotype}#${walk.contig}`;
|
|
122
147
|
paths.push({
|
|
123
148
|
name: name2,
|
|
124
|
-
nodeIds,
|
|
149
|
+
nodeIds: nodeIds2,
|
|
125
150
|
start: walkStart(walk),
|
|
126
151
|
sample: walk.sample,
|
|
127
152
|
haplotype: walk.haplotype,
|
|
128
153
|
contig: walk.contig
|
|
129
154
|
});
|
|
130
|
-
recordPathEdges(
|
|
155
|
+
recordPathEdges(nodeIds2, name2);
|
|
131
156
|
}
|
|
132
|
-
|
|
133
|
-
const pathIds =
|
|
134
|
-
if (pathIds
|
|
157
|
+
edges.forEach((edge, i) => {
|
|
158
|
+
const pathIds = edgePaths[i];
|
|
159
|
+
if (pathIds.size > 0) {
|
|
135
160
|
edge.pathIds = [...pathIds];
|
|
136
161
|
}
|
|
137
|
-
}
|
|
162
|
+
});
|
|
138
163
|
const lengths = new Map(gfaGraph.nodes.map((n) => [n.id, n.length]));
|
|
139
164
|
const anchoring = gfaGraph.paths.length > 0 || gfaGraph.walks.length > 0 ? surveyPaths(anchorablePaths(gfaGraph), (id) => lengths.get(id) ?? 0) : void 0;
|
|
140
165
|
return {
|
package/dist/cli/figure.js
CHANGED
|
@@ -35,7 +35,7 @@ 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-H5ABLOPB.js";
|
|
39
39
|
import "../chunks/chunk-LOCJN3BZ.js";
|
|
40
40
|
import "../chunks/chunk-47DYCZOK.js";
|
|
41
41
|
import "../chunks/chunk-O2ANJQVH.js";
|
|
@@ -53,8 +53,8 @@ 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-
|
|
57
|
-
import "../chunks/chunk-
|
|
56
|
+
import "../chunks/chunk-XNE4UNSJ.js";
|
|
57
|
+
import "../chunks/chunk-AO2VAMA4.js";
|
|
58
58
|
import "../chunks/chunk-MP7LXLWV.js";
|
|
59
59
|
import {
|
|
60
60
|
filterSamples,
|
|
@@ -80,10 +80,10 @@ import {
|
|
|
80
80
|
engineSettingsOf,
|
|
81
81
|
forceLayout,
|
|
82
82
|
loadGraph
|
|
83
|
-
} from "../chunks/chunk-
|
|
83
|
+
} from "../chunks/chunk-XRPU24OP.js";
|
|
84
84
|
import "../chunks/chunk-IGVV37VI.js";
|
|
85
85
|
import "../chunks/chunk-PUG7LXDF.js";
|
|
86
|
-
import "../chunks/chunk-
|
|
86
|
+
import "../chunks/chunk-OCMBULGN.js";
|
|
87
87
|
import "../chunks/chunk-QYBZZI5H.js";
|
|
88
88
|
import "../chunks/chunk-CDLPYR5O.js";
|
|
89
89
|
import "../chunks/chunk-ES2N6V56.js";
|
package/dist/figure.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
figureSvg
|
|
3
|
-
} from "./chunks/chunk-
|
|
3
|
+
} from "./chunks/chunk-H5ABLOPB.js";
|
|
4
4
|
import "./chunks/chunk-LOCJN3BZ.js";
|
|
5
5
|
import "./chunks/chunk-47DYCZOK.js";
|
|
6
6
|
import "./chunks/chunk-O2ANJQVH.js";
|
|
@@ -15,8 +15,8 @@ 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-
|
|
19
|
-
import "./chunks/chunk-
|
|
18
|
+
import "./chunks/chunk-XNE4UNSJ.js";
|
|
19
|
+
import "./chunks/chunk-AO2VAMA4.js";
|
|
20
20
|
import "./chunks/chunk-MP7LXLWV.js";
|
|
21
21
|
import "./chunks/chunk-SZNZ2T6D.js";
|
|
22
22
|
import "./chunks/chunk-PBENCR5L.js";
|
|
@@ -31,10 +31,10 @@ import "./chunks/chunk-AB35TJST.js";
|
|
|
31
31
|
import "./chunks/chunk-JKJWSY4V.js";
|
|
32
32
|
import "./chunks/chunk-NNODIW4U.js";
|
|
33
33
|
import "./chunks/chunk-XV4P5KEQ.js";
|
|
34
|
-
import "./chunks/chunk-
|
|
34
|
+
import "./chunks/chunk-XRPU24OP.js";
|
|
35
35
|
import "./chunks/chunk-IGVV37VI.js";
|
|
36
36
|
import "./chunks/chunk-PUG7LXDF.js";
|
|
37
|
-
import "./chunks/chunk-
|
|
37
|
+
import "./chunks/chunk-OCMBULGN.js";
|
|
38
38
|
import "./chunks/chunk-QYBZZI5H.js";
|
|
39
39
|
import "./chunks/chunk-CDLPYR5O.js";
|
|
40
40
|
import "./chunks/chunk-ES2N6V56.js";
|
package/dist/figureSettings.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
2
|
FIGURE_DEFAULTS,
|
|
3
3
|
figureSpecSettings
|
|
4
|
-
} from "./chunks/chunk-
|
|
5
|
-
import "./chunks/chunk-
|
|
4
|
+
} from "./chunks/chunk-WC3Y3TD2.js";
|
|
5
|
+
import "./chunks/chunk-XRPU24OP.js";
|
|
6
6
|
import "./chunks/chunk-IGVV37VI.js";
|
|
7
7
|
import "./chunks/chunk-PUG7LXDF.js";
|
|
8
|
-
import "./chunks/chunk-
|
|
8
|
+
import "./chunks/chunk-OCMBULGN.js";
|
|
9
9
|
import "./chunks/chunk-QYBZZI5H.js";
|
|
10
10
|
import "./chunks/chunk-CDLPYR5O.js";
|
|
11
11
|
import "./chunks/chunk-ES2N6V56.js";
|
package/dist/gfa/gfaConverter.js
CHANGED
package/dist/index.js
CHANGED
|
@@ -35,7 +35,7 @@ import {
|
|
|
35
35
|
} from "./chunks/chunk-GQ2AOHU4.js";
|
|
36
36
|
import {
|
|
37
37
|
createForceLayoutCache
|
|
38
|
-
} from "./chunks/chunk-
|
|
38
|
+
} from "./chunks/chunk-WBFYKGXL.js";
|
|
39
39
|
import {
|
|
40
40
|
bubbleSubgraph
|
|
41
41
|
} from "./chunks/chunk-VHW7FDHU.js";
|
|
@@ -112,7 +112,7 @@ import {
|
|
|
112
112
|
} from "./chunks/chunk-7XHHVYG7.js";
|
|
113
113
|
import {
|
|
114
114
|
figureSvg
|
|
115
|
-
} from "./chunks/chunk-
|
|
115
|
+
} from "./chunks/chunk-H5ABLOPB.js";
|
|
116
116
|
import {
|
|
117
117
|
layoutGeometryInputs
|
|
118
118
|
} from "./chunks/chunk-LOCJN3BZ.js";
|
|
@@ -204,7 +204,7 @@ import {
|
|
|
204
204
|
import "./chunks/chunk-G2FD7S3C.js";
|
|
205
205
|
import {
|
|
206
206
|
version
|
|
207
|
-
} from "./chunks/chunk-
|
|
207
|
+
} from "./chunks/chunk-XNE4UNSJ.js";
|
|
208
208
|
import {
|
|
209
209
|
axisScaleOf,
|
|
210
210
|
contains,
|
|
@@ -212,7 +212,7 @@ import {
|
|
|
212
212
|
screenToLayout,
|
|
213
213
|
viewportOf,
|
|
214
214
|
zoomAbout
|
|
215
|
-
} from "./chunks/chunk-
|
|
215
|
+
} from "./chunks/chunk-AO2VAMA4.js";
|
|
216
216
|
import {
|
|
217
217
|
walkRowLabels,
|
|
218
218
|
walkRowsExtent
|
|
@@ -283,7 +283,7 @@ import {
|
|
|
283
283
|
import {
|
|
284
284
|
FIGURE_DEFAULTS,
|
|
285
285
|
figureSpecSettings
|
|
286
|
-
} from "./chunks/chunk-
|
|
286
|
+
} from "./chunks/chunk-WC3Y3TD2.js";
|
|
287
287
|
import {
|
|
288
288
|
ENGINE_DEFAULTS,
|
|
289
289
|
FIT_PADDING,
|
|
@@ -296,10 +296,10 @@ import {
|
|
|
296
296
|
forceLayout,
|
|
297
297
|
layoutExtent,
|
|
298
298
|
loadGraph
|
|
299
|
-
} from "./chunks/chunk-
|
|
299
|
+
} from "./chunks/chunk-XRPU24OP.js";
|
|
300
300
|
import "./chunks/chunk-IGVV37VI.js";
|
|
301
301
|
import "./chunks/chunk-PUG7LXDF.js";
|
|
302
|
-
import "./chunks/chunk-
|
|
302
|
+
import "./chunks/chunk-OCMBULGN.js";
|
|
303
303
|
import "./chunks/chunk-QYBZZI5H.js";
|
|
304
304
|
import "./chunks/chunk-CDLPYR5O.js";
|
|
305
305
|
import "./chunks/chunk-ES2N6V56.js";
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createForceLayoutCache
|
|
3
|
-
} from "../chunks/chunk-
|
|
4
|
-
import "../chunks/chunk-
|
|
3
|
+
} from "../chunks/chunk-WBFYKGXL.js";
|
|
4
|
+
import "../chunks/chunk-XRPU24OP.js";
|
|
5
5
|
import "../chunks/chunk-IGVV37VI.js";
|
|
6
6
|
import "../chunks/chunk-PUG7LXDF.js";
|
|
7
|
-
import "../chunks/chunk-
|
|
7
|
+
import "../chunks/chunk-OCMBULGN.js";
|
|
8
8
|
import "../chunks/chunk-QYBZZI5H.js";
|
|
9
9
|
import "../chunks/chunk-CDLPYR5O.js";
|
|
10
10
|
import "../chunks/chunk-ES2N6V56.js";
|
package/dist/pipeline.js
CHANGED
|
@@ -11,10 +11,10 @@ import {
|
|
|
11
11
|
forceLayout,
|
|
12
12
|
layoutExtent,
|
|
13
13
|
loadGraph
|
|
14
|
-
} from "./chunks/chunk-
|
|
14
|
+
} from "./chunks/chunk-XRPU24OP.js";
|
|
15
15
|
import "./chunks/chunk-IGVV37VI.js";
|
|
16
16
|
import "./chunks/chunk-PUG7LXDF.js";
|
|
17
|
-
import "./chunks/chunk-
|
|
17
|
+
import "./chunks/chunk-OCMBULGN.js";
|
|
18
18
|
import "./chunks/chunk-QYBZZI5H.js";
|
|
19
19
|
import "./chunks/chunk-CDLPYR5O.js";
|
|
20
20
|
import "./chunks/chunk-ES2N6V56.js";
|
package/dist/types/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const version = "8.0.
|
|
1
|
+
export declare const version = "8.0.2";
|
package/dist/version.js
CHANGED
package/dist/viewport.js
CHANGED
|
@@ -5,11 +5,11 @@ import {
|
|
|
5
5
|
screenToLayout,
|
|
6
6
|
viewportOf,
|
|
7
7
|
zoomAbout
|
|
8
|
-
} from "./chunks/chunk-
|
|
9
|
-
import "./chunks/chunk-
|
|
8
|
+
} from "./chunks/chunk-AO2VAMA4.js";
|
|
9
|
+
import "./chunks/chunk-XRPU24OP.js";
|
|
10
10
|
import "./chunks/chunk-IGVV37VI.js";
|
|
11
11
|
import "./chunks/chunk-PUG7LXDF.js";
|
|
12
|
-
import "./chunks/chunk-
|
|
12
|
+
import "./chunks/chunk-OCMBULGN.js";
|
|
13
13
|
import "./chunks/chunk-QYBZZI5H.js";
|
|
14
14
|
import "./chunks/chunk-CDLPYR5O.js";
|
|
15
15
|
import "./chunks/chunk-ES2N6V56.js";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jbrowse/bandage-core",
|
|
3
|
-
"version": "8.0.
|
|
3
|
+
"version": "8.0.2",
|
|
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": {
|