@jbrowse/bandage-core 10.2.6 → 10.3.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.
Files changed (191) hide show
  1. package/dist/alleleProjection/projectAlleles.js +8 -4
  2. package/dist/anchoredNodes.js +2 -1
  3. package/dist/bubbleSpreads.js +2 -2
  4. package/dist/bubbles/bubbleHalos.js +10 -11
  5. package/dist/bubbles/bubblesFromGraph.js +8 -3
  6. package/dist/bubbles/classifyBubble.js +9 -6
  7. package/dist/bubbles/popBubble.js +7 -5
  8. package/dist/bubbles/superbubbles.js +18 -14
  9. package/dist/chunks/{chunk-RAKOB6IV.js → chunk-234NFZS4.js} +8 -6
  10. package/dist/chunks/{chunk-A4PFFC4Q.js → chunk-2XEQR54X.js} +60 -102
  11. package/dist/chunks/{chunk-6JEWNXCQ.js → chunk-34BOZKIE.js} +0 -2
  12. package/dist/chunks/{chunk-RVS2QCOX.js → chunk-3GLG3ZLE.js} +2 -11
  13. package/dist/chunks/{chunk-PUG7LXDF.js → chunk-3PZSBNLI.js} +4 -1
  14. package/dist/chunks/{chunk-KBEP7VYK.js → chunk-3VCKBSML.js} +4 -4
  15. package/dist/chunks/{chunk-BPLIXMH7.js → chunk-4XWZNPQ2.js} +14 -0
  16. package/dist/chunks/{chunk-LKW2TP4N.js → chunk-5YILQTHE.js} +18 -16
  17. package/dist/chunks/{chunk-B6IW3IRE.js → chunk-65ILXEIN.js} +14 -15
  18. package/dist/chunks/{chunk-4DRQTBBE.js → chunk-6EOB6ANX.js} +1 -1
  19. package/dist/chunks/{chunk-XBHMXTOR.js → chunk-7JGLJK44.js} +41 -36
  20. package/dist/chunks/{chunk-T2PCSAFY.js → chunk-7XR26JST.js} +2 -2
  21. package/dist/chunks/{chunk-URZ3CH2R.js → chunk-A4JDEUAI.js} +1 -1
  22. package/dist/chunks/{chunk-JLSJMCDJ.js → chunk-A54O52XZ.js} +3 -3
  23. package/dist/chunks/chunk-A55OZVYX.js +327 -0
  24. package/dist/chunks/{chunk-CWFNEKST.js → chunk-A7H753BA.js} +3 -3
  25. package/dist/chunks/{chunk-FB5RKZQY.js → chunk-AMX4OQAW.js} +18 -27
  26. package/dist/chunks/{chunk-RPRHR56C.js → chunk-BS6HPYCZ.js} +3 -3
  27. package/dist/chunks/chunk-BSOZW3FC.js +30 -0
  28. package/dist/chunks/{chunk-CU6P5RUG.js → chunk-BVYR7IFN.js} +22 -16
  29. package/dist/chunks/{chunk-XXT2JCAC.js → chunk-BX4AUMZE.js} +11 -13
  30. package/dist/chunks/{chunk-N73TI3VG.js → chunk-BZFOFC4D.js} +6 -9
  31. package/dist/chunks/{chunk-4ETPXDO6.js → chunk-CGFPFBT2.js} +1 -1
  32. package/dist/chunks/{chunk-24WITXQY.js → chunk-CGMSKIEO.js} +9 -25
  33. package/dist/chunks/{chunk-IGVV37VI.js → chunk-CKUVEHSS.js} +3 -3
  34. package/dist/chunks/{chunk-JBCZIBFC.js → chunk-CRCD3ODN.js} +0 -1
  35. package/dist/chunks/{chunk-PSMKPSO4.js → chunk-DBLV7PGG.js} +33 -27
  36. package/dist/chunks/{chunk-JA2HJIYS.js → chunk-E4ZM4OOJ.js} +3 -5
  37. package/dist/chunks/{chunk-ABUIN5AK.js → chunk-EHXBZ5JZ.js} +29 -24
  38. package/dist/chunks/{chunk-QLWI2PZ3.js → chunk-EJRJAAN7.js} +24 -21
  39. package/dist/chunks/{chunk-Q7LYHGGQ.js → chunk-GIHTHYXY.js} +5 -4
  40. package/dist/chunks/{chunk-L3O7AWLI.js → chunk-GJLZ2MKE.js} +2 -2
  41. package/dist/chunks/{chunk-LOEA5IHZ.js → chunk-GJU6BJJA.js} +8 -8
  42. package/dist/chunks/{chunk-XL472HHD.js → chunk-GQZVR5DW.js} +12 -7
  43. package/dist/chunks/{chunk-UVBGRJQX.js → chunk-HKYXWZQS.js} +1 -1
  44. package/dist/chunks/chunk-HMXCN6PG.js +17 -0
  45. package/dist/chunks/{chunk-WSIFAZU7.js → chunk-HNWJ4B7S.js} +12 -13
  46. package/dist/chunks/chunk-HOAIOEI7.js +18 -0
  47. package/dist/chunks/{chunk-XMW266WS.js → chunk-HSVFCA2J.js} +18 -20
  48. package/dist/chunks/{chunk-3XSM4OZU.js → chunk-IYALCKNB.js} +5 -5
  49. package/dist/chunks/{chunk-2QLLQJ72.js → chunk-KWHWNOTY.js} +22 -17
  50. package/dist/chunks/{chunk-M6LK4GII.js → chunk-LGJBB5BP.js} +8 -9
  51. package/dist/chunks/{chunk-VQWHMWLF.js → chunk-M5NPD55W.js} +18 -14
  52. package/dist/chunks/{chunk-TKIJ5535.js → chunk-MD5VPXXT.js} +6 -6
  53. package/dist/chunks/{chunk-HK5Y2YWV.js → chunk-MYDHU2UV.js} +6 -11
  54. package/dist/chunks/{chunk-TZFWUT2C.js → chunk-MYLAJDKB.js} +2 -2
  55. package/dist/chunks/{chunk-4HWM3FNK.js → chunk-OMUPUB4J.js} +39 -56
  56. package/dist/chunks/{chunk-PTABFYQ7.js → chunk-PFRQBCGC.js} +49 -60
  57. package/dist/chunks/{chunk-T6V4KI2L.js → chunk-PPDE4IVT.js} +1 -1
  58. package/dist/chunks/{chunk-KC7T5RWG.js → chunk-PSCSZSVK.js} +9 -16
  59. package/dist/chunks/{chunk-YYMW5XOF.js → chunk-PTQPTDZH.js} +1 -1
  60. package/dist/chunks/{chunk-L2HDM2R3.js → chunk-QQCOVMMT.js} +7 -7
  61. package/dist/chunks/{chunk-CQHUZHET.js → chunk-RFG42VIO.js} +46 -30
  62. package/dist/chunks/{chunk-FYQWPEEY.js → chunk-RJWPJCIB.js} +5 -11
  63. package/dist/chunks/{chunk-AR4BUBMU.js → chunk-RWKP7UO4.js} +34 -35
  64. package/dist/chunks/{chunk-WBSWROE6.js → chunk-SHKGYGM4.js} +14 -18
  65. package/dist/chunks/{chunk-2CMYNW3E.js → chunk-SI3BB4DO.js} +1 -1
  66. package/dist/chunks/{chunk-DY3JCAMX.js → chunk-SOMZGDVS.js} +7 -16
  67. package/dist/chunks/{chunk-EFQLEGWM.js → chunk-SZHQK6GL.js} +7 -8
  68. package/dist/chunks/{chunk-5GMFEPWR.js → chunk-TCOLHD7N.js} +16 -28
  69. package/dist/chunks/{chunk-XV4P5KEQ.js → chunk-TGUFT6KK.js} +6 -3
  70. package/dist/chunks/{chunk-CM6LO6OC.js → chunk-UAFATXYA.js} +10 -14
  71. package/dist/chunks/{chunk-7SRWJLSC.js → chunk-UBQSRCWR.js} +11 -8
  72. package/dist/chunks/{chunk-RUCH6ZFL.js → chunk-V4YML3GR.js} +2 -1
  73. package/dist/chunks/{chunk-VQC7KELB.js → chunk-V7J6U4XC.js} +11 -3
  74. package/dist/chunks/{chunk-ES2N6V56.js → chunk-VX656OAZ.js} +6 -11
  75. package/dist/chunks/chunk-WA5WNP6V.js +37 -0
  76. package/dist/chunks/{chunk-WZNPX7Q6.js → chunk-WJ4TIAVA.js} +1 -1
  77. package/dist/chunks/{chunk-BS4UZ44I.js → chunk-WONB6LMC.js} +1 -1
  78. package/dist/chunks/{chunk-HFVGGB3U.js → chunk-XUT4HXVE.js} +29 -13
  79. package/dist/chunks/{chunk-G45YY72K.js → chunk-Z6XZWPXK.js} +17 -25
  80. package/dist/chunks/{chunk-XI3ZUTWF.js → chunk-ZNJ4JAPT.js} +14 -20
  81. package/dist/chunks/{chunk-HNCXR2VS.js → chunk-ZPBEUOBM.js} +3 -1
  82. package/dist/chunks/{chunk-RAEABQNW.js → chunk-ZPZ7GNBT.js} +1 -0
  83. package/dist/cli/figure.js +59 -56
  84. package/dist/cli/fold.js +19 -17
  85. package/dist/deletionEdges.js +5 -7
  86. package/dist/facetGrid.js +2 -1
  87. package/dist/figure.js +45 -42
  88. package/dist/figureData.js +48 -44
  89. package/dist/figureScene.js +34 -29
  90. package/dist/figureSettings.js +19 -17
  91. package/dist/foldVariants.js +5 -3
  92. package/dist/gbzCut.js +12 -7
  93. package/dist/gbzJoin.js +2 -1
  94. package/dist/gbzWindow.js +11 -6
  95. package/dist/genes/genePins.js +6 -4
  96. package/dist/gfa/gfaConverter.js +7 -5
  97. package/dist/gfa/gfaTables.js +2 -1
  98. package/dist/gfa/graphTables.js +3 -3
  99. package/dist/graphLabels.js +8 -5
  100. package/dist/index.js +88 -85
  101. package/dist/labelLayout.js +12 -9
  102. package/dist/layout/anchoredLayout.js +8 -5
  103. package/dist/layout/drawnScale.js +1 -5
  104. package/dist/layout/forceCache.js +19 -17
  105. package/dist/layout/mergeRuns.js +5 -3
  106. package/dist/layout/orderedLayout.js +5 -2
  107. package/dist/layout/orientToReference.js +3 -2
  108. package/dist/layout/placeOffReference.js +7 -4
  109. package/dist/layout/referenceSeeds.js +6 -4
  110. package/dist/layout/sampleRowLayout.js +8 -5
  111. package/dist/layout/trimToWindow.js +6 -4
  112. package/dist/layout/tubeMapLayout.js +17 -19
  113. package/dist/layout/walkRowDraw.js +18 -17
  114. package/dist/layout/walkRowLayout.js +10 -6
  115. package/dist/layout/walkRows.js +9 -5
  116. package/dist/layout/walkStrip.js +21 -18
  117. package/dist/layoutModes.js +23 -20
  118. package/dist/nodeWidths.js +1 -3
  119. package/dist/pansn.js +5 -1
  120. package/dist/pathAnchoring.js +6 -4
  121. package/dist/pathColors.js +12 -9
  122. package/dist/pathVisits.js +3 -1
  123. package/dist/pipeline.js +18 -16
  124. package/dist/reference.js +5 -3
  125. package/dist/referenceRampCss.js +9 -17
  126. package/dist/referenceSpan.js +4 -2
  127. package/dist/referenceStrip.js +18 -14
  128. package/dist/renderer/Canvas2DRenderer.js +1 -1
  129. package/dist/renderer/GeometryBuilder.js +19 -14
  130. package/dist/renderer/svgCanvas.js +1 -1
  131. package/dist/tubeMap/axis.js +11 -6
  132. package/dist/tubeMap/bundle.js +16 -12
  133. package/dist/tubeMap/coarsen.js +20 -345
  134. package/dist/tubeMap/deviations.js +53 -23
  135. package/dist/tubeMap/draw.js +11 -8
  136. package/dist/tubeMap/frame.js +3 -2
  137. package/dist/tubeMap/genes.js +10 -7
  138. package/dist/tubeMap/mismatches.js +1 -1
  139. package/dist/tubeMap/nodeColors.js +18 -14
  140. package/dist/tubeMap/reads.js +1 -1
  141. package/dist/tubeMap/warp.js +2 -1
  142. package/dist/types/alleleProjection/projectAlleles.d.ts +1 -4
  143. package/dist/types/bubbles/bubbleHalos.d.ts +0 -2
  144. package/dist/types/bubbles/bubblesFromGraph.d.ts +6 -4
  145. package/dist/types/bubbles/classifyBubble.d.ts +2 -1
  146. package/dist/types/deletionEdges.d.ts +0 -8
  147. package/dist/types/figureScene.d.ts +17 -7
  148. package/dist/types/figureSettings.d.ts +2 -0
  149. package/dist/types/gbzCut.d.ts +4 -0
  150. package/dist/types/gbzWindow.d.ts +1 -0
  151. package/dist/types/gfa/graphTables.d.ts +3 -1
  152. package/dist/types/gfa-core/gfaParser.d.ts +1 -1
  153. package/dist/types/graphLabels.d.ts +2 -1
  154. package/dist/types/layout/drawnScale.d.ts +0 -2
  155. package/dist/types/layout/referenceSeeds.d.ts +2 -1
  156. package/dist/types/layout/tubeMapLayout.d.ts +0 -7
  157. package/dist/types/layout/walkRowDraw.d.ts +0 -1
  158. package/dist/types/layout/walkRowLayout.d.ts +1 -0
  159. package/dist/types/layout/walkRows.d.ts +1 -0
  160. package/dist/types/nodeWidths.d.ts +0 -1
  161. package/dist/types/pansn.d.ts +9 -0
  162. package/dist/types/pathVisits.d.ts +6 -0
  163. package/dist/types/referenceRampCss.d.ts +4 -0
  164. package/dist/types/renderer/Canvas2DRenderer.d.ts +1 -0
  165. package/dist/types/renderer/GeometryBuilder.d.ts +3 -2
  166. package/dist/types/tubeMap/axis.d.ts +3 -1
  167. package/dist/types/tubeMap/coarsen.d.ts +3 -1
  168. package/dist/types/tubeMap/deviations.d.ts +2 -1
  169. package/dist/types/tubeMap/mismatches.d.ts +0 -1
  170. package/dist/types/tubeMap/warp.d.ts +2 -1
  171. package/dist/types/util/SpatialIndex.d.ts +1 -1
  172. package/dist/types/util/geometry.d.ts +4 -0
  173. package/dist/types/util/groups.d.ts +3 -0
  174. package/dist/types/util/hitDetection.d.ts +2 -2
  175. package/dist/types/util/partitionPoint.d.ts +1 -0
  176. package/dist/types/util/weakMemo.d.ts +1 -0
  177. package/dist/types/version.d.ts +1 -1
  178. package/dist/util/SpatialIndex.js +8 -5
  179. package/dist/util/edgeCurves.js +7 -4
  180. package/dist/util/geometry.js +3 -1
  181. package/dist/util/groups.js +10 -0
  182. package/dist/util/hitDetection.js +9 -6
  183. package/dist/util/partitionPoint.js +6 -0
  184. package/dist/util/weakMemo.js +6 -0
  185. package/dist/version.js +1 -1
  186. package/dist/viewport.js +19 -17
  187. package/dist/walkEncoding.js +18 -14
  188. package/dist/walkHighlight.js +19 -15
  189. package/dist/walkKey.js +9 -6
  190. package/package.json +2 -2
  191. package/dist/chunks/chunk-ZY2AFL4Y.js +0 -43
@@ -4,37 +4,41 @@ import {
4
4
  import {
5
5
  facetLifts,
6
6
  walkLift
7
- } from "./chunk-CU6P5RUG.js";
7
+ } from "./chunk-BVYR7IFN.js";
8
+ import {
9
+ walkKey
10
+ } from "./chunk-CGFPFBT2.js";
8
11
  import {
9
12
  buildGeometry,
10
13
  computeReferenceRamp
11
- } from "./chunk-A4PFFC4Q.js";
14
+ } from "./chunk-2XEQR54X.js";
12
15
  import {
13
16
  walkRowsExtent
14
- } from "./chunk-L2HDM2R3.js";
17
+ } from "./chunk-QQCOVMMT.js";
15
18
  import {
16
19
  pathLegend,
17
20
  walkLabelsOf
18
- } from "./chunk-3XSM4OZU.js";
21
+ } from "./chunk-IYALCKNB.js";
19
22
  import {
20
23
  FIGURE_DEFAULTS
21
- } from "./chunk-HNCXR2VS.js";
24
+ } from "./chunk-ZPBEUOBM.js";
22
25
  import {
23
26
  drawingBounds
24
- } from "./chunk-2QLLQJ72.js";
27
+ } from "./chunk-KWHWNOTY.js";
25
28
  import {
26
29
  referenceLabel
27
- } from "./chunk-RAKOB6IV.js";
30
+ } from "./chunk-234NFZS4.js";
28
31
  import {
29
32
  resolveColorScheme
30
33
  } from "./chunk-JKJWSY4V.js";
31
34
  import {
32
35
  deletionDrawing,
33
36
  deletionEdges
34
- } from "./chunk-24WITXQY.js";
37
+ } from "./chunk-CGMSKIEO.js";
35
38
  import {
39
+ facetCells,
36
40
  facetSettingOf
37
- } from "./chunk-XV4P5KEQ.js";
41
+ } from "./chunk-TGUFT6KK.js";
38
42
 
39
43
  // src/figureScene.ts
40
44
  function figureScene(graph, layout, o) {
@@ -61,12 +65,24 @@ function figureScene(graph, layout, o) {
61
65
  const lift = layers.length > 0 && !layout.tubeMap ? walkLift(graph, layers, walkRamp) : void 0;
62
66
  const facet = facetSettingOf(o.facet);
63
67
  const panels = facet.field && lift && lift.walks.length > 1 ? facetLifts(graph, lift, layers, walkRamp) : void 0;
68
+ const facets = facet.field && panels ? {
69
+ panels,
70
+ place: facetCells(
71
+ panels.map((p) => p.walks[0].name),
72
+ facet.field,
73
+ facet.domain
74
+ )
75
+ } : void 0;
64
76
  const labels = walkLabelsOf(
65
77
  graph.paths?.length ? pathLegend(graph.paths) : []
66
78
  );
67
79
  const referenceName = o.referenceName ?? referenceLabel(graph, region);
68
80
  const contigThickness = o.contigThickness ?? FIGURE_DEFAULTS.contigThickness;
69
81
  const nodeWidth = o.nodeWidth ?? FIGURE_DEFAULTS.nodeWidth;
82
+ const reference = lift?.referenceDomain && {
83
+ ...lift.referenceDomain,
84
+ name: referenceName
85
+ };
70
86
  return {
71
87
  bounds,
72
88
  nodeById,
@@ -76,12 +92,12 @@ function figureScene(graph, layout, o) {
76
92
  layers,
77
93
  lift,
78
94
  facet,
79
- panels,
95
+ facets,
80
96
  labelOf: (name) => labels.get(name) ?? name,
81
97
  referenceName,
82
- reference: lift?.referenceDomain && {
83
- ...lift.referenceDomain,
84
- name: referenceName
98
+ keyText: (walk) => {
99
+ const key = walkKey(walk, reference);
100
+ return { note: key.delta + key.outside + key.reversed, scale: key.scale };
85
101
  },
86
102
  contigThickness,
87
103
  nodeWidth,
@@ -1,3 +1,7 @@
1
+ import {
2
+ Column
3
+ } from "./chunk-ZPZ7GNBT.js";
4
+
1
5
  // src/gfa/gfaTables.ts
2
6
  var GT = 62;
3
7
  var LT = 60;
@@ -7,25 +11,12 @@ var NINE = 57;
7
11
  var TABLE_TAG = /^(?:LN:i|SN:Z|SO:i|SR:i):/;
8
12
  var UNTABLED_RECORD = /^[PEOUFG]\t/;
9
13
  var trimCR = (line) => line.endsWith("\r") ? line.slice(0, -1) : line;
10
- var Steps = class {
11
- constructor() {
12
- this.nodes = new Int32Array(1 << 16);
13
- this.reversed = new Uint8Array(1 << 16);
14
- this.length = 0;
15
- }
16
- push(node, reversed) {
17
- if (this.length === this.nodes.length) {
18
- const nodes = new Int32Array(this.length * 2);
19
- nodes.set(this.nodes);
20
- this.nodes = nodes;
21
- const rev = new Uint8Array(this.length * 2);
22
- rev.set(this.reversed);
23
- this.reversed = rev;
24
- }
25
- this.nodes[this.length] = node;
26
- this.reversed[this.length++] = reversed;
27
- }
28
- };
14
+ function stepColumns() {
15
+ return {
16
+ nodes: new Column(new Int32Array(1 << 16)),
17
+ reversed: new Column(new Uint8Array(1 << 16))
18
+ };
19
+ }
29
20
  var SegmentIndex = class {
30
21
  constructor() {
31
22
  this.names = [];
@@ -90,7 +81,8 @@ function readWalkBody(line, from, segments, steps) {
90
81
  const finish = (end) => {
91
82
  if (start >= 0 && end > start) {
92
83
  const node = decimal && end - start < 16 && (end - start === 1 || line.charCodeAt(start) !== ZERO) ? segments.ofNumber(value) : void 0;
93
- steps.push(node ?? segments.of(line.slice(start, end)), reversed);
84
+ steps.nodes.push(node ?? segments.of(line.slice(start, end)));
85
+ steps.reversed.push(reversed);
94
86
  }
95
87
  };
96
88
  let i = from;
@@ -166,7 +158,7 @@ function gfaTables(text) {
166
158
  const walkStarts = [];
167
159
  const walkEnds = [];
168
160
  const offsets = [0];
169
- const steps = new Steps();
161
+ const steps = stepColumns();
170
162
  for (const raw of lines) {
171
163
  if (raw.startsWith("L ")) {
172
164
  const [, source, strand1, target, strand2] = trimCR(raw).split(" ");
@@ -183,10 +175,10 @@ function gfaTables(text) {
183
175
  walkStarts.push(w.start === "*" ? 0 : +w.start);
184
176
  walkEnds.push(w.end === "*" ? -1 : +w.end);
185
177
  readWalkBody(line, w.body, segments, steps);
186
- if (steps.length === offsets.at(-1)) {
178
+ if (steps.nodes.length === offsets.at(-1)) {
187
179
  return void 0;
188
180
  }
189
- offsets.push(steps.length);
181
+ offsets.push(steps.nodes.length);
190
182
  }
191
183
  }
192
184
  }
@@ -209,8 +201,8 @@ function gfaTables(text) {
209
201
  starts: Float64Array.from(walkStarts),
210
202
  ends: Float64Array.from(walkEnds),
211
203
  offsets: Int32Array.from(offsets),
212
- steps: steps.nodes.slice(0, steps.length),
213
- reversed: steps.reversed.slice(0, steps.length)
204
+ steps: steps.nodes.data.slice(0, steps.nodes.length),
205
+ reversed: steps.reversed.data.slice(0, steps.reversed.length)
214
206
  }
215
207
  };
216
208
  }
@@ -2,21 +2,27 @@ import {
2
2
  canonicalStrand,
3
3
  stepName,
4
4
  tubeMapReads
5
- } from "./chunk-CWFNEKST.js";
5
+ } from "./chunk-A7H753BA.js";
6
+ import {
7
+ referenceWalkName
8
+ } from "./chunk-5YILQTHE.js";
6
9
  import {
7
10
  pathCssColor,
8
11
  pathGreyCssColor
9
- } from "./chunk-3XSM4OZU.js";
12
+ } from "./chunk-IYALCKNB.js";
10
13
  import {
11
14
  pathOrigin
12
- } from "./chunk-M6LK4GII.js";
15
+ } from "./chunk-LGJBB5BP.js";
13
16
  import {
14
17
  ownStrand,
15
18
  strandSides
16
- } from "./chunk-7SRWJLSC.js";
19
+ } from "./chunk-UBQSRCWR.js";
20
+ import {
21
+ groupBy
22
+ } from "./chunk-BSOZW3FC.js";
17
23
  import {
18
24
  isBackbone
19
- } from "./chunk-FYQWPEEY.js";
25
+ } from "./chunk-RJWPJCIB.js";
20
26
 
21
27
  // src/layout/tubeMapLayout.ts
22
28
  import { forward, isReverse, layoutTubeMap } from "@jbrowse/tubemap-core";
@@ -53,9 +59,8 @@ function tubeMapTracks(graph) {
53
59
  }
54
60
  ] : [];
55
61
  });
56
- const reference = tracks.findIndex(
57
- (t) => pathOrigin(t.name).name === graph.referencePath
58
- );
62
+ const name = referenceWalkName(graph);
63
+ const reference = tracks.findIndex((t) => pathOrigin(t.name).name === name);
59
64
  if (reference > 0) {
60
65
  tracks.unshift(...tracks.splice(reference, 1));
61
66
  }
@@ -279,15 +284,7 @@ function tubeMapLayout(graph) {
279
284
  }
280
285
  function tubeMapColumns(graph, layout) {
281
286
  const nodeById = new Map(graph.nodes.map((n) => [n.id, n]));
282
- const byOrder = /* @__PURE__ */ new Map();
283
- for (const node of drawnNodes(layout)) {
284
- const list = byOrder.get(node.order);
285
- if (list) {
286
- list.push(node);
287
- } else {
288
- byOrder.set(node.order, [node]);
289
- }
290
- }
287
+ const byOrder = groupBy(drawnNodes(layout), (node) => node.order);
291
288
  const columns = [];
292
289
  let end = -Infinity;
293
290
  for (const order of [...byOrder.keys()].sort((a, b) => a - b)) {
@@ -355,9 +352,6 @@ export {
355
352
  pathSteps,
356
353
  tubeMapTracks,
357
354
  hasTubeMapPaths,
358
- tubeWidth,
359
- mergedRuns,
360
- boxGraph,
361
355
  tubeMapLayout,
362
356
  hasTubeMapBackbone,
363
357
  tubeMapReferenceLayout
@@ -1,10 +1,12 @@
1
1
  import {
2
2
  ENGINE_DEFAULTS
3
- } from "./chunk-2QLLQJ72.js";
3
+ } from "./chunk-KWHWNOTY.js";
4
4
 
5
5
  // src/figureSettings.ts
6
6
  var FIGURE_DEFAULTS = {
7
7
  ...ENGINE_DEFAULTS,
8
+ width: 1200,
9
+ height: 800,
8
10
  colorScheme: "auto",
9
11
  nodeWidth: "depth",
10
12
  contigThickness: 6,
@@ -223,5 +223,6 @@ var PathVisitsBuilder = class {
223
223
 
224
224
  export {
225
225
  PathVisits,
226
+ Column,
226
227
  PathVisitsBuilder
227
228
  };
@@ -7,98 +7,101 @@ import {
7
7
  } from "../chunks/chunk-G6UIYQZR.js";
8
8
  import {
9
9
  figureSvg
10
- } from "../chunks/chunk-XBHMXTOR.js";
11
- import "../chunks/chunk-RUCH6ZFL.js";
12
- import "../chunks/chunk-WBSWROE6.js";
10
+ } from "../chunks/chunk-7JGLJK44.js";
11
+ import "../chunks/chunk-V4YML3GR.js";
12
+ import "../chunks/chunk-SHKGYGM4.js";
13
13
  import {
14
14
  genesOnRow,
15
15
  placeRowGenes
16
- } from "../chunks/chunk-EFQLEGWM.js";
17
- import "../chunks/chunk-QLWI2PZ3.js";
16
+ } from "../chunks/chunk-SZHQK6GL.js";
17
+ import "../chunks/chunk-EJRJAAN7.js";
18
18
  import "../chunks/chunk-RBCE2OQH.js";
19
19
  import "../chunks/chunk-JSUCGZ6K.js";
20
- import "../chunks/chunk-RPRHR56C.js";
21
- import "../chunks/chunk-XL472HHD.js";
22
- import "../chunks/chunk-KC7T5RWG.js";
23
- import "../chunks/chunk-4HWM3FNK.js";
24
- import "../chunks/chunk-KBEP7VYK.js";
20
+ import "../chunks/chunk-BS6HPYCZ.js";
21
+ import "../chunks/chunk-PSCSZSVK.js";
22
+ import "../chunks/chunk-OMUPUB4J.js";
23
+ import "../chunks/chunk-3VCKBSML.js";
25
24
  import "../chunks/chunk-H2H4Y3TV.js";
26
25
  import {
27
26
  laidOutGraph,
28
27
  walkLayers
29
- } from "../chunks/chunk-FB5RKZQY.js";
28
+ } from "../chunks/chunk-AMX4OQAW.js";
30
29
  import {
31
30
  LAYOUT_ENGINE_VALUES,
32
31
  isLayoutEngineKind
33
32
  } from "../chunks/chunk-JMABOQWL.js";
34
33
  import {
35
34
  LAYOUT_MODES
36
- } from "../chunks/chunk-TKIJ5535.js";
37
- import "../chunks/chunk-LOEA5IHZ.js";
38
- import "../chunks/chunk-XI3ZUTWF.js";
39
- import "../chunks/chunk-CWFNEKST.js";
40
- import "../chunks/chunk-L3O7AWLI.js";
41
- import "../chunks/chunk-TZFWUT2C.js";
35
+ } from "../chunks/chunk-MD5VPXXT.js";
36
+ import "../chunks/chunk-GJU6BJJA.js";
37
+ import "../chunks/chunk-ZNJ4JAPT.js";
38
+ import "../chunks/chunk-A7H753BA.js";
39
+ import "../chunks/chunk-GJLZ2MKE.js";
40
+ import "../chunks/chunk-MYLAJDKB.js";
42
41
  import "../chunks/chunk-C44YRP5F.js";
43
- import "../chunks/chunk-CM6LO6OC.js";
44
- import "../chunks/chunk-RVS2QCOX.js";
42
+ import "../chunks/chunk-UAFATXYA.js";
43
+ import "../chunks/chunk-3GLG3ZLE.js";
45
44
  import {
46
- HPRC_GBZ,
47
45
  cutGbzRegion,
46
+ gbzLocations,
48
47
  haplotypeIndexBeside,
49
48
  openGbz,
50
49
  parseRegion
51
- } from "../chunks/chunk-VQWHMWLF.js";
52
- import "../chunks/chunk-Q7LYHGGQ.js";
53
- import "../chunks/chunk-WSIFAZU7.js";
54
- import "../chunks/chunk-YYMW5XOF.js";
55
- import "../chunks/chunk-BS4UZ44I.js";
56
- import "../chunks/chunk-4ETPXDO6.js";
57
- import "../chunks/chunk-HFVGGB3U.js";
50
+ } from "../chunks/chunk-M5NPD55W.js";
51
+ import "../chunks/chunk-GIHTHYXY.js";
52
+ import "../chunks/chunk-HNWJ4B7S.js";
53
+ import "../chunks/chunk-PTQPTDZH.js";
54
+ import "../chunks/chunk-WONB6LMC.js";
55
+ import "../chunks/chunk-XUT4HXVE.js";
58
56
  import "../chunks/chunk-LOCJN3BZ.js";
59
- import "../chunks/chunk-CU6P5RUG.js";
60
- import "../chunks/chunk-VQC7KELB.js";
61
- import "../chunks/chunk-A4PFFC4Q.js";
57
+ import "../chunks/chunk-BVYR7IFN.js";
58
+ import "../chunks/chunk-V7J6U4XC.js";
59
+ import "../chunks/chunk-CGFPFBT2.js";
60
+ import "../chunks/chunk-2XEQR54X.js";
62
61
  import "../chunks/chunk-G2FD7S3C.js";
63
- import "../chunks/chunk-ZY2AFL4Y.js";
64
- import "../chunks/chunk-L2HDM2R3.js";
62
+ import "../chunks/chunk-GQZVR5DW.js";
63
+ import "../chunks/chunk-WA5WNP6V.js";
64
+ import "../chunks/chunk-QQCOVMMT.js";
65
65
  import {
66
66
  filterSamples,
67
67
  walkRows
68
- } from "../chunks/chunk-LKW2TP4N.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";
74
- import "../chunks/chunk-IGVV37VI.js";
68
+ } from "../chunks/chunk-5YILQTHE.js";
69
+ import "../chunks/chunk-IYALCKNB.js";
70
+ import "../chunks/chunk-CRCD3ODN.js";
71
+ import "../chunks/chunk-ZPBEUOBM.js";
72
+ import "../chunks/chunk-KWHWNOTY.js";
73
+ import "../chunks/chunk-3PZSBNLI.js";
74
+ import "../chunks/chunk-CKUVEHSS.js";
75
75
  import "../chunks/chunk-OPPVSPEF.js";
76
76
  import "../chunks/chunk-VPE4AYP7.js";
77
- import "../chunks/chunk-AR4BUBMU.js";
77
+ import "../chunks/chunk-RWKP7UO4.js";
78
78
  import "../chunks/chunk-QYBZZI5H.js";
79
79
  import "../chunks/chunk-5I3K4R2G.js";
80
- import "../chunks/chunk-PSMKPSO4.js";
81
- import "../chunks/chunk-M6LK4GII.js";
82
- import "../chunks/chunk-RAEABQNW.js";
83
- import "../chunks/chunk-ES2N6V56.js";
80
+ import "../chunks/chunk-DBLV7PGG.js";
81
+ import "../chunks/chunk-LGJBB5BP.js";
82
+ import "../chunks/chunk-VX656OAZ.js";
84
83
  import {
85
84
  featuresOnBackbone,
86
85
  graphBackbone,
87
86
  refNameBinding
88
- } from "../chunks/chunk-RAKOB6IV.js";
89
- import "../chunks/chunk-G45YY72K.js";
90
- import "../chunks/chunk-BPLIXMH7.js";
91
- import "../chunks/chunk-PTABFYQ7.js";
87
+ } from "../chunks/chunk-234NFZS4.js";
88
+ import "../chunks/chunk-Z6XZWPXK.js";
89
+ import "../chunks/chunk-ZPZ7GNBT.js";
90
+ import "../chunks/chunk-PFRQBCGC.js";
91
+ import "../chunks/chunk-HMXCN6PG.js";
92
92
  import "../chunks/chunk-AB35TJST.js";
93
- import "../chunks/chunk-N73TI3VG.js";
94
- import "../chunks/chunk-UVBGRJQX.js";
95
- import "../chunks/chunk-6JEWNXCQ.js";
93
+ import "../chunks/chunk-BZFOFC4D.js";
94
+ import "../chunks/chunk-HKYXWZQS.js";
95
+ import "../chunks/chunk-34BOZKIE.js";
96
96
  import "../chunks/chunk-JKJWSY4V.js";
97
- import "../chunks/chunk-24WITXQY.js";
98
- import "../chunks/chunk-7SRWJLSC.js";
97
+ import "../chunks/chunk-CGMSKIEO.js";
98
+ import "../chunks/chunk-UBQSRCWR.js";
99
99
  import "../chunks/chunk-CPMHA4W5.js";
100
- import "../chunks/chunk-FYQWPEEY.js";
101
- import "../chunks/chunk-XV4P5KEQ.js";
100
+ import "../chunks/chunk-BSOZW3FC.js";
101
+ import "../chunks/chunk-RJWPJCIB.js";
102
+ import "../chunks/chunk-HOAIOEI7.js";
103
+ import "../chunks/chunk-TGUFT6KK.js";
104
+ import "../chunks/chunk-4XWZNPQ2.js";
102
105
 
103
106
  // src/cli/figure.ts
104
107
  import { access, open, readFile, writeFile } from "node:fs/promises";
@@ -219,7 +222,7 @@ async function renderSpec(spec, base) {
219
222
  const resolve = (location) => isUrl(location) ? location : path.resolve(base, location);
220
223
  let source;
221
224
  if (spec.gbz) {
222
- const { db, index } = spec.gbz.db === "hprc" ? HPRC_GBZ : spec.gbz;
225
+ const { db, index } = gbzLocations(spec.gbz);
223
226
  const indexLocation = index ? resolve(index) : await siblingIndex(resolve(db));
224
227
  const cut = await cutGbzRegion(
225
228
  await openGbz(
package/dist/cli/fold.js CHANGED
@@ -7,30 +7,32 @@ import {
7
7
  } from "../chunks/chunk-O4EGE27I.js";
8
8
  import {
9
9
  foldVariants
10
- } from "../chunks/chunk-DY3JCAMX.js";
10
+ } from "../chunks/chunk-SOMZGDVS.js";
11
11
  import {
12
12
  loadGraph
13
- } from "../chunks/chunk-2QLLQJ72.js";
14
- import "../chunks/chunk-PUG7LXDF.js";
15
- import "../chunks/chunk-IGVV37VI.js";
13
+ } from "../chunks/chunk-KWHWNOTY.js";
14
+ import "../chunks/chunk-3PZSBNLI.js";
15
+ import "../chunks/chunk-CKUVEHSS.js";
16
16
  import "../chunks/chunk-OPPVSPEF.js";
17
17
  import "../chunks/chunk-VPE4AYP7.js";
18
- import "../chunks/chunk-AR4BUBMU.js";
18
+ import "../chunks/chunk-RWKP7UO4.js";
19
19
  import "../chunks/chunk-QYBZZI5H.js";
20
20
  import "../chunks/chunk-5I3K4R2G.js";
21
- import "../chunks/chunk-PSMKPSO4.js";
22
- import "../chunks/chunk-M6LK4GII.js";
23
- import "../chunks/chunk-RAEABQNW.js";
24
- import "../chunks/chunk-ES2N6V56.js";
25
- import "../chunks/chunk-G45YY72K.js";
26
- import "../chunks/chunk-BPLIXMH7.js";
27
- import "../chunks/chunk-N73TI3VG.js";
28
- import "../chunks/chunk-UVBGRJQX.js";
29
- import "../chunks/chunk-6JEWNXCQ.js";
30
- import "../chunks/chunk-24WITXQY.js";
31
- import "../chunks/chunk-7SRWJLSC.js";
21
+ import "../chunks/chunk-DBLV7PGG.js";
22
+ import "../chunks/chunk-LGJBB5BP.js";
23
+ import "../chunks/chunk-VX656OAZ.js";
24
+ import "../chunks/chunk-Z6XZWPXK.js";
25
+ import "../chunks/chunk-ZPZ7GNBT.js";
26
+ import "../chunks/chunk-BZFOFC4D.js";
27
+ import "../chunks/chunk-HKYXWZQS.js";
28
+ import "../chunks/chunk-34BOZKIE.js";
29
+ import "../chunks/chunk-CGMSKIEO.js";
30
+ import "../chunks/chunk-UBQSRCWR.js";
32
31
  import "../chunks/chunk-CPMHA4W5.js";
33
- import "../chunks/chunk-FYQWPEEY.js";
32
+ import "../chunks/chunk-BSOZW3FC.js";
33
+ import "../chunks/chunk-RJWPJCIB.js";
34
+ import "../chunks/chunk-HOAIOEI7.js";
35
+ import "../chunks/chunk-4XWZNPQ2.js";
34
36
 
35
37
  // src/cli/fold.ts
36
38
  import { readFile, writeFile } from "node:fs/promises";
@@ -1,18 +1,16 @@
1
1
  import {
2
- bypassedPoints,
3
2
  closableDeletions,
4
- deletionArcCurves,
5
3
  deletionDrawing,
6
4
  deletionEdges,
7
5
  edgeCurvesOf
8
- } from "./chunks/chunk-24WITXQY.js";
9
- import "./chunks/chunk-7SRWJLSC.js";
6
+ } from "./chunks/chunk-CGMSKIEO.js";
7
+ import "./chunks/chunk-UBQSRCWR.js";
10
8
  import "./chunks/chunk-CPMHA4W5.js";
11
- import "./chunks/chunk-FYQWPEEY.js";
9
+ import "./chunks/chunk-BSOZW3FC.js";
10
+ import "./chunks/chunk-RJWPJCIB.js";
11
+ import "./chunks/chunk-HOAIOEI7.js";
12
12
  export {
13
- bypassedPoints,
14
13
  closableDeletions,
15
- deletionArcCurves,
16
14
  deletionDrawing,
17
15
  deletionEdges,
18
16
  edgeCurvesOf
package/dist/facetGrid.js CHANGED
@@ -6,7 +6,8 @@ import {
6
6
  facetCells,
7
7
  facetGrid,
8
8
  facetSettingOf
9
- } from "./chunks/chunk-XV4P5KEQ.js";
9
+ } from "./chunks/chunk-TGUFT6KK.js";
10
+ import "./chunks/chunk-4XWZNPQ2.js";
10
11
  export {
11
12
  FACET_FIELDS,
12
13
  FACET_GAP_PX,
package/dist/figure.js CHANGED
@@ -1,59 +1,62 @@
1
1
  import {
2
2
  figureSvg
3
- } from "./chunks/chunk-XBHMXTOR.js";
4
- import "./chunks/chunk-RUCH6ZFL.js";
5
- import "./chunks/chunk-WBSWROE6.js";
6
- import "./chunks/chunk-EFQLEGWM.js";
7
- import "./chunks/chunk-QLWI2PZ3.js";
3
+ } from "./chunks/chunk-7JGLJK44.js";
4
+ import "./chunks/chunk-V4YML3GR.js";
5
+ import "./chunks/chunk-SHKGYGM4.js";
6
+ import "./chunks/chunk-SZHQK6GL.js";
7
+ import "./chunks/chunk-EJRJAAN7.js";
8
8
  import "./chunks/chunk-RBCE2OQH.js";
9
9
  import "./chunks/chunk-JSUCGZ6K.js";
10
- import "./chunks/chunk-RPRHR56C.js";
11
- import "./chunks/chunk-XL472HHD.js";
12
- import "./chunks/chunk-KC7T5RWG.js";
13
- import "./chunks/chunk-4HWM3FNK.js";
14
- import "./chunks/chunk-KBEP7VYK.js";
10
+ import "./chunks/chunk-BS6HPYCZ.js";
11
+ import "./chunks/chunk-PSCSZSVK.js";
12
+ import "./chunks/chunk-OMUPUB4J.js";
13
+ import "./chunks/chunk-3VCKBSML.js";
15
14
  import "./chunks/chunk-H2H4Y3TV.js";
16
- import "./chunks/chunk-YYMW5XOF.js";
17
- import "./chunks/chunk-BS4UZ44I.js";
18
- import "./chunks/chunk-4ETPXDO6.js";
19
- import "./chunks/chunk-HFVGGB3U.js";
15
+ import "./chunks/chunk-PTQPTDZH.js";
16
+ import "./chunks/chunk-WONB6LMC.js";
17
+ import "./chunks/chunk-XUT4HXVE.js";
20
18
  import "./chunks/chunk-LOCJN3BZ.js";
21
- import "./chunks/chunk-CU6P5RUG.js";
22
- import "./chunks/chunk-VQC7KELB.js";
23
- import "./chunks/chunk-A4PFFC4Q.js";
19
+ import "./chunks/chunk-BVYR7IFN.js";
20
+ import "./chunks/chunk-V7J6U4XC.js";
21
+ import "./chunks/chunk-CGFPFBT2.js";
22
+ import "./chunks/chunk-2XEQR54X.js";
24
23
  import "./chunks/chunk-G2FD7S3C.js";
25
- import "./chunks/chunk-ZY2AFL4Y.js";
26
- import "./chunks/chunk-L2HDM2R3.js";
27
- import "./chunks/chunk-LKW2TP4N.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";
33
- import "./chunks/chunk-IGVV37VI.js";
24
+ import "./chunks/chunk-GQZVR5DW.js";
25
+ import "./chunks/chunk-WA5WNP6V.js";
26
+ import "./chunks/chunk-QQCOVMMT.js";
27
+ import "./chunks/chunk-5YILQTHE.js";
28
+ import "./chunks/chunk-IYALCKNB.js";
29
+ import "./chunks/chunk-CRCD3ODN.js";
30
+ import "./chunks/chunk-ZPBEUOBM.js";
31
+ import "./chunks/chunk-KWHWNOTY.js";
32
+ import "./chunks/chunk-3PZSBNLI.js";
33
+ import "./chunks/chunk-CKUVEHSS.js";
34
34
  import "./chunks/chunk-OPPVSPEF.js";
35
35
  import "./chunks/chunk-VPE4AYP7.js";
36
- import "./chunks/chunk-AR4BUBMU.js";
36
+ import "./chunks/chunk-RWKP7UO4.js";
37
37
  import "./chunks/chunk-QYBZZI5H.js";
38
38
  import "./chunks/chunk-5I3K4R2G.js";
39
- import "./chunks/chunk-PSMKPSO4.js";
40
- import "./chunks/chunk-M6LK4GII.js";
41
- import "./chunks/chunk-RAEABQNW.js";
42
- import "./chunks/chunk-ES2N6V56.js";
43
- import "./chunks/chunk-RAKOB6IV.js";
44
- import "./chunks/chunk-G45YY72K.js";
45
- import "./chunks/chunk-BPLIXMH7.js";
46
- import "./chunks/chunk-PTABFYQ7.js";
39
+ import "./chunks/chunk-DBLV7PGG.js";
40
+ import "./chunks/chunk-LGJBB5BP.js";
41
+ import "./chunks/chunk-VX656OAZ.js";
42
+ import "./chunks/chunk-234NFZS4.js";
43
+ import "./chunks/chunk-Z6XZWPXK.js";
44
+ import "./chunks/chunk-ZPZ7GNBT.js";
45
+ import "./chunks/chunk-PFRQBCGC.js";
46
+ import "./chunks/chunk-HMXCN6PG.js";
47
47
  import "./chunks/chunk-AB35TJST.js";
48
- import "./chunks/chunk-N73TI3VG.js";
49
- import "./chunks/chunk-UVBGRJQX.js";
50
- import "./chunks/chunk-6JEWNXCQ.js";
48
+ import "./chunks/chunk-BZFOFC4D.js";
49
+ import "./chunks/chunk-HKYXWZQS.js";
50
+ import "./chunks/chunk-34BOZKIE.js";
51
51
  import "./chunks/chunk-JKJWSY4V.js";
52
- import "./chunks/chunk-24WITXQY.js";
53
- import "./chunks/chunk-7SRWJLSC.js";
52
+ import "./chunks/chunk-CGMSKIEO.js";
53
+ import "./chunks/chunk-UBQSRCWR.js";
54
54
  import "./chunks/chunk-CPMHA4W5.js";
55
- import "./chunks/chunk-FYQWPEEY.js";
56
- import "./chunks/chunk-XV4P5KEQ.js";
55
+ import "./chunks/chunk-BSOZW3FC.js";
56
+ import "./chunks/chunk-RJWPJCIB.js";
57
+ import "./chunks/chunk-HOAIOEI7.js";
58
+ import "./chunks/chunk-TGUFT6KK.js";
59
+ import "./chunks/chunk-4XWZNPQ2.js";
57
60
  export {
58
61
  figureSvg
59
62
  };