@jbrowse/bandage-core 10.2.2 → 10.2.3

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.
Files changed (137) hide show
  1. package/README.md +6 -7
  2. package/dist/bubbles/bubbleHalos.js +7 -3
  3. package/dist/bubbles/bubblesFromGraph.js +4 -2
  4. package/dist/bubbles/classifyBubble.js +10 -5
  5. package/dist/bubbles/superbubbles.js +10 -6
  6. package/dist/chunks/{chunk-N6FECAXP.js → chunk-24WITXQY.js} +17 -8
  7. package/dist/chunks/{chunk-XTCNEKO5.js → chunk-2QLLQJ72.js} +15 -13
  8. package/dist/chunks/{chunk-ASSNZXCF.js → chunk-3AOGOCCQ.js} +44 -103
  9. package/dist/chunks/{chunk-TWRLC3KK.js → chunk-3XSM4OZU.js} +1 -1
  10. package/dist/chunks/{chunk-WEDZ76AK.js → chunk-4DRQTBBE.js} +1 -1
  11. package/dist/chunks/{chunk-2LQ5BWT7.js → chunk-4ETPXDO6.js} +1 -1
  12. package/dist/chunks/{chunk-FP4H7SFT.js → chunk-4HWM3FNK.js} +2 -2
  13. package/dist/chunks/{chunk-C7MZJSPT.js → chunk-54POIBVC.js} +2 -8
  14. package/dist/chunks/{chunk-PKFMP65V.js → chunk-5GMFEPWR.js} +1 -1
  15. package/dist/chunks/{chunk-CDLPYR5O.js → chunk-5I3K4R2G.js} +7 -6
  16. package/dist/chunks/{chunk-TICYLD5F.js → chunk-7CC7N3XC.js} +35 -78
  17. package/dist/chunks/{chunk-2CVHXFK7.js → chunk-7SRWJLSC.js} +19 -22
  18. package/dist/chunks/{chunk-SBMJNRTV.js → chunk-A4PFFC4Q.js} +37 -27
  19. package/dist/chunks/{chunk-IW6CYVX2.js → chunk-AR4BUBMU.js} +6 -1
  20. package/dist/chunks/{chunk-IUDJKOLB.js → chunk-B6IW3IRE.js} +15 -33
  21. package/dist/chunks/{chunk-JUIJI7RC.js → chunk-BAETMD3J.js} +9 -4
  22. package/dist/chunks/{chunk-L5WF4ZPS.js → chunk-BS4UZ44I.js} +1 -1
  23. package/dist/chunks/{chunk-HNQPEMYE.js → chunk-CM6LO6OC.js} +0 -1
  24. package/dist/chunks/{chunk-CLOP7UVD.js → chunk-CQHUZHET.js} +11 -8
  25. package/dist/chunks/{chunk-R456ME6J.js → chunk-CU6P5RUG.js} +17 -6
  26. package/dist/chunks/chunk-D5D36ZF6.js +107 -0
  27. package/dist/chunks/{chunk-AFP3NWSL.js → chunk-DY3JCAMX.js} +1 -1
  28. package/dist/chunks/{chunk-NRV7R36Q.js → chunk-EFQLEGWM.js} +3 -3
  29. package/dist/chunks/{chunk-BXEPA4KS.js → chunk-G6UIYQZR.js} +5 -2
  30. package/dist/chunks/{chunk-NNODIW4U.js → chunk-H2H4Y3TV.js} +1 -0
  31. package/dist/chunks/{chunk-MVFDSFV2.js → chunk-HNCXR2VS.js} +1 -1
  32. package/dist/chunks/{chunk-EYK7DJZV.js → chunk-J5FWKGOY.js} +1 -1
  33. package/dist/chunks/{chunk-PBENCR5L.js → chunk-JBCZIBFC.js} +0 -2
  34. package/dist/chunks/{chunk-EHUBJDDB.js → chunk-JFY5PWQC.js} +5 -3
  35. package/dist/chunks/{chunk-5BGP5Z64.js → chunk-JLSJMCDJ.js} +1 -1
  36. package/dist/chunks/{chunk-DT2GGH4D.js → chunk-JMABOQWL.js} +2 -6
  37. package/dist/chunks/{chunk-3S3YVOJ7.js → chunk-JSUCGZ6K.js} +1 -1
  38. package/dist/chunks/{chunk-MLSWIMZO.js → chunk-KBEP7VYK.js} +2 -2
  39. package/dist/chunks/{chunk-TAMCZHLW.js → chunk-N73TI3VG.js} +2 -2
  40. package/dist/chunks/chunk-O4EGE27I.js +10 -0
  41. package/dist/chunks/{chunk-3ZZSX5HN.js → chunk-PTABFYQ7.js} +10 -6
  42. package/dist/chunks/{chunk-WBCOREDZ.js → chunk-QLWI2PZ3.js} +16 -7
  43. package/dist/chunks/chunk-RBCE2OQH.js +32 -0
  44. package/dist/chunks/{chunk-BUBZ32IC.js → chunk-RPRHR56C.js} +4 -8
  45. package/dist/chunks/{chunk-47DYCZOK.js → chunk-RUCH6ZFL.js} +4 -0
  46. package/dist/chunks/{chunk-GNTTI6LA.js → chunk-T2PCSAFY.js} +1 -1
  47. package/dist/chunks/{chunk-XKWD2RY3.js → chunk-URZ3CH2R.js} +3 -10
  48. package/dist/chunks/{chunk-ALDGONEI.js → chunk-VQC7KELB.js} +1 -1
  49. package/dist/chunks/{chunk-FLFBYSJO.js → chunk-VQWHMWLF.js} +5 -1
  50. package/dist/chunks/{chunk-4R6QNG23.js → chunk-WL6ZKUVC.js} +3 -3
  51. package/dist/chunks/{chunk-CRTD2SBP.js → chunk-WZNPX7Q6.js} +6 -2
  52. package/dist/chunks/{chunk-FNGIQF43.js → chunk-XA5A27CS.js} +6 -14
  53. package/dist/chunks/{chunk-DK5P2YOL.js → chunk-XI3ZUTWF.js} +2 -2
  54. package/dist/chunks/{chunk-ZIUKZUPJ.js → chunk-XL472HHD.js} +1 -1
  55. package/dist/chunks/{chunk-BPRXQ2SS.js → chunk-XMW266WS.js} +1 -1
  56. package/dist/chunks/{chunk-DRG4236Y.js → chunk-YN6FDIBT.js} +2 -2
  57. package/dist/chunks/{chunk-WFB5TXRA.js → chunk-ZY2AFL4Y.js} +13 -31
  58. package/dist/cli/decodeText.js +6 -0
  59. package/dist/cli/figure.js +59 -60
  60. package/dist/cli/fold.js +13 -13
  61. package/dist/deletionEdges.js +6 -4
  62. package/dist/el.js +3 -1
  63. package/dist/figure.js +33 -31
  64. package/dist/figureData.js +32 -27
  65. package/dist/figureScene.js +43 -0
  66. package/dist/figureSettings.js +8 -8
  67. package/dist/foldVariants.js +2 -2
  68. package/dist/gbzCut.js +1 -1
  69. package/dist/genes/exonOutline.js +2 -2
  70. package/dist/genes/geneFiles.js +1 -1
  71. package/dist/genes/genePins.js +3 -3
  72. package/dist/gfa/gfaConverter.js +2 -2
  73. package/dist/gfa-core/gfaParser.js +1 -1
  74. package/dist/gfa-core/index.js +1 -1
  75. package/dist/graphLabels.js +4 -4
  76. package/dist/index.js +72 -73
  77. package/dist/labelLayout.js +8 -8
  78. package/dist/layout/forceCache.js +8 -8
  79. package/dist/layout/mergeRuns.js +2 -2
  80. package/dist/layout/orderedLayout.js +1 -3
  81. package/dist/layout/tubeMapLayout.js +6 -6
  82. package/dist/layout/walkRowDraw.js +11 -11
  83. package/dist/layout/walkRowLayout.js +3 -1
  84. package/dist/layout/walkStrip.js +14 -12
  85. package/dist/layoutEngines.js +1 -2
  86. package/dist/layoutModes.js +9 -9
  87. package/dist/nodeWidths.js +1 -3
  88. package/dist/pathColors.js +5 -5
  89. package/dist/pipeline.js +7 -7
  90. package/dist/referenceRampCss.js +9 -9
  91. package/dist/referenceStrip.js +9 -9
  92. package/dist/renderer/Canvas2DRenderer.js +2 -2
  93. package/dist/renderer/GeometryBuilder.js +8 -8
  94. package/dist/renderer/canvas.js +1 -1
  95. package/dist/renderer/svgCanvas.js +1 -1
  96. package/dist/tubeMap/axis.js +5 -5
  97. package/dist/tubeMap/bundle.js +7 -7
  98. package/dist/tubeMap/coarsen.js +6 -6
  99. package/dist/tubeMap/deviations.js +5 -5
  100. package/dist/tubeMap/draw.js +1 -1
  101. package/dist/tubeMap/genes.js +6 -6
  102. package/dist/tubeMap/nodeColors.js +9 -9
  103. package/dist/types/bubbles/bubblesFromGraph.d.ts +1 -0
  104. package/dist/types/bubbles/classifyBubble.d.ts +0 -1
  105. package/dist/types/cli/decodeText.d.ts +1 -0
  106. package/dist/types/cli/figure.d.ts +4 -15
  107. package/dist/types/deletionEdges.d.ts +3 -5
  108. package/dist/types/el.d.ts +1 -0
  109. package/dist/types/figureData.d.ts +7 -26
  110. package/dist/types/figureScene.d.ts +31 -0
  111. package/dist/types/genes/geneFiles.d.ts +2 -1
  112. package/dist/types/index.d.ts +1 -1
  113. package/dist/types/layout/deletionRoutes.d.ts +1 -1
  114. package/dist/types/layout/orderedLayout.d.ts +0 -6
  115. package/dist/types/layout/walkRowLayout.d.ts +1 -0
  116. package/dist/types/nodeWidths.d.ts +0 -1
  117. package/dist/types/renderer/Canvas2DRenderer.d.ts +1 -0
  118. package/dist/types/renderer/canvas.d.ts +2 -2
  119. package/dist/types/tubeMap/draw.d.ts +1 -0
  120. package/dist/types/util/geometry.d.ts +3 -3
  121. package/dist/types/version.d.ts +1 -1
  122. package/dist/util/SpatialIndex.js +4 -4
  123. package/dist/util/edgeCurves.js +3 -3
  124. package/dist/util/geometry.js +3 -3
  125. package/dist/util/hitDetection.js +5 -5
  126. package/dist/version.js +1 -1
  127. package/dist/viewport.js +8 -8
  128. package/dist/walkEncoding.js +9 -9
  129. package/dist/walkHighlight.js +10 -10
  130. package/dist/walkKey.js +5 -5
  131. package/package.json +3 -6
  132. package/dist/chunks/bandage-layout-3AR6BCUD.js +0 -4694
  133. package/dist/chunks/chunk-4BYTEJGW.js +0 -44
  134. package/dist/chunks/chunk-7XHHVYG7.js +0 -13
  135. package/dist/loadBandage.js +0 -6
  136. package/dist/types/bandage/bandage-layout.d.ts +0 -14
  137. package/dist/types/loadBandage.d.ts +0 -3
@@ -1,12 +1,6 @@
1
1
  import {
2
- bypassedPoints
3
- } from "./chunk-N6FECAXP.js";
4
- import {
5
- computeEdgeCurves,
6
- edgeJoinOf,
7
- routedEdgeCurves,
8
- strandSides
9
- } from "./chunk-2CVHXFK7.js";
2
+ edgeCurvesOf
3
+ } from "./chunk-24WITXQY.js";
10
4
 
11
5
  // src/util/edgeCurves.ts
12
6
  var cache = /* @__PURE__ */ new WeakMap();
@@ -18,29 +12,17 @@ function baseEdgeCurves(nodePositions, graph, axis, deletions, version, routes,
18
12
  }
19
13
  const curves = /* @__PURE__ */ new Map();
20
14
  for (let ei = 0; ei < graph.edges.length; ei++) {
21
- const edge = graph.edges[ei];
22
- const from = nodePositions[edge.from];
23
- const to = nodePositions[edge.to];
24
- if (from?.length && to?.length) {
25
- const bypassed = deletions?.get(ei);
26
- const route = bypassed && routes?.[ei];
27
- curves.set(
28
- ei,
29
- route ? routedEdgeCurves(
30
- from,
31
- to,
32
- route,
33
- stranded ? strandSides(edge) : void 0
34
- ) : computeEdgeCurves(
35
- from,
36
- to,
37
- edgeJoinOf(edge, stranded),
38
- 0,
39
- 0,
40
- axis,
41
- bypassed ? bypassedPoints(nodePositions, bypassed) : []
42
- )
43
- );
15
+ const bypassed = deletions?.get(ei);
16
+ const edgeCurves = edgeCurvesOf(
17
+ nodePositions,
18
+ graph.edges[ei],
19
+ axis,
20
+ bypassed,
21
+ bypassed && routes?.[ei],
22
+ stranded
23
+ );
24
+ if (edgeCurves) {
25
+ curves.set(ei, edgeCurves);
44
26
  }
45
27
  }
46
28
  cache.set(nodePositions, {
@@ -0,0 +1,6 @@
1
+ import {
2
+ decodeText
3
+ } from "../chunks/chunk-O4EGE27I.js";
4
+ export {
5
+ decodeText
6
+ };
@@ -1,83 +1,83 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
- genesFromBed,
4
- genesFromGff3Lines,
3
+ decodeText
4
+ } from "../chunks/chunk-O4EGE27I.js";
5
+ import {
5
6
  genesFromText
6
- } from "../chunks/chunk-BXEPA4KS.js";
7
+ } from "../chunks/chunk-G6UIYQZR.js";
7
8
  import {
8
9
  figureSvg
9
- } from "../chunks/chunk-ASSNZXCF.js";
10
- import "../chunks/chunk-47DYCZOK.js";
11
- import "../chunks/chunk-JUIJI7RC.js";
12
- import "../chunks/chunk-WBCOREDZ.js";
13
- import "../chunks/chunk-4BYTEJGW.js";
10
+ } from "../chunks/chunk-3AOGOCCQ.js";
11
+ import "../chunks/chunk-RUCH6ZFL.js";
12
+ import "../chunks/chunk-BAETMD3J.js";
14
13
  import {
15
14
  genesOnRow,
16
15
  placeRowGenes
17
- } from "../chunks/chunk-NRV7R36Q.js";
18
- import "../chunks/chunk-3S3YVOJ7.js";
19
- import "../chunks/chunk-BUBZ32IC.js";
20
- import "../chunks/chunk-ZIUKZUPJ.js";
21
- import "../chunks/chunk-DRG4236Y.js";
22
- import "../chunks/chunk-FP4H7SFT.js";
23
- import "../chunks/chunk-MLSWIMZO.js";
24
- import "../chunks/chunk-NNODIW4U.js";
16
+ } from "../chunks/chunk-EFQLEGWM.js";
17
+ import "../chunks/chunk-QLWI2PZ3.js";
18
+ import "../chunks/chunk-RBCE2OQH.js";
19
+ import "../chunks/chunk-JSUCGZ6K.js";
20
+ import "../chunks/chunk-RPRHR56C.js";
21
+ import "../chunks/chunk-XL472HHD.js";
22
+ import "../chunks/chunk-YN6FDIBT.js";
23
+ import "../chunks/chunk-4HWM3FNK.js";
24
+ import "../chunks/chunk-KBEP7VYK.js";
25
+ import "../chunks/chunk-H2H4Y3TV.js";
26
+ import {
27
+ laidOutGraph,
28
+ walkLayers
29
+ } from "../chunks/chunk-7CC7N3XC.js";
25
30
  import {
26
31
  LAYOUT_ENGINE_VALUES,
27
- isLayoutEngineKind,
28
- layoutEngine
29
- } from "../chunks/chunk-DT2GGH4D.js";
32
+ isLayoutEngineKind
33
+ } from "../chunks/chunk-JMABOQWL.js";
30
34
  import {
31
- LAYOUT_MODES,
32
- layoutModeByValue
33
- } from "../chunks/chunk-4R6QNG23.js";
35
+ LAYOUT_MODES
36
+ } from "../chunks/chunk-WL6ZKUVC.js";
34
37
  import "../chunks/chunk-LOEA5IHZ.js";
35
- import "../chunks/chunk-DK5P2YOL.js";
38
+ import "../chunks/chunk-XI3ZUTWF.js";
36
39
  import "../chunks/chunk-CWFNEKST.js";
37
40
  import "../chunks/chunk-L3O7AWLI.js";
38
41
  import "../chunks/chunk-TZFWUT2C.js";
39
- import "../chunks/chunk-HNQPEMYE.js";
40
42
  import "../chunks/chunk-C44YRP5F.js";
43
+ import "../chunks/chunk-CM6LO6OC.js";
41
44
  import "../chunks/chunk-RVS2QCOX.js";
42
- import "../chunks/chunk-7XHHVYG7.js";
43
45
  import {
44
46
  HPRC_GBZ,
45
47
  cutGbzRegion,
46
48
  haplotypeIndexBeside,
47
49
  openGbz,
48
50
  parseRegion
49
- } from "../chunks/chunk-FLFBYSJO.js";
51
+ } from "../chunks/chunk-VQWHMWLF.js";
50
52
  import "../chunks/chunk-Q7LYHGGQ.js";
51
53
  import "../chunks/chunk-WSIFAZU7.js";
54
+ import "../chunks/chunk-J5FWKGOY.js";
55
+ import "../chunks/chunk-BS4UZ44I.js";
56
+ import "../chunks/chunk-4ETPXDO6.js";
57
+ import "../chunks/chunk-D5D36ZF6.js";
52
58
  import "../chunks/chunk-LOCJN3BZ.js";
53
- import "../chunks/chunk-EYK7DJZV.js";
54
- import "../chunks/chunk-L5WF4ZPS.js";
55
- import "../chunks/chunk-R456ME6J.js";
56
- import "../chunks/chunk-ALDGONEI.js";
57
- import "../chunks/chunk-2LQ5BWT7.js";
58
- import "../chunks/chunk-SBMJNRTV.js";
59
+ import "../chunks/chunk-CU6P5RUG.js";
60
+ import "../chunks/chunk-VQC7KELB.js";
61
+ import "../chunks/chunk-A4PFFC4Q.js";
59
62
  import "../chunks/chunk-G2FD7S3C.js";
60
- import "../chunks/chunk-WFB5TXRA.js";
61
- import "../chunks/chunk-C7MZJSPT.js";
63
+ import "../chunks/chunk-ZY2AFL4Y.js";
64
+ import "../chunks/chunk-54POIBVC.js";
62
65
  import {
63
66
  filterSamples,
64
67
  walkRows
65
68
  } from "../chunks/chunk-RIPAA7OK.js";
66
- import "../chunks/chunk-TWRLC3KK.js";
67
- import "../chunks/chunk-PBENCR5L.js";
68
- import {
69
- engineSettingsOf,
70
- forceLayout,
71
- loadGraph
72
- } from "../chunks/chunk-XTCNEKO5.js";
69
+ import "../chunks/chunk-3XSM4OZU.js";
70
+ import "../chunks/chunk-JBCZIBFC.js";
71
+ import "../chunks/chunk-HNCXR2VS.js";
72
+ import "../chunks/chunk-2QLLQJ72.js";
73
+ import "../chunks/chunk-PUG7LXDF.js";
73
74
  import "../chunks/chunk-IGVV37VI.js";
74
75
  import "../chunks/chunk-OPPVSPEF.js";
75
76
  import "../chunks/chunk-VPE4AYP7.js";
76
- import "../chunks/chunk-PUG7LXDF.js";
77
- import "../chunks/chunk-IW6CYVX2.js";
77
+ import "../chunks/chunk-AR4BUBMU.js";
78
78
  import "../chunks/chunk-QYBZZI5H.js";
79
+ import "../chunks/chunk-5I3K4R2G.js";
79
80
  import "../chunks/chunk-PSMKPSO4.js";
80
- import "../chunks/chunk-CDLPYR5O.js";
81
81
  import "../chunks/chunk-M6LK4GII.js";
82
82
  import "../chunks/chunk-RAEABQNW.js";
83
83
  import "../chunks/chunk-ES2N6V56.js";
@@ -88,14 +88,14 @@ import {
88
88
  } from "../chunks/chunk-RAKOB6IV.js";
89
89
  import "../chunks/chunk-G45YY72K.js";
90
90
  import "../chunks/chunk-BPLIXMH7.js";
91
- import "../chunks/chunk-3ZZSX5HN.js";
91
+ import "../chunks/chunk-PTABFYQ7.js";
92
92
  import "../chunks/chunk-AB35TJST.js";
93
- import "../chunks/chunk-TAMCZHLW.js";
93
+ import "../chunks/chunk-N73TI3VG.js";
94
94
  import "../chunks/chunk-UVBGRJQX.js";
95
95
  import "../chunks/chunk-6JEWNXCQ.js";
96
96
  import "../chunks/chunk-JKJWSY4V.js";
97
- import "../chunks/chunk-N6FECAXP.js";
98
- import "../chunks/chunk-2CVHXFK7.js";
97
+ import "../chunks/chunk-24WITXQY.js";
98
+ import "../chunks/chunk-7SRWJLSC.js";
99
99
  import "../chunks/chunk-CPMHA4W5.js";
100
100
  import "../chunks/chunk-FYQWPEEY.js";
101
101
  import "../chunks/chunk-XV4P5KEQ.js";
@@ -104,7 +104,6 @@ import "../chunks/chunk-XV4P5KEQ.js";
104
104
  import { access, open, readFile, writeFile } from "node:fs/promises";
105
105
  import path from "node:path";
106
106
  import { parseArgs } from "node:util";
107
- import { gunzipSync } from "node:zlib";
108
107
  import { TabixIndexedFile } from "@gmod/tabix";
109
108
  var isUrl = (s) => /^https?:\/\//.test(s);
110
109
  function byteSource(location) {
@@ -136,8 +135,7 @@ async function fetchOk(location, init) {
136
135
  }
137
136
  async function text(location) {
138
137
  const bytes = isUrl(location) ? new Uint8Array(await (await fetchOk(location)).arrayBuffer()) : await readFile(location);
139
- const gzipped = bytes[0] === 31 && bytes[1] === 139;
140
- return new TextDecoder().decode(gzipped ? gunzipSync(bytes) : bytes);
138
+ return decodeText(bytes);
141
139
  }
142
140
  async function readGenes(genes, graph, resolve) {
143
141
  const backbone = graphBackbone(graph);
@@ -148,14 +146,13 @@ async function readGenes(genes, graph, resolve) {
148
146
  backbone.contigs.map((c) => c.refName),
149
147
  genes.refNames
150
148
  );
151
- const format = genes.format ?? (/\.bed(\.gz)?$/i.test(genes.file) ? "bed" : "gff3");
152
149
  const { names, features } = genes.index ? await indexedGenes(
153
150
  resolve(genes.file),
154
151
  resolve(genes.index),
155
- format,
152
+ genes.format ?? (/\.bed(\.gz)?$/i.test(genes.file) ? "bed" : "gff3"),
156
153
  backbone.contigs,
157
154
  bind
158
- ) : namedBy(genesFromText(await text(resolve(genes.file))));
155
+ ) : namedBy(genesFromText(await text(resolve(genes.file)), genes.format));
159
156
  if (!names.some((name) => bind(name) !== void 0)) {
160
157
  const shown = names.slice(0, 4).join(", ");
161
158
  console.warn(
@@ -184,7 +181,7 @@ async function indexedGenes(file, index, format, contigs, bind) {
184
181
  }
185
182
  return {
186
183
  names,
187
- features: format === "gff3" ? genesFromGff3Lines(lines) : genesFromBed(lines.join("\n"))
184
+ features: genesFromText(lines.join("\n"), format)
188
185
  };
189
186
  }
190
187
  async function exists(location) {
@@ -242,10 +239,12 @@ async function renderSpec(spec, base) {
242
239
  } else {
243
240
  throw new Error("a spec names its graph as `gfa` or `gbz`");
244
241
  }
245
- const graph = loadGraph(source.text, source.name, {
246
- referencePath: spec.referencePath
247
- });
248
- const layout = layoutModeByValue(spec.layout ?? "force").run(graph, source.region) ?? (await forceLayout(graph, engineSettingsOf(spec), layoutEngine)).result;
242
+ const { graph, layout } = await laidOutGraph(
243
+ source.text,
244
+ source.name,
245
+ source.region,
246
+ spec
247
+ );
249
248
  const bars = spec.walkStrip ? walkRows(graph, source.region) : void 0;
250
249
  const stripRows = bars && {
251
250
  ...bars,
@@ -267,7 +266,7 @@ async function renderSpec(spec, base) {
267
266
  unread: 0
268
267
  }
269
268
  },
270
- walks: spec.walks?.map((w) => typeof w === "string" ? { walk: w } : w),
269
+ walks: walkLayers(spec.walks),
271
270
  region: source.region,
272
271
  genes,
273
272
  spec
package/dist/cli/fold.js CHANGED
@@ -2,42 +2,42 @@
2
2
  import {
3
3
  writeRgfa
4
4
  } from "../chunks/chunk-B4YH42OP.js";
5
+ import {
6
+ decodeText
7
+ } from "../chunks/chunk-O4EGE27I.js";
5
8
  import {
6
9
  foldVariants
7
- } from "../chunks/chunk-AFP3NWSL.js";
10
+ } from "../chunks/chunk-DY3JCAMX.js";
8
11
  import {
9
12
  loadGraph
10
- } from "../chunks/chunk-XTCNEKO5.js";
13
+ } from "../chunks/chunk-2QLLQJ72.js";
14
+ import "../chunks/chunk-PUG7LXDF.js";
11
15
  import "../chunks/chunk-IGVV37VI.js";
12
16
  import "../chunks/chunk-OPPVSPEF.js";
13
17
  import "../chunks/chunk-VPE4AYP7.js";
14
- import "../chunks/chunk-PUG7LXDF.js";
15
- import "../chunks/chunk-IW6CYVX2.js";
18
+ import "../chunks/chunk-AR4BUBMU.js";
16
19
  import "../chunks/chunk-QYBZZI5H.js";
20
+ import "../chunks/chunk-5I3K4R2G.js";
17
21
  import "../chunks/chunk-PSMKPSO4.js";
18
- import "../chunks/chunk-CDLPYR5O.js";
19
22
  import "../chunks/chunk-M6LK4GII.js";
20
23
  import "../chunks/chunk-RAEABQNW.js";
21
24
  import "../chunks/chunk-ES2N6V56.js";
22
25
  import "../chunks/chunk-G45YY72K.js";
23
26
  import "../chunks/chunk-BPLIXMH7.js";
24
- import "../chunks/chunk-TAMCZHLW.js";
27
+ import "../chunks/chunk-N73TI3VG.js";
25
28
  import "../chunks/chunk-UVBGRJQX.js";
26
29
  import "../chunks/chunk-6JEWNXCQ.js";
27
- import "../chunks/chunk-N6FECAXP.js";
28
- import "../chunks/chunk-2CVHXFK7.js";
30
+ import "../chunks/chunk-24WITXQY.js";
31
+ import "../chunks/chunk-7SRWJLSC.js";
29
32
  import "../chunks/chunk-CPMHA4W5.js";
30
33
  import "../chunks/chunk-FYQWPEEY.js";
31
34
 
32
35
  // src/cli/fold.ts
33
36
  import { readFile, writeFile } from "node:fs/promises";
34
37
  import { parseArgs } from "node:util";
35
- import { gunzipSync } from "node:zlib";
36
- var USAGE = "usage: bandage-fold <graph.gfa[.gz] | -> --below <bp> [-o out.gfa]";
38
+ var USAGE = "usage: bandage-fold <graph.gfa[.gz] | -> --below <bp> [--reference <path>] [-o out.gfa]";
37
39
  async function readInput(location) {
38
- const bytes = await readFile(location === "-" ? "/dev/stdin" : location);
39
- const gzipped = bytes[0] === 31 && bytes[1] === 139;
40
- return new TextDecoder().decode(gzipped ? gunzipSync(bytes) : bytes);
40
+ return decodeText(await readFile(location === "-" ? "/dev/stdin" : location));
41
41
  }
42
42
  async function main() {
43
43
  const { values, positionals } = parseArgs({
@@ -3,9 +3,10 @@ import {
3
3
  closableDeletions,
4
4
  deletionArcCurves,
5
5
  deletionDrawing,
6
- deletionEdges
7
- } from "./chunks/chunk-N6FECAXP.js";
8
- import "./chunks/chunk-2CVHXFK7.js";
6
+ deletionEdges,
7
+ edgeCurvesOf
8
+ } from "./chunks/chunk-24WITXQY.js";
9
+ import "./chunks/chunk-7SRWJLSC.js";
9
10
  import "./chunks/chunk-CPMHA4W5.js";
10
11
  import "./chunks/chunk-FYQWPEEY.js";
11
12
  export {
@@ -13,5 +14,6 @@ export {
13
14
  closableDeletions,
14
15
  deletionArcCurves,
15
16
  deletionDrawing,
16
- deletionEdges
17
+ deletionEdges,
18
+ edgeCurvesOf
17
19
  };
package/dist/el.js CHANGED
@@ -1,8 +1,10 @@
1
1
  import {
2
2
  el,
3
+ escapeAttr,
3
4
  serializeEl
4
- } from "./chunks/chunk-NNODIW4U.js";
5
+ } from "./chunks/chunk-H2H4Y3TV.js";
5
6
  export {
6
7
  el,
8
+ escapeAttr,
7
9
  serializeEl
8
10
  };
package/dist/figure.js CHANGED
@@ -1,54 +1,56 @@
1
1
  import {
2
2
  figureSvg
3
- } from "./chunks/chunk-ASSNZXCF.js";
4
- import "./chunks/chunk-47DYCZOK.js";
5
- import "./chunks/chunk-JUIJI7RC.js";
6
- import "./chunks/chunk-WBCOREDZ.js";
7
- import "./chunks/chunk-4BYTEJGW.js";
8
- import "./chunks/chunk-NRV7R36Q.js";
9
- import "./chunks/chunk-3S3YVOJ7.js";
10
- import "./chunks/chunk-BUBZ32IC.js";
11
- import "./chunks/chunk-ZIUKZUPJ.js";
12
- import "./chunks/chunk-DRG4236Y.js";
13
- import "./chunks/chunk-FP4H7SFT.js";
14
- import "./chunks/chunk-MLSWIMZO.js";
15
- import "./chunks/chunk-NNODIW4U.js";
3
+ } from "./chunks/chunk-3AOGOCCQ.js";
4
+ import "./chunks/chunk-RUCH6ZFL.js";
5
+ import "./chunks/chunk-BAETMD3J.js";
6
+ import "./chunks/chunk-EFQLEGWM.js";
7
+ import "./chunks/chunk-QLWI2PZ3.js";
8
+ import "./chunks/chunk-RBCE2OQH.js";
9
+ import "./chunks/chunk-JSUCGZ6K.js";
10
+ import "./chunks/chunk-RPRHR56C.js";
11
+ import "./chunks/chunk-XL472HHD.js";
12
+ import "./chunks/chunk-YN6FDIBT.js";
13
+ import "./chunks/chunk-4HWM3FNK.js";
14
+ import "./chunks/chunk-KBEP7VYK.js";
15
+ import "./chunks/chunk-H2H4Y3TV.js";
16
+ import "./chunks/chunk-J5FWKGOY.js";
17
+ import "./chunks/chunk-BS4UZ44I.js";
18
+ import "./chunks/chunk-4ETPXDO6.js";
19
+ import "./chunks/chunk-D5D36ZF6.js";
16
20
  import "./chunks/chunk-LOCJN3BZ.js";
17
- import "./chunks/chunk-EYK7DJZV.js";
18
- import "./chunks/chunk-L5WF4ZPS.js";
19
- import "./chunks/chunk-R456ME6J.js";
20
- import "./chunks/chunk-ALDGONEI.js";
21
- import "./chunks/chunk-2LQ5BWT7.js";
22
- import "./chunks/chunk-SBMJNRTV.js";
21
+ import "./chunks/chunk-CU6P5RUG.js";
22
+ import "./chunks/chunk-VQC7KELB.js";
23
+ import "./chunks/chunk-A4PFFC4Q.js";
23
24
  import "./chunks/chunk-G2FD7S3C.js";
24
- import "./chunks/chunk-WFB5TXRA.js";
25
- import "./chunks/chunk-C7MZJSPT.js";
25
+ import "./chunks/chunk-ZY2AFL4Y.js";
26
+ import "./chunks/chunk-54POIBVC.js";
26
27
  import "./chunks/chunk-RIPAA7OK.js";
27
- import "./chunks/chunk-TWRLC3KK.js";
28
- import "./chunks/chunk-PBENCR5L.js";
29
- import "./chunks/chunk-XTCNEKO5.js";
28
+ import "./chunks/chunk-3XSM4OZU.js";
29
+ import "./chunks/chunk-JBCZIBFC.js";
30
+ import "./chunks/chunk-HNCXR2VS.js";
31
+ import "./chunks/chunk-2QLLQJ72.js";
32
+ import "./chunks/chunk-PUG7LXDF.js";
30
33
  import "./chunks/chunk-IGVV37VI.js";
31
34
  import "./chunks/chunk-OPPVSPEF.js";
32
35
  import "./chunks/chunk-VPE4AYP7.js";
33
- import "./chunks/chunk-PUG7LXDF.js";
34
- import "./chunks/chunk-IW6CYVX2.js";
36
+ import "./chunks/chunk-AR4BUBMU.js";
35
37
  import "./chunks/chunk-QYBZZI5H.js";
38
+ import "./chunks/chunk-5I3K4R2G.js";
36
39
  import "./chunks/chunk-PSMKPSO4.js";
37
- import "./chunks/chunk-CDLPYR5O.js";
38
40
  import "./chunks/chunk-M6LK4GII.js";
39
41
  import "./chunks/chunk-RAEABQNW.js";
40
42
  import "./chunks/chunk-ES2N6V56.js";
41
43
  import "./chunks/chunk-RAKOB6IV.js";
42
44
  import "./chunks/chunk-G45YY72K.js";
43
45
  import "./chunks/chunk-BPLIXMH7.js";
44
- import "./chunks/chunk-3ZZSX5HN.js";
46
+ import "./chunks/chunk-PTABFYQ7.js";
45
47
  import "./chunks/chunk-AB35TJST.js";
46
- import "./chunks/chunk-TAMCZHLW.js";
48
+ import "./chunks/chunk-N73TI3VG.js";
47
49
  import "./chunks/chunk-UVBGRJQX.js";
48
50
  import "./chunks/chunk-6JEWNXCQ.js";
49
51
  import "./chunks/chunk-JKJWSY4V.js";
50
- import "./chunks/chunk-N6FECAXP.js";
51
- import "./chunks/chunk-2CVHXFK7.js";
52
+ import "./chunks/chunk-24WITXQY.js";
53
+ import "./chunks/chunk-7SRWJLSC.js";
52
54
  import "./chunks/chunk-CPMHA4W5.js";
53
55
  import "./chunks/chunk-FYQWPEEY.js";
54
56
  import "./chunks/chunk-XV4P5KEQ.js";
@@ -1,61 +1,66 @@
1
1
  import {
2
2
  figureData,
3
- gfaFigureData
4
- } from "./chunks/chunk-TICYLD5F.js";
5
- import "./chunks/chunk-DT2GGH4D.js";
6
- import "./chunks/chunk-4R6QNG23.js";
3
+ gfaFigureData,
4
+ laidOutGraph,
5
+ walkLayers
6
+ } from "./chunks/chunk-7CC7N3XC.js";
7
+ import "./chunks/chunk-JMABOQWL.js";
8
+ import "./chunks/chunk-WL6ZKUVC.js";
7
9
  import "./chunks/chunk-LOEA5IHZ.js";
8
- import "./chunks/chunk-DK5P2YOL.js";
10
+ import "./chunks/chunk-XI3ZUTWF.js";
9
11
  import "./chunks/chunk-CWFNEKST.js";
10
12
  import "./chunks/chunk-L3O7AWLI.js";
11
13
  import "./chunks/chunk-TZFWUT2C.js";
12
- import "./chunks/chunk-HNQPEMYE.js";
13
14
  import "./chunks/chunk-C44YRP5F.js";
15
+ import "./chunks/chunk-CM6LO6OC.js";
14
16
  import "./chunks/chunk-RVS2QCOX.js";
15
- import "./chunks/chunk-7XHHVYG7.js";
16
- import "./chunks/chunk-FLFBYSJO.js";
17
+ import "./chunks/chunk-VQWHMWLF.js";
17
18
  import "./chunks/chunk-Q7LYHGGQ.js";
18
19
  import "./chunks/chunk-WSIFAZU7.js";
20
+ import "./chunks/chunk-J5FWKGOY.js";
21
+ import "./chunks/chunk-BS4UZ44I.js";
22
+ import "./chunks/chunk-4ETPXDO6.js";
23
+ import "./chunks/chunk-D5D36ZF6.js";
19
24
  import "./chunks/chunk-LOCJN3BZ.js";
20
- import "./chunks/chunk-EYK7DJZV.js";
21
- import "./chunks/chunk-L5WF4ZPS.js";
22
- import "./chunks/chunk-R456ME6J.js";
23
- import "./chunks/chunk-ALDGONEI.js";
24
- import "./chunks/chunk-2LQ5BWT7.js";
25
- import "./chunks/chunk-SBMJNRTV.js";
25
+ import "./chunks/chunk-CU6P5RUG.js";
26
+ import "./chunks/chunk-VQC7KELB.js";
27
+ import "./chunks/chunk-A4PFFC4Q.js";
26
28
  import "./chunks/chunk-G2FD7S3C.js";
27
- import "./chunks/chunk-WFB5TXRA.js";
28
- import "./chunks/chunk-C7MZJSPT.js";
29
+ import "./chunks/chunk-ZY2AFL4Y.js";
30
+ import "./chunks/chunk-54POIBVC.js";
29
31
  import "./chunks/chunk-RIPAA7OK.js";
30
- import "./chunks/chunk-TWRLC3KK.js";
31
- import "./chunks/chunk-PBENCR5L.js";
32
- import "./chunks/chunk-XTCNEKO5.js";
32
+ import "./chunks/chunk-3XSM4OZU.js";
33
+ import "./chunks/chunk-JBCZIBFC.js";
34
+ import "./chunks/chunk-HNCXR2VS.js";
35
+ import "./chunks/chunk-2QLLQJ72.js";
36
+ import "./chunks/chunk-PUG7LXDF.js";
33
37
  import "./chunks/chunk-IGVV37VI.js";
34
38
  import "./chunks/chunk-OPPVSPEF.js";
35
39
  import "./chunks/chunk-VPE4AYP7.js";
36
- import "./chunks/chunk-PUG7LXDF.js";
37
- import "./chunks/chunk-IW6CYVX2.js";
40
+ import "./chunks/chunk-AR4BUBMU.js";
38
41
  import "./chunks/chunk-QYBZZI5H.js";
42
+ import "./chunks/chunk-5I3K4R2G.js";
39
43
  import "./chunks/chunk-PSMKPSO4.js";
40
- import "./chunks/chunk-CDLPYR5O.js";
41
44
  import "./chunks/chunk-M6LK4GII.js";
42
45
  import "./chunks/chunk-RAEABQNW.js";
43
46
  import "./chunks/chunk-ES2N6V56.js";
44
47
  import "./chunks/chunk-RAKOB6IV.js";
45
48
  import "./chunks/chunk-G45YY72K.js";
46
49
  import "./chunks/chunk-BPLIXMH7.js";
47
- import "./chunks/chunk-3ZZSX5HN.js";
50
+ import "./chunks/chunk-PTABFYQ7.js";
48
51
  import "./chunks/chunk-AB35TJST.js";
49
- import "./chunks/chunk-TAMCZHLW.js";
52
+ import "./chunks/chunk-N73TI3VG.js";
50
53
  import "./chunks/chunk-UVBGRJQX.js";
51
54
  import "./chunks/chunk-6JEWNXCQ.js";
52
55
  import "./chunks/chunk-JKJWSY4V.js";
53
- import "./chunks/chunk-N6FECAXP.js";
54
- import "./chunks/chunk-2CVHXFK7.js";
56
+ import "./chunks/chunk-24WITXQY.js";
57
+ import "./chunks/chunk-7SRWJLSC.js";
55
58
  import "./chunks/chunk-CPMHA4W5.js";
56
59
  import "./chunks/chunk-FYQWPEEY.js";
57
60
  import "./chunks/chunk-XV4P5KEQ.js";
58
61
  export {
59
62
  figureData,
60
- gfaFigureData
63
+ gfaFigureData,
64
+ laidOutGraph,
65
+ walkLayers
61
66
  };
@@ -0,0 +1,43 @@
1
+ import {
2
+ figureScene
3
+ } from "./chunks/chunk-D5D36ZF6.js";
4
+ import "./chunks/chunk-LOCJN3BZ.js";
5
+ import "./chunks/chunk-CU6P5RUG.js";
6
+ import "./chunks/chunk-VQC7KELB.js";
7
+ import "./chunks/chunk-A4PFFC4Q.js";
8
+ import "./chunks/chunk-G2FD7S3C.js";
9
+ import "./chunks/chunk-ZY2AFL4Y.js";
10
+ import "./chunks/chunk-54POIBVC.js";
11
+ import "./chunks/chunk-RIPAA7OK.js";
12
+ import "./chunks/chunk-3XSM4OZU.js";
13
+ import "./chunks/chunk-JBCZIBFC.js";
14
+ import "./chunks/chunk-HNCXR2VS.js";
15
+ import "./chunks/chunk-2QLLQJ72.js";
16
+ import "./chunks/chunk-PUG7LXDF.js";
17
+ import "./chunks/chunk-IGVV37VI.js";
18
+ import "./chunks/chunk-OPPVSPEF.js";
19
+ import "./chunks/chunk-VPE4AYP7.js";
20
+ import "./chunks/chunk-AR4BUBMU.js";
21
+ import "./chunks/chunk-QYBZZI5H.js";
22
+ import "./chunks/chunk-5I3K4R2G.js";
23
+ import "./chunks/chunk-PSMKPSO4.js";
24
+ import "./chunks/chunk-M6LK4GII.js";
25
+ import "./chunks/chunk-RAEABQNW.js";
26
+ import "./chunks/chunk-ES2N6V56.js";
27
+ import "./chunks/chunk-RAKOB6IV.js";
28
+ import "./chunks/chunk-G45YY72K.js";
29
+ import "./chunks/chunk-BPLIXMH7.js";
30
+ import "./chunks/chunk-PTABFYQ7.js";
31
+ import "./chunks/chunk-AB35TJST.js";
32
+ import "./chunks/chunk-N73TI3VG.js";
33
+ import "./chunks/chunk-UVBGRJQX.js";
34
+ import "./chunks/chunk-6JEWNXCQ.js";
35
+ import "./chunks/chunk-JKJWSY4V.js";
36
+ import "./chunks/chunk-24WITXQY.js";
37
+ import "./chunks/chunk-7SRWJLSC.js";
38
+ import "./chunks/chunk-CPMHA4W5.js";
39
+ import "./chunks/chunk-FYQWPEEY.js";
40
+ import "./chunks/chunk-XV4P5KEQ.js";
41
+ export {
42
+ figureScene
43
+ };
@@ -1,26 +1,26 @@
1
1
  import {
2
2
  FIGURE_DEFAULTS,
3
3
  figureSpecSettings
4
- } from "./chunks/chunk-MVFDSFV2.js";
5
- import "./chunks/chunk-XTCNEKO5.js";
4
+ } from "./chunks/chunk-HNCXR2VS.js";
5
+ import "./chunks/chunk-2QLLQJ72.js";
6
+ import "./chunks/chunk-PUG7LXDF.js";
6
7
  import "./chunks/chunk-IGVV37VI.js";
7
8
  import "./chunks/chunk-OPPVSPEF.js";
8
9
  import "./chunks/chunk-VPE4AYP7.js";
9
- import "./chunks/chunk-PUG7LXDF.js";
10
- import "./chunks/chunk-IW6CYVX2.js";
10
+ import "./chunks/chunk-AR4BUBMU.js";
11
11
  import "./chunks/chunk-QYBZZI5H.js";
12
+ import "./chunks/chunk-5I3K4R2G.js";
12
13
  import "./chunks/chunk-PSMKPSO4.js";
13
- import "./chunks/chunk-CDLPYR5O.js";
14
14
  import "./chunks/chunk-M6LK4GII.js";
15
15
  import "./chunks/chunk-RAEABQNW.js";
16
16
  import "./chunks/chunk-ES2N6V56.js";
17
17
  import "./chunks/chunk-G45YY72K.js";
18
18
  import "./chunks/chunk-BPLIXMH7.js";
19
- import "./chunks/chunk-TAMCZHLW.js";
19
+ import "./chunks/chunk-N73TI3VG.js";
20
20
  import "./chunks/chunk-UVBGRJQX.js";
21
21
  import "./chunks/chunk-6JEWNXCQ.js";
22
- import "./chunks/chunk-N6FECAXP.js";
23
- import "./chunks/chunk-2CVHXFK7.js";
22
+ import "./chunks/chunk-24WITXQY.js";
23
+ import "./chunks/chunk-7SRWJLSC.js";
24
24
  import "./chunks/chunk-CPMHA4W5.js";
25
25
  import "./chunks/chunk-FYQWPEEY.js";
26
26
  export {
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  foldVariants
3
- } from "./chunks/chunk-AFP3NWSL.js";
4
- import "./chunks/chunk-2CVHXFK7.js";
3
+ } from "./chunks/chunk-DY3JCAMX.js";
4
+ import "./chunks/chunk-7SRWJLSC.js";
5
5
  import "./chunks/chunk-CPMHA4W5.js";
6
6
  import "./chunks/chunk-FYQWPEEY.js";
7
7
  export {
package/dist/gbzCut.js CHANGED
@@ -4,7 +4,7 @@ import {
4
4
  haplotypeIndexBeside,
5
5
  openGbz,
6
6
  parseRegion
7
- } from "./chunks/chunk-FLFBYSJO.js";
7
+ } from "./chunks/chunk-VQWHMWLF.js";
8
8
  import "./chunks/chunk-Q7LYHGGQ.js";
9
9
  import "./chunks/chunk-WSIFAZU7.js";
10
10
  import "./chunks/chunk-RAKOB6IV.js";