@jbrowse/bandage-core 10.2.7 → 10.3.1

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 (190) 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-ABUIN5AK.js → chunk-2Q22S52W.js} +29 -24
  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-3XSM4OZU.js → chunk-3GP3KT5L.js} +5 -5
  14. package/dist/chunks/{chunk-PUG7LXDF.js → chunk-3PZSBNLI.js} +4 -1
  15. package/dist/chunks/{chunk-JLSJMCDJ.js → chunk-3UST3ZQE.js} +3 -3
  16. package/dist/chunks/{chunk-KBEP7VYK.js → chunk-3VCKBSML.js} +4 -4
  17. package/dist/chunks/{chunk-BPLIXMH7.js → chunk-4XWZNPQ2.js} +14 -0
  18. package/dist/chunks/{chunk-4DRQTBBE.js → chunk-6EOB6ANX.js} +1 -1
  19. package/dist/chunks/{chunk-L2HDM2R3.js → chunk-A2TJ5UX6.js} +7 -7
  20. package/dist/chunks/{chunk-URZ3CH2R.js → chunk-A4JDEUAI.js} +1 -1
  21. package/dist/chunks/{chunk-CWFNEKST.js → chunk-A7H753BA.js} +3 -3
  22. package/dist/chunks/{chunk-CG35S2S2.js → chunk-AQCOIE5R.js} +1 -1
  23. package/dist/chunks/{chunk-TKIJ5535.js → chunk-AZ4EEF6Q.js} +6 -6
  24. package/dist/chunks/{chunk-M6LK4GII.js → chunk-B5X2RLJG.js} +17 -10
  25. package/dist/chunks/{chunk-A7CFWFQS.js → chunk-BKEZLETL.js} +1 -1
  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-XXT2JCAC.js → chunk-BX4AUMZE.js} +11 -13
  29. package/dist/chunks/{chunk-N73TI3VG.js → chunk-BZFOFC4D.js} +6 -9
  30. package/dist/chunks/{chunk-4ETPXDO6.js → chunk-CGFPFBT2.js} +1 -1
  31. package/dist/chunks/{chunk-24WITXQY.js → chunk-CGMSKIEO.js} +9 -25
  32. package/dist/chunks/{chunk-VV6KGJ7M.js → chunk-CHNESV7L.js} +18 -27
  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-AUFAPUO4.js → chunk-D7WIYPG3.js} +3 -1
  36. package/dist/chunks/{chunk-OIV2GBAJ.js → chunk-DBLV7PGG.js} +27 -17
  37. package/dist/chunks/{chunk-VQC7KELB.js → chunk-DO62DG26.js} +11 -3
  38. package/dist/chunks/{chunk-JA2HJIYS.js → chunk-E4ZM4OOJ.js} +3 -5
  39. package/dist/chunks/{chunk-QLWI2PZ3.js → chunk-EJRJAAN7.js} +24 -21
  40. package/dist/chunks/{chunk-QBHPHLAQ.js → chunk-EWLXU3UG.js} +41 -36
  41. package/dist/chunks/{chunk-XI3ZUTWF.js → chunk-FW2R7UDZ.js} +14 -20
  42. package/dist/chunks/{chunk-Q7LYHGGQ.js → chunk-GIHTHYXY.js} +5 -4
  43. package/dist/chunks/{chunk-L3O7AWLI.js → chunk-GJLZ2MKE.js} +2 -2
  44. package/dist/chunks/{chunk-LOEA5IHZ.js → chunk-GJU6BJJA.js} +8 -8
  45. package/dist/chunks/{chunk-XL472HHD.js → chunk-GQZVR5DW.js} +12 -7
  46. package/dist/chunks/{chunk-UVBGRJQX.js → chunk-HKYXWZQS.js} +1 -1
  47. package/dist/chunks/chunk-HMXCN6PG.js +17 -0
  48. package/dist/chunks/{chunk-WSIFAZU7.js → chunk-HNWJ4B7S.js} +12 -13
  49. package/dist/chunks/chunk-HOAIOEI7.js +18 -0
  50. package/dist/chunks/{chunk-XMW266WS.js → chunk-HSVFCA2J.js} +18 -20
  51. package/dist/chunks/{chunk-QXUEF3AJ.js → chunk-KMBE2Q42.js} +22 -17
  52. package/dist/chunks/{chunk-VQWHMWLF.js → chunk-M5NPD55W.js} +18 -14
  53. package/dist/chunks/chunk-MWOVW4AH.js +327 -0
  54. package/dist/chunks/{chunk-HK5Y2YWV.js → chunk-MYDHU2UV.js} +6 -11
  55. package/dist/chunks/{chunk-TZFWUT2C.js → chunk-MYLAJDKB.js} +2 -2
  56. package/dist/chunks/{chunk-AR4BUBMU.js → chunk-NZTYV3JL.js} +34 -35
  57. package/dist/chunks/{chunk-4HWM3FNK.js → chunk-OMUPUB4J.js} +39 -56
  58. package/dist/chunks/{chunk-LKW2TP4N.js → chunk-OOIOX36I.js} +18 -16
  59. package/dist/chunks/{chunk-EQ2NIFRH.js → chunk-OXRUPNSV.js} +1 -1
  60. package/dist/chunks/{chunk-PTABFYQ7.js → chunk-PFRQBCGC.js} +49 -60
  61. package/dist/chunks/{chunk-T6V4KI2L.js → chunk-PNMJFFNB.js} +1 -1
  62. package/dist/chunks/{chunk-KC7T5RWG.js → chunk-PSCSZSVK.js} +9 -16
  63. package/dist/chunks/{chunk-23YFB5BB.js → chunk-QH2MIXBA.js} +29 -13
  64. package/dist/chunks/{chunk-5GMFEPWR.js → chunk-R2PJKD3Y.js} +16 -28
  65. package/dist/chunks/{chunk-CQHUZHET.js → chunk-RFG42VIO.js} +46 -30
  66. package/dist/chunks/{chunk-FYQWPEEY.js → chunk-RJWPJCIB.js} +5 -11
  67. package/dist/chunks/{chunk-WBSWROE6.js → chunk-SFP3E4RI.js} +14 -18
  68. package/dist/chunks/{chunk-2CMYNW3E.js → chunk-SI3BB4DO.js} +1 -1
  69. package/dist/chunks/{chunk-DY3JCAMX.js → chunk-SOMZGDVS.js} +7 -16
  70. package/dist/chunks/{chunk-A4PFFC4Q.js → chunk-SWCULW6S.js} +60 -102
  71. package/dist/chunks/{chunk-XV4P5KEQ.js → chunk-TGUFT6KK.js} +6 -3
  72. package/dist/chunks/{chunk-CM6LO6OC.js → chunk-UAFATXYA.js} +10 -14
  73. package/dist/chunks/{chunk-7SRWJLSC.js → chunk-UBQSRCWR.js} +11 -8
  74. package/dist/chunks/{chunk-RUCH6ZFL.js → chunk-V4YML3GR.js} +2 -1
  75. package/dist/chunks/{chunk-ES2N6V56.js → chunk-VX656OAZ.js} +6 -11
  76. package/dist/chunks/chunk-WA5WNP6V.js +37 -0
  77. package/dist/chunks/{chunk-B6IW3IRE.js → chunk-WYJQIC75.js} +14 -15
  78. package/dist/chunks/{chunk-T2PCSAFY.js → chunk-XVS52NMZ.js} +2 -2
  79. package/dist/chunks/{chunk-CU6P5RUG.js → chunk-YZQI35UJ.js} +22 -16
  80. package/dist/chunks/{chunk-G45YY72K.js → chunk-Z6XZWPXK.js} +17 -25
  81. package/dist/chunks/{chunk-EFQLEGWM.js → chunk-ZJBOM73S.js} +7 -8
  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-core/gfaParser.d.ts +1 -1
  152. package/dist/types/graphLabels.d.ts +2 -1
  153. package/dist/types/layout/drawnScale.d.ts +0 -2
  154. package/dist/types/layout/referenceSeeds.d.ts +2 -1
  155. package/dist/types/layout/tubeMapLayout.d.ts +0 -7
  156. package/dist/types/layout/walkRowDraw.d.ts +0 -1
  157. package/dist/types/layout/walkRowLayout.d.ts +1 -0
  158. package/dist/types/layout/walkRows.d.ts +1 -0
  159. package/dist/types/nodeWidths.d.ts +0 -1
  160. package/dist/types/pansn.d.ts +9 -0
  161. package/dist/types/pathVisits.d.ts +6 -0
  162. package/dist/types/referenceRampCss.d.ts +4 -0
  163. package/dist/types/renderer/Canvas2DRenderer.d.ts +1 -0
  164. package/dist/types/renderer/GeometryBuilder.d.ts +3 -2
  165. package/dist/types/tubeMap/axis.d.ts +3 -1
  166. package/dist/types/tubeMap/coarsen.d.ts +3 -1
  167. package/dist/types/tubeMap/deviations.d.ts +2 -1
  168. package/dist/types/tubeMap/mismatches.d.ts +0 -1
  169. package/dist/types/tubeMap/warp.d.ts +2 -1
  170. package/dist/types/util/SpatialIndex.d.ts +1 -1
  171. package/dist/types/util/geometry.d.ts +4 -0
  172. package/dist/types/util/groups.d.ts +3 -0
  173. package/dist/types/util/hitDetection.d.ts +2 -2
  174. package/dist/types/util/partitionPoint.d.ts +1 -0
  175. package/dist/types/util/weakMemo.d.ts +1 -0
  176. package/dist/types/version.d.ts +1 -1
  177. package/dist/util/SpatialIndex.js +8 -5
  178. package/dist/util/edgeCurves.js +7 -4
  179. package/dist/util/geometry.js +3 -1
  180. package/dist/util/groups.js +10 -0
  181. package/dist/util/hitDetection.js +9 -6
  182. package/dist/util/partitionPoint.js +6 -0
  183. package/dist/util/weakMemo.js +6 -0
  184. package/dist/version.js +1 -1
  185. package/dist/viewport.js +19 -17
  186. package/dist/walkEncoding.js +18 -14
  187. package/dist/walkHighlight.js +19 -15
  188. package/dist/walkKey.js +9 -6
  189. package/package.json +2 -2
  190. package/dist/chunks/chunk-ZY2AFL4Y.js +0 -43
@@ -1,9 +1,13 @@
1
1
  import {
2
- parsePanSN,
3
2
  projectAlleles
4
- } from "../chunks/chunk-RVS2QCOX.js";
5
- import "../chunks/chunk-ES2N6V56.js";
6
- import "../chunks/chunk-FYQWPEEY.js";
3
+ } from "../chunks/chunk-3GLG3ZLE.js";
4
+ import "../chunks/chunk-VX656OAZ.js";
5
+ import "../chunks/chunk-BSOZW3FC.js";
6
+ import "../chunks/chunk-RJWPJCIB.js";
7
+ import "../chunks/chunk-HOAIOEI7.js";
8
+ import {
9
+ parsePanSN
10
+ } from "../chunks/chunk-4XWZNPQ2.js";
7
11
  export {
8
12
  parsePanSN,
9
13
  projectAlleles
@@ -9,7 +9,8 @@ import {
9
9
  isOffReference,
10
10
  overlapsWindow,
11
11
  referenceSpan
12
- } from "./chunks/chunk-FYQWPEEY.js";
12
+ } from "./chunks/chunk-RJWPJCIB.js";
13
+ import "./chunks/chunk-HOAIOEI7.js";
13
14
  export {
14
15
  REFERENCE_RANK,
15
16
  backboneNodes,
@@ -2,8 +2,8 @@ import {
2
2
  BUBBLE_SPREADS,
3
3
  BUBBLE_SPREAD_VALUES,
4
4
  spreadFor
5
- } from "./chunks/chunk-UVBGRJQX.js";
6
- import "./chunks/chunk-6JEWNXCQ.js";
5
+ } from "./chunks/chunk-HKYXWZQS.js";
6
+ import "./chunks/chunk-34BOZKIE.js";
7
7
  export {
8
8
  BUBBLE_SPREADS,
9
9
  BUBBLE_SPREAD_VALUES,
@@ -1,21 +1,20 @@
1
1
  import {
2
- SMALL_VARIANT_BP,
3
- WHOLE_FRACTION,
4
2
  bubbleHalos,
5
3
  coversGraph
6
- } from "../chunks/chunk-JA2HJIYS.js";
7
- import "../chunks/chunk-URZ3CH2R.js";
4
+ } from "../chunks/chunk-E4ZM4OOJ.js";
5
+ import "../chunks/chunk-A4JDEUAI.js";
8
6
  import "../chunks/chunk-FX4RDMDN.js";
9
- import "../chunks/chunk-PTABFYQ7.js";
7
+ import "../chunks/chunk-PFRQBCGC.js";
8
+ import "../chunks/chunk-HMXCN6PG.js";
10
9
  import "../chunks/chunk-AB35TJST.js";
11
- import "../chunks/chunk-N73TI3VG.js";
12
- import "../chunks/chunk-24WITXQY.js";
13
- import "../chunks/chunk-7SRWJLSC.js";
10
+ import "../chunks/chunk-BZFOFC4D.js";
11
+ import "../chunks/chunk-CGMSKIEO.js";
12
+ import "../chunks/chunk-UBQSRCWR.js";
14
13
  import "../chunks/chunk-CPMHA4W5.js";
15
- import "../chunks/chunk-FYQWPEEY.js";
14
+ import "../chunks/chunk-BSOZW3FC.js";
15
+ import "../chunks/chunk-RJWPJCIB.js";
16
+ import "../chunks/chunk-HOAIOEI7.js";
16
17
  export {
17
- SMALL_VARIANT_BP,
18
- WHOLE_FRACTION,
19
18
  bubbleHalos,
20
19
  coversGraph
21
20
  };
@@ -1,15 +1,20 @@
1
1
  import {
2
2
  bubblesFromGraph,
3
+ derivedBubble,
3
4
  relax,
4
5
  walkIndexOf,
5
6
  walkRoutes
6
- } from "../chunks/chunk-CQHUZHET.js";
7
+ } from "../chunks/chunk-RFG42VIO.js";
7
8
  import "../chunks/chunk-FX4RDMDN.js";
8
- import "../chunks/chunk-CM6LO6OC.js";
9
+ import "../chunks/chunk-UAFATXYA.js";
10
+ import "../chunks/chunk-VX656OAZ.js";
9
11
  import "../chunks/chunk-CPMHA4W5.js";
10
- import "../chunks/chunk-FYQWPEEY.js";
12
+ import "../chunks/chunk-BSOZW3FC.js";
13
+ import "../chunks/chunk-RJWPJCIB.js";
14
+ import "../chunks/chunk-HOAIOEI7.js";
11
15
  export {
12
16
  bubblesFromGraph,
17
+ derivedBubble,
13
18
  relax,
14
19
  walkIndexOf,
15
20
  walkRoutes
@@ -3,15 +3,18 @@ import {
3
3
  BUBBLE_KIND_NAMES,
4
4
  bubbleSegmentIds,
5
5
  classifyBubble
6
- } from "../chunks/chunk-URZ3CH2R.js";
6
+ } from "../chunks/chunk-A4JDEUAI.js";
7
7
  import "../chunks/chunk-FX4RDMDN.js";
8
- import "../chunks/chunk-PTABFYQ7.js";
8
+ import "../chunks/chunk-PFRQBCGC.js";
9
+ import "../chunks/chunk-HMXCN6PG.js";
9
10
  import "../chunks/chunk-AB35TJST.js";
10
- import "../chunks/chunk-N73TI3VG.js";
11
- import "../chunks/chunk-24WITXQY.js";
12
- import "../chunks/chunk-7SRWJLSC.js";
11
+ import "../chunks/chunk-BZFOFC4D.js";
12
+ import "../chunks/chunk-CGMSKIEO.js";
13
+ import "../chunks/chunk-UBQSRCWR.js";
13
14
  import "../chunks/chunk-CPMHA4W5.js";
14
- import "../chunks/chunk-FYQWPEEY.js";
15
+ import "../chunks/chunk-BSOZW3FC.js";
16
+ import "../chunks/chunk-RJWPJCIB.js";
17
+ import "../chunks/chunk-HOAIOEI7.js";
15
18
  export {
16
19
  BUBBLE_KIND_COLORS,
17
20
  BUBBLE_KIND_NAMES,
@@ -1,10 +1,12 @@
1
1
  import {
2
2
  bubbleSubgraph
3
- } from "../chunks/chunk-T6V4KI2L.js";
4
- import "../chunks/chunk-M6LK4GII.js";
5
- import "../chunks/chunk-RAEABQNW.js";
6
- import "../chunks/chunk-BPLIXMH7.js";
7
- import "../chunks/chunk-FYQWPEEY.js";
3
+ } from "../chunks/chunk-PNMJFFNB.js";
4
+ import "../chunks/chunk-B5X2RLJG.js";
5
+ import "../chunks/chunk-ZPZ7GNBT.js";
6
+ import "../chunks/chunk-BSOZW3FC.js";
7
+ import "../chunks/chunk-RJWPJCIB.js";
8
+ import "../chunks/chunk-HOAIOEI7.js";
9
+ import "../chunks/chunk-4XWZNPQ2.js";
8
10
  export {
9
11
  bubbleSubgraph
10
12
  };
@@ -1,23 +1,27 @@
1
1
  import {
2
2
  graphBubbles,
3
3
  superbubblesFromGraph
4
- } from "../chunks/chunk-ABUIN5AK.js";
5
- import "../chunks/chunk-CQHUZHET.js";
6
- import "../chunks/chunk-T6V4KI2L.js";
7
- import "../chunks/chunk-JA2HJIYS.js";
8
- import "../chunks/chunk-URZ3CH2R.js";
4
+ } from "../chunks/chunk-2Q22S52W.js";
5
+ import "../chunks/chunk-RFG42VIO.js";
6
+ import "../chunks/chunk-PNMJFFNB.js";
7
+ import "../chunks/chunk-E4ZM4OOJ.js";
8
+ import "../chunks/chunk-A4JDEUAI.js";
9
9
  import "../chunks/chunk-FX4RDMDN.js";
10
- import "../chunks/chunk-CM6LO6OC.js";
11
- import "../chunks/chunk-M6LK4GII.js";
12
- import "../chunks/chunk-RAEABQNW.js";
13
- import "../chunks/chunk-BPLIXMH7.js";
14
- import "../chunks/chunk-PTABFYQ7.js";
10
+ import "../chunks/chunk-UAFATXYA.js";
11
+ import "../chunks/chunk-B5X2RLJG.js";
12
+ import "../chunks/chunk-VX656OAZ.js";
13
+ import "../chunks/chunk-ZPZ7GNBT.js";
14
+ import "../chunks/chunk-PFRQBCGC.js";
15
+ import "../chunks/chunk-HMXCN6PG.js";
15
16
  import "../chunks/chunk-AB35TJST.js";
16
- import "../chunks/chunk-N73TI3VG.js";
17
- import "../chunks/chunk-24WITXQY.js";
18
- import "../chunks/chunk-7SRWJLSC.js";
17
+ import "../chunks/chunk-BZFOFC4D.js";
18
+ import "../chunks/chunk-CGMSKIEO.js";
19
+ import "../chunks/chunk-UBQSRCWR.js";
19
20
  import "../chunks/chunk-CPMHA4W5.js";
20
- import "../chunks/chunk-FYQWPEEY.js";
21
+ import "../chunks/chunk-BSOZW3FC.js";
22
+ import "../chunks/chunk-RJWPJCIB.js";
23
+ import "../chunks/chunk-HOAIOEI7.js";
24
+ import "../chunks/chunk-4XWZNPQ2.js";
21
25
  export {
22
26
  graphBubbles,
23
27
  superbubblesFromGraph
@@ -1,12 +1,15 @@
1
+ import {
2
+ addTo
3
+ } from "./chunk-BSOZW3FC.js";
4
+ import {
5
+ isBackbone
6
+ } from "./chunk-RJWPJCIB.js";
1
7
  import {
2
8
  isGenericSample,
3
9
  panSNContig,
4
10
  panSNHaplotype,
5
11
  panSNSample
6
- } from "./chunk-BPLIXMH7.js";
7
- import {
8
- isBackbone
9
- } from "./chunk-FYQWPEEY.js";
12
+ } from "./chunk-4XWZNPQ2.js";
10
13
 
11
14
  // src/reference.ts
12
15
  var WELL_KNOWN_SAMPLES = /* @__PURE__ */ new Map([
@@ -37,8 +40,7 @@ function graphHaplotypes(graph) {
37
40
  for (const refName of refNames) {
38
41
  const sample = sampleOf(refName);
39
42
  if (sample !== void 0) {
40
- const haplotypes = bySample.get(sample) ?? bySample.set(sample, /* @__PURE__ */ new Set()).get(sample);
41
- haplotypes.add(haplotypeOf(refName));
43
+ addTo(bySample, sample, haplotypeOf(refName));
42
44
  }
43
45
  }
44
46
  return bySample;
@@ -1,24 +1,28 @@
1
1
  import {
2
2
  bubblesFromGraph,
3
+ derivedBubble,
3
4
  relax,
4
5
  walkIndexOf,
5
6
  walkRoutes
6
- } from "./chunk-CQHUZHET.js";
7
+ } from "./chunk-RFG42VIO.js";
7
8
  import {
8
9
  bubbleSubgraph
9
- } from "./chunk-T6V4KI2L.js";
10
+ } from "./chunk-PNMJFFNB.js";
10
11
  import {
11
12
  coversGraph
12
- } from "./chunk-JA2HJIYS.js";
13
+ } from "./chunk-E4ZM4OOJ.js";
13
14
  import {
14
15
  bubbleSegmentIds
15
- } from "./chunk-URZ3CH2R.js";
16
+ } from "./chunk-A4JDEUAI.js";
16
17
  import {
17
18
  strandSides
18
- } from "./chunk-7SRWJLSC.js";
19
+ } from "./chunk-UBQSRCWR.js";
20
+ import {
21
+ pushTo
22
+ } from "./chunk-BSOZW3FC.js";
19
23
  import {
20
24
  isBackbone
21
- } from "./chunk-FYQWPEEY.js";
25
+ } from "./chunk-RJWPJCIB.js";
22
26
 
23
27
  // src/bubbles/superbubbles.ts
24
28
  function slotGraph(graph, index) {
@@ -207,8 +211,7 @@ function superbubblesFromGraph(graph, span) {
207
211
  const holders = /* @__PURE__ */ new Map();
208
212
  members.forEach((vs, i) => {
209
213
  for (const v of vs) {
210
- ;
211
- (holders.get(v) ?? holders.set(v, []).get(v)).push(i);
214
+ pushTo(holders, v, i);
212
215
  }
213
216
  });
214
217
  const nested = (f, i) => holders.get(f.inside[0] >> 1).some(
@@ -226,24 +229,26 @@ function superbubblesFromGraph(graph, span) {
226
229
  return outermost.map((f) => {
227
230
  const source = nodes[f.source >> 1];
228
231
  const sink = nodes[f.sink >> 1];
229
- const walked = walkIndex && walkRoutes(graph, byId, walkIndex, source.id, sink.id);
230
- const crossed = walked?.n ? walked : void 0;
231
- const routes = crossed ?? routesThrough(nodes, offset, next, f);
232
+ const walked = walkRoutes(
233
+ graph,
234
+ byId,
235
+ walkIndex,
236
+ source.id,
237
+ sink.id,
238
+ () => routesThrough(nodes, offset, next, f)
239
+ );
232
240
  const placedOn = onReference(source, sink);
233
241
  return {
234
- refName: placedOn ? source.stable.refName : span.refName,
235
- start: placedOn ? source.stable.start + source.length : span.start,
236
- end: placedOn ? sink.stable.start : span.end,
237
- segmentCount: f.inside.length + 2,
238
- pathCount: routes.n,
239
- inversion: false,
240
- shortestAlleleLength: routes.min,
241
- longestAlleleLength: routes.max,
242
- segments: nodesOf(f).map((v) => nodes[v].name).join(","),
243
- shortestAllele: void 0,
244
- longestAllele: void 0,
245
- partial: walked !== void 0 && walked.left > 0,
246
- routes: crossed?.routes,
242
+ ...derivedBubble(
243
+ {
244
+ refName: placedOn ? source.stable.refName : span.refName,
245
+ start: placedOn ? source.stable.start + source.length : span.start,
246
+ end: placedOn ? sink.stable.start : span.end
247
+ },
248
+ nodesOf(f).map((v) => nodes[v]),
249
+ walked,
250
+ walked.walksLeave
251
+ ),
247
252
  key: `${source.name}>${sink.name}`,
248
253
  ...placedOn ? {} : { offReference: true }
249
254
  };
@@ -82,9 +82,7 @@ export {
82
82
  drawnNodeLength,
83
83
  bandageAutoScale,
84
84
  PROPORTIONAL_LENGTH,
85
- isProportional,
86
85
  drawnLengthFor,
87
- PROPORTIONAL_SPREAD,
88
86
  layoutScaling,
89
87
  drawnLengthOf
90
88
  };
@@ -1,20 +1,12 @@
1
1
  import {
2
2
  buildNeighbors
3
- } from "./chunk-ES2N6V56.js";
3
+ } from "./chunk-VX656OAZ.js";
4
4
  import {
5
5
  REFERENCE_RANK,
6
6
  isAnchored
7
- } from "./chunk-FYQWPEEY.js";
7
+ } from "./chunk-RJWPJCIB.js";
8
8
 
9
9
  // src/alleleProjection/projectAlleles.ts
10
- function parsePanSN(refName) {
11
- const parts = refName.split("#");
12
- const haplotype = parts.length >= 2 ? Number(parts[1]) : Number.NaN;
13
- return {
14
- sample: parts[0] ?? refName,
15
- haplotype: Number.isFinite(haplotype) ? haplotype : void 0
16
- };
17
- }
18
10
  function collectRun(seed, byId, adj, claimed) {
19
11
  const members = [];
20
12
  const anchors = [];
@@ -130,6 +122,5 @@ function projectAlleles(graph) {
130
122
  }
131
123
 
132
124
  export {
133
- parsePanSN,
134
125
  projectAlleles
135
126
  };
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  pathOrigin
3
- } from "./chunk-M6LK4GII.js";
4
- import {
5
- isGenericSample
6
- } from "./chunk-BPLIXMH7.js";
3
+ } from "./chunk-B5X2RLJG.js";
7
4
  import {
8
5
  groupDigits
9
- } from "./chunk-PTABFYQ7.js";
6
+ } from "./chunk-PFRQBCGC.js";
7
+ import {
8
+ isGenericSample
9
+ } from "./chunk-4XWZNPQ2.js";
10
10
 
11
11
  // src/pathColors.ts
12
12
  function nameHue(name) {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  isBackbone
3
- } from "./chunk-FYQWPEEY.js";
3
+ } from "./chunk-RJWPJCIB.js";
4
4
 
5
5
  // src/layout/orientToReference.ts
6
6
  function orientToReference(graph, positions) {
@@ -21,6 +21,9 @@ function orientToReference(graph, positions) {
21
21
  };
22
22
  });
23
23
  const weight = points.reduce((sum, p) => sum + p.w, 0);
24
+ if (weight === 0) {
25
+ return positions;
26
+ }
24
27
  const cx = points.reduce((sum, p) => sum + p.x * p.w, 0) / weight;
25
28
  const cy = points.reduce((sum, p) => sum + p.y * p.w, 0) / weight;
26
29
  const cr = points.reduce((sum, p) => sum + p.r * p.w, 0) / weight;
@@ -2,13 +2,13 @@ import {
2
2
  LIFT_BACKDROP_CSS,
3
3
  computeColorSchemeRange,
4
4
  getNodeColor
5
- } from "./chunk-A4PFFC4Q.js";
5
+ } from "./chunk-SWCULW6S.js";
6
6
  import {
7
7
  abgrToCssRgba
8
8
  } from "./chunk-G2FD7S3C.js";
9
9
  import {
10
10
  isBackbone
11
- } from "./chunk-FYQWPEEY.js";
11
+ } from "./chunk-RJWPJCIB.js";
12
12
 
13
13
  // src/referenceStrip.ts
14
14
  var REFERENCE_STRIP_PX = 12;
@@ -21,7 +21,7 @@ function referenceStripBlocks(graph, {
21
21
  referenceRamp,
22
22
  walks
23
23
  }) {
24
- const range = { ...computeColorSchemeRange(graph), referenceRamp };
24
+ const range = computeColorSchemeRange(graph, referenceRamp);
25
25
  const out = [];
26
26
  graph.nodes.forEach((node, index) => {
27
27
  if (isBackbone(node)) {
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  baseEdgeCurves
3
- } from "./chunk-ZY2AFL4Y.js";
3
+ } from "./chunk-WA5WNP6V.js";
4
4
  import {
5
5
  curveBounds,
6
6
  pathRibbonOffsets
7
- } from "./chunk-7SRWJLSC.js";
7
+ } from "./chunk-UBQSRCWR.js";
8
8
 
9
9
  // src/util/SpatialIndex.ts
10
10
  var FALLBACK_CELL_SIZE = 50;
@@ -118,7 +118,7 @@ var SpatialIndex = class {
118
118
  }
119
119
  };
120
120
  var EdgeSpatialIndex = class {
121
- constructor(nodePositions, graph, drawPaths, axis, cellSize, deletions, version = 0, routes, stranded = false) {
121
+ constructor(nodePositions, graph, drawPaths, axis, deletions, version = 0, routes, stranded = false) {
122
122
  this.cells = /* @__PURE__ */ new Map();
123
123
  this.edgeCurves = baseEdgeCurves(
124
124
  nodePositions,
@@ -162,7 +162,7 @@ var EdgeSpatialIndex = class {
162
162
  boxes.push({ ei, minX, minY, maxX, maxY });
163
163
  }
164
164
  }
165
- this.cellSize = resolveCellSize(cellSize, boxes, extentX, extentY);
165
+ this.cellSize = cellSizeFrom(boxes, extentX, extentY);
166
166
  for (const b of boxes) {
167
167
  addToGrid(this.cells, this.cellSize, b.minX, b.minY, b.maxX, b.maxY, b.ei);
168
168
  }
@@ -15,6 +15,18 @@ function panSNContig(refName) {
15
15
  const parts = refName.split(SEP);
16
16
  return parts.length >= 3 ? parts.slice(2).join(SEP) : parts.length === 2 ? parts[1] : refName;
17
17
  }
18
+ function panSNFields(name) {
19
+ const [sample = "", haplotype = "", ...contig] = name.split(SEP);
20
+ return contig.length > 0 ? { sample, haplotype: +haplotype, contig: contig.join(SEP) } : void 0;
21
+ }
22
+ function parsePanSN(refName) {
23
+ const parts = refName.split(SEP);
24
+ const haplotype = parts.length >= 2 ? Number(parts[1]) : Number.NaN;
25
+ return {
26
+ sample: parts[0],
27
+ haplotype: Number.isFinite(haplotype) ? haplotype : void 0
28
+ };
29
+ }
18
30
  function panSNMatchesPrefix(refName, prefix) {
19
31
  return prefix !== void 0 && (refName === prefix || refName.startsWith(prefix + SEP));
20
32
  }
@@ -46,6 +58,8 @@ export {
46
58
  isGenericSample,
47
59
  panSNHaplotype,
48
60
  panSNContig,
61
+ panSNFields,
62
+ parsePanSN,
49
63
  panSNMatchesPrefix,
50
64
  resolvePanSNPrefix,
51
65
  assemblyByPanSNPrefix
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  tubeSpan
3
- } from "./chunk-XMW266WS.js";
3
+ } from "./chunk-HSVFCA2J.js";
4
4
 
5
5
  // src/tubeMap/genes.ts
6
6
  function tubeMapGenes(byRefName, genes) {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  walkRows
3
- } from "./chunk-LKW2TP4N.js";
3
+ } from "./chunk-OOIOX36I.js";
4
4
  import {
5
5
  ROW_HEIGHT_PX
6
6
  } from "./chunk-CPMHA4W5.js";
@@ -8,20 +8,19 @@ import {
8
8
  backboneNodes,
9
9
  backbonePositions,
10
10
  overlapsWindow
11
- } from "./chunk-FYQWPEEY.js";
11
+ } from "./chunk-RJWPJCIB.js";
12
12
 
13
13
  // src/layout/walkRowLayout.ts
14
14
  var READOUT_ROOM = 1.3;
15
+ function longestBar(walks) {
16
+ return Math.max(walks.reference.bp, ...walks.rows.map((r) => r.bp));
17
+ }
15
18
  function walkRowsExtent(walks, pitch = {
16
19
  rowPx: ROW_HEIGHT_PX,
17
20
  readouts: true
18
21
  }) {
19
- let longest = walks.reference.bp;
20
- for (const row of walks.rows) {
21
- longest = Math.max(longest, row.bp);
22
- }
23
22
  return {
24
- maxX: walks.origin + longest * (pitch.readouts ? READOUT_ROOM : 1),
23
+ maxX: walks.origin + longestBar(walks) * (pitch.readouts ? READOUT_ROOM : 1),
25
24
  maxY: walks.rows.length * pitch.rowPx
26
25
  };
27
26
  }
@@ -58,6 +57,7 @@ function walkRowLayout(graph, region) {
58
57
 
59
58
  export {
60
59
  READOUT_ROOM,
60
+ longestBar,
61
61
  walkRowsExtent,
62
62
  walkRowLabels,
63
63
  walkRowLayout
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-FX4RDMDN.js";
4
4
  import {
5
5
  formatBp
6
- } from "./chunk-PTABFYQ7.js";
6
+ } from "./chunk-PFRQBCGC.js";
7
7
 
8
8
  // src/bubbles/classifyBubble.ts
9
9
  var REPEAT_GROWTH = 10;
@@ -34,13 +34,13 @@ function mismatchesByStep(record, lengths) {
34
34
  const startOf = (k) => starts[known[k]];
35
35
  const endOf = (k) => startOf(k) + lengths[known[k]];
36
36
  let first = 0;
37
- const stepAt = (pos2, atEnd = false) => {
37
+ const stepAt = (pos2) => {
38
38
  while (first < known.length && endOf(first) < pos2) {
39
39
  first++;
40
40
  }
41
41
  for (let k = first; k < known.length && startOf(k) <= pos2; k++) {
42
42
  const end = endOf(k);
43
- if (pos2 < end || atEnd && pos2 === end) {
43
+ if (pos2 < end) {
44
44
  return { s: known[k], local: pos2 - startOf(k), room: end - pos2 };
45
45
  }
46
46
  }
@@ -74,7 +74,7 @@ function mismatchesByStep(record, lengths) {
74
74
  }
75
75
  pos += 1;
76
76
  } else if (op.op === "insertion") {
77
- const at = stepAt(pos, pos === record.pathEnd);
77
+ const at = pos > record.pathStart && pos < record.pathEnd ? stepAt(pos) : void 0;
78
78
  if (at) {
79
79
  add(at.s, { type: "insertion", pos: at.local, seq: op.seq });
80
80
  }
@@ -1,5 +1,5 @@
1
1
  // src/version.ts
2
- var version = "10.2.7";
2
+ var version = "10.3.1";
3
3
 
4
4
  export {
5
5
  version
@@ -1,25 +1,25 @@
1
1
  import {
2
2
  sampleRowLayout
3
- } from "./chunk-LOEA5IHZ.js";
3
+ } from "./chunk-GJU6BJJA.js";
4
4
  import {
5
5
  hasTubeMapBackbone,
6
6
  hasTubeMapPaths,
7
7
  tubeMapLayout,
8
8
  tubeMapReferenceLayout
9
- } from "./chunk-XI3ZUTWF.js";
9
+ } from "./chunk-FW2R7UDZ.js";
10
10
  import {
11
11
  anchoredLayout
12
- } from "./chunk-L3O7AWLI.js";
12
+ } from "./chunk-GJLZ2MKE.js";
13
13
  import {
14
14
  orderedLayout
15
- } from "./chunk-CM6LO6OC.js";
15
+ } from "./chunk-UAFATXYA.js";
16
16
  import {
17
17
  walkRowLayout
18
- } from "./chunk-L2HDM2R3.js";
18
+ } from "./chunk-A2TJ5UX6.js";
19
19
  import {
20
20
  isBackbone,
21
21
  isOffReference
22
- } from "./chunk-FYQWPEEY.js";
22
+ } from "./chunk-RJWPJCIB.js";
23
23
 
24
24
  // src/layoutModes.ts
25
25
  var FORCE_LAYOUT_LABEL = "Force-directed layout";
@@ -1,12 +1,15 @@
1
1
  import {
2
2
  PathVisitsBuilder
3
- } from "./chunk-RAEABQNW.js";
3
+ } from "./chunk-ZPZ7GNBT.js";
4
4
  import {
5
- panSNSample
6
- } from "./chunk-BPLIXMH7.js";
5
+ groupBy
6
+ } from "./chunk-BSOZW3FC.js";
7
7
  import {
8
8
  REFERENCE_RANK
9
- } from "./chunk-FYQWPEEY.js";
9
+ } from "./chunk-RJWPJCIB.js";
10
+ import {
11
+ panSNSample
12
+ } from "./chunk-4XWZNPQ2.js";
10
13
 
11
14
  // src/pathAnchoring.ts
12
15
  var RANGE_SUFFIX = /:(\d+)-\d+$/;
@@ -118,7 +121,15 @@ function anchorFromPaths(graph, preferred) {
118
121
  };
119
122
  }
120
123
  function anchorGraph(graph, preferred) {
121
- return graph.anchoredBy === "tags" ? graph : anchorFromPaths(graph, preferred);
124
+ if (graph.anchoredBy !== "tags") {
125
+ return anchorFromPaths(graph, preferred);
126
+ }
127
+ const referencePath = taggedReferencePath(graph);
128
+ return referencePath ? { ...graph, referencePath } : graph;
129
+ }
130
+ function taggedReferencePath(graph) {
131
+ const refName = graph.nodes.find((n) => n.stable?.rank === 0)?.stable?.refName;
132
+ return refName !== void 0 && graph.anchorPaths?.some((p) => p.name === refName) ? refName : void 0;
122
133
  }
123
134
  function trimOrigins(graph, kept) {
124
135
  if (!graph.anchorPaths) {
@@ -132,11 +143,7 @@ function trimOrigins(graph, kept) {
132
143
  }
133
144
  return sum;
134
145
  };
135
- const byOrigin = /* @__PURE__ */ new Map();
136
- for (const path of graph.paths ?? []) {
137
- const origin = pathOrigin(path.name).name;
138
- byOrigin.set(origin, [...byOrigin.get(origin) ?? [], path]);
139
- }
146
+ const byOrigin = groupBy(graph.paths ?? [], (p) => pathOrigin(p.name).name);
140
147
  return graph.anchorPaths.map((o) => {
141
148
  const pieces = byOrigin.get(o.name);
142
149
  const path = pieces?.length === 1 ? pieces[0] : void 0;
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  clampZoom
3
- } from "./chunk-QXUEF3AJ.js";
3
+ } from "./chunk-KMBE2Q42.js";
4
4
 
5
5
  // src/viewport.ts
6
6
  function axisScaleOf(scale, pixelRows) {