react-msaview 6.4.2 → 7.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (212) hide show
  1. package/README.md +6 -5
  2. package/bundle/index.js +100 -101
  3. package/bundle/index.js.map +4 -4
  4. package/dist/components/Loading.js +2 -2
  5. package/dist/components/Loading.js.map +1 -1
  6. package/dist/components/MSAViewer.d.ts +10 -2
  7. package/dist/components/MSAViewer.js +90 -2
  8. package/dist/components/MSAViewer.js.map +1 -1
  9. package/dist/components/ResizeHandles.d.ts +3 -3
  10. package/dist/components/ResizeHandles.js +28 -21
  11. package/dist/components/ResizeHandles.js.map +1 -1
  12. package/dist/components/dialogs/{InterProScanDialog.d.ts → AnnotationFileDialog.d.ts} +2 -2
  13. package/dist/components/dialogs/AnnotationFileDialog.js +92 -0
  14. package/dist/components/dialogs/AnnotationFileDialog.js.map +1 -0
  15. package/dist/components/dialogs/FeatureDialog.js +13 -9
  16. package/dist/components/dialogs/FeatureDialog.js.map +1 -1
  17. package/dist/components/header/Header.js +4 -0
  18. package/dist/components/header/Header.js.map +1 -1
  19. package/dist/components/header/HeaderStatusArea.js +0 -2
  20. package/dist/components/header/HeaderStatusArea.js.map +1 -1
  21. package/dist/components/header/LoadWarnings.d.ts +6 -0
  22. package/dist/components/header/LoadWarnings.js +36 -0
  23. package/dist/components/header/LoadWarnings.js.map +1 -0
  24. package/dist/components/header/MultiAlignmentSelector.js +0 -0
  25. package/dist/components/header/MultiAlignmentSelector.js.map +1 -1
  26. package/dist/components/header/TreeSettingsMenu.js +9 -1
  27. package/dist/components/header/TreeSettingsMenu.js.map +1 -1
  28. package/dist/components/header/UnshareableDataWarning.d.ts +6 -0
  29. package/dist/components/header/UnshareableDataWarning.js +42 -0
  30. package/dist/components/header/UnshareableDataWarning.js.map +1 -0
  31. package/dist/components/header/getAnnotationsMenu.js +14 -14
  32. package/dist/components/header/getAnnotationsMenu.js.map +1 -1
  33. package/dist/components/import/ImportForm.js +1 -1
  34. package/dist/components/import/ImportForm.js.map +1 -1
  35. package/dist/components/import/ImportFormExamples.js +2 -6
  36. package/dist/components/import/ImportFormExamples.js.map +1 -1
  37. package/dist/components/import/util.js +3 -0
  38. package/dist/components/import/util.js.map +1 -1
  39. package/dist/components/msa/MSACanvasBlock.js +4 -5
  40. package/dist/components/msa/MSACanvasBlock.js.map +1 -1
  41. package/dist/components/msa/msaRaster.d.ts +13 -3
  42. package/dist/components/msa/msaRaster.js +173 -61
  43. package/dist/components/msa/msaRaster.js.map +1 -1
  44. package/dist/components/msa/renderHighlights.d.ts +39 -1
  45. package/dist/components/msa/renderHighlights.js +71 -6
  46. package/dist/components/msa/renderHighlights.js.map +1 -1
  47. package/dist/components/msa/renderMSABlock.d.ts +1 -2
  48. package/dist/components/msa/renderMSABlock.js +24 -28
  49. package/dist/components/msa/renderMSABlock.js.map +1 -1
  50. package/dist/components/msa/renderMSAMouseover.js +9 -30
  51. package/dist/components/msa/renderMSAMouseover.js.map +1 -1
  52. package/dist/components/renderCtx.d.ts +1 -1
  53. package/dist/components/tracks/TrackBlocks.js +10 -11
  54. package/dist/components/tracks/TrackBlocks.js.map +1 -1
  55. package/dist/components/tracks/drawTracks.d.ts +26 -8
  56. package/dist/components/tracks/drawTracks.js +123 -13
  57. package/dist/components/tracks/drawTracks.js.map +1 -1
  58. package/dist/components/tree/TreeCanvas.js +2 -3
  59. package/dist/components/tree/TreeCanvas.js.map +1 -1
  60. package/dist/components/tree/TreeCanvasBlock.js +4 -2
  61. package/dist/components/tree/TreeCanvasBlock.js.map +1 -1
  62. package/dist/components/tree/TreeRuler.js +13 -3
  63. package/dist/components/tree/TreeRuler.js.map +1 -1
  64. package/dist/components/tree/renderTreeCanvas.d.ts +0 -1
  65. package/dist/components/tree/renderTreeCanvas.js +70 -30
  66. package/dist/components/tree/renderTreeCanvas.js.map +1 -1
  67. package/dist/components/tree/scaleBar.d.ts +10 -0
  68. package/dist/components/tree/scaleBar.js +24 -0
  69. package/dist/components/tree/scaleBar.js.map +1 -0
  70. package/dist/constants.d.ts +3 -1
  71. package/dist/constants.js +18 -1
  72. package/dist/constants.js.map +1 -1
  73. package/dist/fetchUtils.d.ts +7 -7
  74. package/dist/fetchUtils.js +4 -32
  75. package/dist/fetchUtils.js.map +1 -1
  76. package/dist/hierarchy.d.ts +2 -1
  77. package/dist/hierarchy.js +16 -10
  78. package/dist/hierarchy.js.map +1 -1
  79. package/dist/index.d.ts +2 -1
  80. package/dist/index.js +8 -2
  81. package/dist/index.js.map +1 -1
  82. package/dist/model/DataModel.js +5 -2
  83. package/dist/model/DataModel.js.map +1 -1
  84. package/dist/model.d.ts +454 -177
  85. package/dist/model.js +1180 -511
  86. package/dist/model.js.map +1 -1
  87. package/dist/renderToStaticMarkup.d.ts +11 -0
  88. package/dist/renderToStaticMarkup.js +30 -7
  89. package/dist/renderToStaticMarkup.js.map +1 -1
  90. package/dist/renderToSvg.js +25 -19
  91. package/dist/renderToSvg.js.map +1 -1
  92. package/dist/rowCoordinateCalculations.d.ts +25 -25
  93. package/dist/rowCoordinateCalculations.js +12 -36
  94. package/dist/rowCoordinateCalculations.js.map +1 -1
  95. package/dist/seqPosToGlobalCol.js +3 -1
  96. package/dist/seqPosToGlobalCol.js.map +1 -1
  97. package/dist/svgTestUtil.d.ts +144 -82
  98. package/dist/types.d.ts +97 -3
  99. package/dist/util.d.ts +11 -4
  100. package/dist/util.js +30 -10
  101. package/dist/util.js.map +1 -1
  102. package/dist/version.d.ts +1 -1
  103. package/dist/version.js +1 -1
  104. package/dist/wuss.d.ts +14 -0
  105. package/dist/wuss.js +55 -0
  106. package/dist/wuss.js.map +1 -0
  107. package/package.json +10 -8
  108. package/src/components/Loading.tsx +12 -2
  109. package/src/components/MSAViewer.tsx +106 -2
  110. package/src/components/ResizeHandles.tsx +31 -31
  111. package/src/components/dialogs/AnnotationFileDialog.tsx +162 -0
  112. package/src/components/dialogs/FeatureDialog.tsx +13 -9
  113. package/src/components/header/Header.tsx +4 -0
  114. package/src/components/header/HeaderStatusArea.tsx +0 -5
  115. package/src/components/header/LoadWarnings.tsx +49 -0
  116. package/src/components/header/MultiAlignmentSelector.tsx +0 -0
  117. package/src/components/header/TreeSettingsMenu.tsx +9 -1
  118. package/src/components/header/UnshareableDataWarning.tsx +58 -0
  119. package/src/components/header/getAnnotationsMenu.ts +16 -17
  120. package/src/components/import/ImportForm.tsx +2 -2
  121. package/src/components/import/ImportFormExamples.tsx +2 -6
  122. package/src/components/import/util.ts +3 -0
  123. package/src/components/msa/MSACanvasBlock.tsx +4 -5
  124. package/src/components/msa/msaRaster.ts +216 -59
  125. package/src/components/msa/renderHighlights.ts +103 -5
  126. package/src/components/msa/renderMSABlock.ts +25 -36
  127. package/src/components/msa/renderMSAMouseover.ts +9 -39
  128. package/src/components/renderCtx.ts +1 -0
  129. package/src/components/tracks/TrackBlocks.tsx +10 -13
  130. package/src/components/tracks/drawTracks.ts +165 -17
  131. package/src/components/tree/TreeCanvas.tsx +2 -3
  132. package/src/components/tree/TreeCanvasBlock.tsx +4 -2
  133. package/src/components/tree/TreeRuler.tsx +38 -3
  134. package/src/components/tree/renderTreeCanvas.ts +79 -35
  135. package/src/components/tree/scaleBar.ts +23 -0
  136. package/src/constants.ts +20 -1
  137. package/src/fetchUtils.ts +7 -40
  138. package/src/hierarchy.ts +20 -11
  139. package/src/index.ts +18 -2
  140. package/src/model/DataModel.ts +6 -2
  141. package/src/model.ts +1352 -616
  142. package/src/rawImports.d.ts +9 -0
  143. package/src/renderToStaticMarkup.ts +34 -7
  144. package/src/renderToSvg.tsx +33 -27
  145. package/src/rowCoordinateCalculations.ts +15 -59
  146. package/src/seqPosToGlobalCol.ts +3 -1
  147. package/src/types.ts +131 -4
  148. package/src/util.ts +31 -14
  149. package/src/version.ts +1 -1
  150. package/src/wuss.ts +62 -0
  151. package/dist/components/dialogs/InterProScanDialog.js +0 -137
  152. package/dist/components/dialogs/InterProScanDialog.js.map +0 -1
  153. package/dist/components/dialogs/InterProScanFileDialog.d.ts +0 -7
  154. package/dist/components/dialogs/InterProScanFileDialog.js +0 -64
  155. package/dist/components/dialogs/InterProScanFileDialog.js.map +0 -1
  156. package/dist/launchInterProScan.d.ts +0 -13
  157. package/dist/launchInterProScan.js +0 -110
  158. package/dist/launchInterProScan.js.map +0 -1
  159. package/dist/useColorContrast.d.ts +0 -10
  160. package/dist/useColorContrast.js +0 -13
  161. package/dist/useColorContrast.js.map +0 -1
  162. package/src/clustalX.test.ts +0 -74
  163. package/src/colSpace.test.ts +0 -67
  164. package/src/collapseLogic.test.ts +0 -115
  165. package/src/colorSchemes.docs.test.ts +0 -57
  166. package/src/columnCounts.test.ts +0 -73
  167. package/src/columnStats.test.ts +0 -94
  168. package/src/columnTracks.test.ts +0 -97
  169. package/src/components/dialogs/InterProScanDialog.tsx +0 -214
  170. package/src/components/dialogs/InterProScanFileDialog.tsx +0 -138
  171. package/src/components/minimap/minimapLayout.test.ts +0 -71
  172. package/src/components/msa/msaRaster.test.ts +0 -145
  173. package/src/components/msa/renderBoxFeatureCanvasBlock.test.ts +0 -51
  174. package/src/components/tree/renderTreeCanvas.test.ts +0 -296
  175. package/src/dataInitialized.test.ts +0 -42
  176. package/src/domainBands.test.ts +0 -122
  177. package/src/domainLetterColor.test.ts +0 -80
  178. package/src/exportFileName.test.ts +0 -40
  179. package/src/fetchUtils.test.ts +0 -83
  180. package/src/flatToTree.test.ts +0 -51
  181. package/src/hierarchy.test.ts +0 -228
  182. package/src/highlights.test.ts +0 -70
  183. package/src/impgRender.test.tsx +0 -68
  184. package/src/largeTree.test.ts +0 -67
  185. package/src/launchInterProScan.ts +0 -167
  186. package/src/loadErrorDisplay.test.tsx +0 -102
  187. package/src/modelFilehandleLoaders.test.ts +0 -137
  188. package/src/modelReset.test.ts +0 -120
  189. package/src/neighborJoining.test.ts +0 -164
  190. package/src/parseAsn1.test.ts +0 -36
  191. package/src/propertyConservation.test.ts +0 -36
  192. package/src/renderColumnTracksSvg.test.tsx +0 -108
  193. package/src/renderDomainsSvg.test.tsx +0 -118
  194. package/src/renderHighlightsSvg.test.tsx +0 -85
  195. package/src/renderMinimapSvg.test.tsx +0 -62
  196. package/src/renderRasterSvg.test.tsx +0 -144
  197. package/src/renderSequenceLogoSvg.test.tsx +0 -165
  198. package/src/renderToSvg.test.tsx +0 -65
  199. package/src/reset.test.ts +0 -61
  200. package/src/rowCoordinateCalculations.test.ts +0 -211
  201. package/src/rowSpace.test.ts +0 -46
  202. package/src/segmentOverlay.test.ts +0 -70
  203. package/src/seqPosToGlobalCol.test.ts +0 -59
  204. package/src/sequenceLogo.test.ts +0 -88
  205. package/src/setFontSize.test.ts +0 -33
  206. package/src/stripDefault.test.ts +0 -48
  207. package/src/stripDefaultSnapshot.test.ts +0 -87
  208. package/src/treeMetadata.test.ts +0 -39
  209. package/src/useCanvasAutorun.test.tsx +0 -98
  210. package/src/useColorContrast.ts +0 -18
  211. package/src/viewChrome.test.tsx +0 -134
  212. package/src/wheelZoom.test.ts +0 -46
@@ -1,4 +1,3 @@
1
- import { isBlank } from './util.js';
2
1
  /**
3
2
  * MSA Coordinate Systems:
4
3
  *
@@ -82,44 +81,21 @@ export function visibleColsBefore(blanks, globalCol) {
82
81
  return globalCol - countBlanksBefore(blanks, globalCol);
83
82
  }
84
83
  /**
85
- * Convert a visible column to a row-specific sequence position.
86
- * Returns undefined if the position is a gap in the sequence.
84
+ * The ungapped position a row holds at a global column, or undefined when that
85
+ * column is a gap in the row or past its end.
87
86
  *
88
- * @param seq - The row's sequence string (including gaps)
89
- * @param blanks - Sorted array of global column indices that are hidden
90
- * @param visibleCol - The visible column index
91
- * @returns The sequence position, or undefined if it's a gap
87
+ * A binary search of the row's seqPos index (ascending), not a scan of the row:
88
+ * this answers on every mouse move, and scanning a 30k-column row per event is
89
+ * the whole frame.
90
+ *
91
+ * @param index - The row's seqPos -> global column index (buildSeqPosIndex)
92
+ * @param globalCol - The global column index in the full MSA
92
93
  */
93
- export function visibleColToSeqPos({ seq, blanks, visibleCol, }) {
94
- // First convert the visible column to global column
95
- const globalCol = visibleColToGlobalCol(blanks, visibleCol);
96
- const seqLen = seq.length;
97
- // Check if the position in the sequence is a gap
98
- if (globalCol < seqLen && isBlank(seq[globalCol])) {
94
+ export function seqPosOfGlobalCol(index, globalCol) {
95
+ if (!index) {
99
96
  return undefined;
100
97
  }
101
- // Count non-gap characters up to the global position
102
- let seqPos = 0;
103
- for (let i = 0; i < globalCol && i < seqLen; i++) {
104
- if (!isBlank(seq[i])) {
105
- seqPos++;
106
- }
107
- }
108
- return globalCol < seqLen ? seqPos : undefined;
109
- }
110
- /**
111
- * Convert a visible column to a row-specific sequence position, with row lookup.
112
- *
113
- * @param rowName - The name of the row
114
- * @param visibleCol - The visible column index
115
- * @param rowMap - Map from row name to sequence string
116
- * @param blanks - Sorted array of global column indices that are hidden
117
- * @returns The sequence position, or undefined if row not found or position is a gap
118
- */
119
- export function visibleColToSeqPosForRow({ rowName, visibleCol, rowMap, blanks, }) {
120
- const seq = rowMap.get(rowName);
121
- return seq !== undefined
122
- ? visibleColToSeqPos({ seq, visibleCol, blanks })
123
- : undefined;
98
+ const seqPos = partitionPoint(index.length, i => index[i] >= globalCol);
99
+ return index[seqPos] === globalCol ? seqPos : undefined;
124
100
  }
125
101
  //# sourceMappingURL=rowCoordinateCalculations.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"rowCoordinateCalculations.js","sourceRoot":"","sources":["../src/rowCoordinateCalculations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rowCoordinateCalculations.js","sourceRoot":"","sources":["../src/rowCoordinateCalculations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH;;;;GAIG;AACH,SAAS,cAAc,CAAC,GAAW,EAAE,IAA4B;IAC/D,IAAI,IAAI,GAAG,CAAC,CAAA;IACZ,IAAI,KAAK,GAAG,GAAG,CAAA;IACf,OAAO,IAAI,GAAG,KAAK,EAAE,CAAC;QACpB,MAAM,GAAG,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAA;QAChC,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACd,KAAK,GAAG,GAAG,CAAA;QACb,CAAC;aAAM,CAAC;YACN,IAAI,GAAG,GAAG,GAAG,CAAC,CAAA;QAChB,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAAgB,EAAE,UAAkB;IACxE,2EAA2E;IAC3E,4EAA4E;IAC5E,6EAA6E;IAC7E,OAAO,CACL,UAAU,GAAG,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAE,GAAG,CAAC,GAAG,UAAU,CAAC,CAC7E,CAAA;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,qBAAqB,CACnC,MAAgB,EAChB,SAAiB;IAEjB,MAAM,YAAY,GAAG,iBAAiB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IACzD,OAAO,MAAM,CAAC,YAAY,CAAC,KAAK,SAAS;QACvC,CAAC,CAAC,SAAS,CAAC,mBAAmB;QAC/B,CAAC,CAAC,SAAS,GAAG,YAAY,CAAA;AAC9B,CAAC;AAED,SAAS,iBAAiB,CAAC,MAAgB,EAAE,SAAiB;IAC5D,OAAO,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAE,IAAI,SAAS,CAAC,CAAA;AACpE,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAgB,EAAE,SAAiB;IACnE,OAAO,SAAS,GAAG,iBAAiB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;AACzD,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,iBAAiB,CAC/B,KAA6B,EAC7B,SAAiB;IAEjB,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAE,IAAI,SAAS,CAAC,CAAA;IACxE,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAA;AACzD,CAAC"}
@@ -19,6 +19,8 @@ export function buildSeqPosIndex(row) {
19
19
  index[n++] = col;
20
20
  }
21
21
  }
22
- return index.subarray(0, n);
22
+ // slice, not subarray: a subarray keeps the whole row-length buffer alive,
23
+ // and a gappy alignment's indexes are held for as long as the parse is
24
+ return index.slice(0, n);
23
25
  }
24
26
  //# sourceMappingURL=seqPosToGlobalCol.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"seqPosToGlobalCol.js","sourceRoot":"","sources":["../src/seqPosToGlobalCol.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAW;IAC1C,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IACxC,IAAI,CAAC,GAAG,CAAC,CAAA;IACT,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC;QAC1C,oEAAoE;QACpE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YAC7C,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAA;QAClB,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AAC7B,CAAC"}
1
+ {"version":3,"file":"seqPosToGlobalCol.js","sourceRoot":"","sources":["../src/seqPosToGlobalCol.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAW;IAC1C,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IACxC,IAAI,CAAC,GAAG,CAAC,CAAA;IACT,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC;QAC1C,oEAAoE;QACpE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YAC7C,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAA;QAClB,CAAC;IACH,CAAC;IACD,2EAA2E;IAC3E,uEAAuE;IACvE,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AAC1B,CAAC"}
@@ -15,7 +15,7 @@ export declare function createTestModel(snapshot: Omit<Snapshot, 'type'>, width?
15
15
  colorSchemeName: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<string>, [undefined]>;
16
16
  showColumnStats: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
17
17
  msaFormat: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<import("msa-parsers").MSAFormat>>;
18
- }, "allowedGappyness" | "colWidth" | "collapsed" | "columnTracks" | "currentAlignment" | "data" | "drawMsaLetters" | "featureFilters" | "gffFilehandle" | "height" | "hideGaps" | "highlightColumns" | "highlights" | "id" | "msaFilehandle" | "relativeTo" | "rowHeight" | "scrollX" | "scrollY" | "scrollZoom" | "showDomainLegend" | "showDomains" | "showOnly" | "subFeatureRows" | "treeFilehandle" | "treeMetadataFilehandle" | "turnedOffTracks" | "type"> & {
18
+ }, "allowedGappyness" | "colWidth" | "collapsed" | "columnTracks" | "currentAlignment" | "data" | "drawMsaLetters" | "gffFilehandle" | "height" | "hideGaps" | "highlightColumns" | "highlights" | "id" | "msaFilehandle" | "relativeTo" | "residueMappings" | "rowHeight" | "scrollX" | "scrollY" | "scrollZoom" | "showDomainLegend" | "showDomains" | "showOnly" | "subFeatureRows" | "treeFilehandle" | "treeMetadataFilehandle" | "turnedOffFeatures" | "turnedOffTracks" | "type"> & {
19
19
  id: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<string>, [undefined]>;
20
20
  showDomains: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
21
21
  showDomainLegend: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
@@ -411,6 +411,7 @@ export declare function createTestModel(snapshot: Omit<Snapshot, 'type'>, width?
411
411
  showOnly: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<string>>;
412
412
  turnedOffTracks: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").IMapType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>>, [undefined]>;
413
413
  columnTracks: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").IArrayType<import("@jbrowse/mobx-state-tree").IType<import("./types.ts").ColumnTrackSpec, import("./types.ts").ColumnTrackSpec, import("./types.ts").ColumnTrackSpec>>, [undefined]>;
414
+ residueMappings: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").IArrayType<import("@jbrowse/mobx-state-tree").IType<import("./types.ts").ResidueMapping, import("./types.ts").ResidueMapping, import("./types.ts").ResidueMapping>>, [undefined]>;
414
415
  data: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").IModelType<{
415
416
  tree: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<string>>;
416
417
  msa: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<string>>;
@@ -424,7 +425,7 @@ export declare function createTestModel(snapshot: Omit<Snapshot, 'type'>, width?
424
425
  }, import("@jbrowse/mobx-state-tree")._NotCustomized, {
425
426
  [k: string]: string | undefined;
426
427
  }>, [undefined]>;
427
- featureFilters: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").IMapType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>>, [undefined]>;
428
+ turnedOffFeatures: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").IMapType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>>, [undefined]>;
428
429
  relativeTo: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<string>>;
429
430
  highlightColumns: import("@jbrowse/mobx-state-tree").IType<number[] | undefined, number[] | undefined, number[] | undefined>;
430
431
  highlights: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").IArrayType<import("@jbrowse/mobx-state-tree").IType<import("./types.ts").Highlight, import("./types.ts").Highlight, import("./types.ts").Highlight>>, [undefined]>;
@@ -454,7 +455,6 @@ export declare function createTestModel(snapshot: Omit<Snapshot, 'type'>, width?
454
455
  headerHeight: number;
455
456
  status: {
456
457
  msg: string;
457
- url?: string;
458
458
  onCancel?: () => void;
459
459
  } | undefined;
460
460
  highResScaleFactor: number;
@@ -472,11 +472,17 @@ export declare function createTestModel(snapshot: Omit<Snapshot, 'type'>, width?
472
472
  descendantNames: string[];
473
473
  } | undefined;
474
474
  highlightedColumns: number[] | undefined;
475
+ transientHighlights: Record<string, import("./types.ts").Highlight[]>;
475
476
  minimapHeight: number;
476
477
  conservationTrackHeight: number;
478
+ columnTrackHeights: Record<string, number>;
477
479
  sequenceLogoTrackHeight: number;
480
+ arcTrackHeight: number;
478
481
  marginLeft: number;
479
482
  error: unknown;
483
+ warnings: string[];
484
+ resetCount: number;
485
+ hostCarriesData: boolean;
480
486
  annotations: import("msa-parsers").Annotation[];
481
487
  } & {
482
488
  drawRelativeTo(id: string | undefined): void;
@@ -488,9 +494,14 @@ export declare function createTestModel(snapshot: Omit<Snapshot, 'type'>, width?
488
494
  setHighResScaleFactor(arg: number): void;
489
495
  setHeight(height: number): void;
490
496
  setError(error?: unknown): void;
497
+ addWarning(warning: string): void;
498
+ clearWarnings(): void;
499
+ setHostCarriesData(arg: boolean): void;
491
500
  setMousePos(col?: number, row?: number): void;
492
501
  setHighlightedColumns(columns?: number[]): void;
493
502
  setHighlights(highlights: import("./types.ts").Highlight[]): void;
503
+ applyHighlight(owner: string, highlights: import("./types.ts").Highlight[]): void;
504
+ clearHighlight(owner: string): void;
494
505
  setShowDomains(arg: boolean): void;
495
506
  setShowDomainLegend(arg: boolean): void;
496
507
  setSubFeatureRows(arg: boolean): void;
@@ -513,14 +524,15 @@ export declare function createTestModel(snapshot: Omit<Snapshot, 'type'>, width?
513
524
  setMSA(result: string): void;
514
525
  setTree(result: string): void;
515
526
  setTreeMetadata(result: string): void;
527
+ setGFF(result: string): void;
516
528
  } & {
517
529
  readonly hideGapsEffective: boolean;
518
530
  readonly realAllowedGappyness: number;
519
531
  readonly actuallyShowDomains: boolean;
532
+ readonly hostRestoresData: boolean;
520
533
  readonly viewInitialized: boolean;
521
534
  readonly width: number;
522
535
  } & {
523
- extraViewMenuItems(): never[];
524
536
  readonly colorScheme: Record<string, string>;
525
537
  readonly header: Record<string, unknown> | {
526
538
  info: string;
@@ -537,6 +549,7 @@ export declare function createTestModel(snapshot: Omit<Snapshot, 'type'>, width?
537
549
  readonly alignmentNames: string[];
538
550
  readonly noTree: boolean;
539
551
  readonly noDomains: boolean;
552
+ readonly unshareableData: import("./types.ts").UnshareableData[];
540
553
  menuItems(): never[];
541
554
  readonly treeMetadata: Record<string, Record<string, string> | undefined>;
542
555
  readonly MSA: import("msa-parsers").MSAParserType | null;
@@ -560,7 +573,7 @@ export declare function createTestModel(snapshot: Omit<Snapshot, 'type'>, width?
560
573
  }[]>;
561
574
  readonly rows: [string, string][];
562
575
  readonly numRows: number;
563
- readonly seqPosGlobalColIndex: Map<string, Int32Array<ArrayBuffer>>;
576
+ seqPosIndex(rowName: string): Int32Array | undefined;
564
577
  readonly rowMap: Map<string, string>;
565
578
  readonly columns: Map<string, string>;
566
579
  readonly columns2d: string[];
@@ -578,29 +591,74 @@ export declare function createTestModel(snapshot: Omit<Snapshot, 'type'>, width?
578
591
  readonly hierarchy: import("./hierarchy.ts").HierarchyNode<import("./types.ts").NodeWithIdsAndLength>;
579
592
  readonly totalHeight: number;
580
593
  readonly leaves: import("./hierarchy.ts").HierarchyNode<import("./types.ts").NodeWithIdsAndLength>[];
594
+ readonly rootToTipLength: number;
581
595
  readonly maxBranchLength: number;
596
+ readonly pxPerBranchLength: number;
582
597
  readonly maxDepthToLeaf: number;
583
598
  readonly allBranchesLength0: boolean;
584
599
  readonly showBranchLenEffective: boolean;
585
600
  } & {
586
601
  readonly totalWidth: number;
602
+ } & {
603
+ readonly showMsaLetters: boolean;
604
+ readonly showTreeText: boolean;
605
+ } & {
606
+ readonly labelWidthMap: Map<string, number>;
607
+ readonly labelWidthScale: number;
608
+ readonly labelsWidth: number;
609
+ readonly secondaryStructureConsensus: string | undefined;
610
+ readonly seqConsensus: string | undefined;
611
+ readonly secondaryStructureArcs: import("./types.ts").Arc[] | undefined;
612
+ readonly adapterTrackModels: import("./types.ts").BasicTrack[];
613
+ readonly columnTrackContent: Map<string, {
614
+ values?: number[];
615
+ data?: string;
616
+ arcs?: import("./types.ts").Arc[];
617
+ }>;
618
+ readonly columnTrackModels: import("./types.ts").BasicTrack[];
619
+ readonly basePairTrackModels: import("./types.ts").BasicTrack[];
620
+ readonly computedTrackModels: import("./types.ts").BasicTrack[];
621
+ readonly tracks: import("./types.ts").BasicTrack[];
622
+ readonly turnedOnTracks: import("./types.ts").BasicTrack[];
623
+ readonly showHorizontalScrollbar: boolean;
624
+ visibleColToRowLetter(rowName: string, visibleCol: number): string | undefined;
625
+ visibleColToSeqPos(rowName: string, visibleCol: number): number | undefined;
626
+ visibleColToSeqPosOneBased(rowName: string, visibleCol: number): number | undefined;
627
+ globalColToVisibleCol(globalCol: number): number | undefined;
628
+ visibleColToGlobalCol(visibleCol: number): number;
629
+ seqPosToGlobalCol(rowName: string, seqPos: number): number | undefined;
630
+ seqPosToVisibleCol(rowName: string, seqPos: number): number | undefined;
631
+ readonly residueMappingProblems: import("./types.ts").ResidueMappingProblem[];
632
+ readonly usableResidueMappings: import("./types.ts").ResidueMapping[];
633
+ readonly mappedStructures: {
634
+ row: string;
635
+ structure: import("./types.ts").MappedStructure;
636
+ }[];
637
+ structureResidue(rowName: string, seqPos: number, structureId?: string): import("./types.ts").StructureResidue | undefined;
638
+ rowResidue(structureId: string, position: number, asymId?: string): import("./types.ts").RowResidue | undefined;
639
+ } & {
640
+ readonly msaAreaHeight: number;
641
+ readonly totalTrackAreaHeight: number;
642
+ readonly annotationTypes: Map<string, import("msa-parsers").Annotation>;
643
+ readonly filteredAnnotations: import("msa-parsers").Annotation[];
644
+ readonly annotationsByRow: Record<string, import("msa-parsers").Annotation[]>;
645
+ } & {
646
+ readonly showVerticalScrollbar: boolean;
587
647
  } & {
588
648
  readonly dataInitialized: boolean;
589
649
  readonly blocksX: number[];
590
650
  readonly blocksY: number[];
591
- readonly visibleMsaHeight: number;
592
651
  } & {
593
652
  readonly blocks2d: (readonly [number, number])[];
594
653
  readonly isLoading: boolean;
595
654
  readonly maxScrollX: number;
596
655
  readonly maxScrollY: number;
597
- readonly showMsaLetters: boolean;
598
- readonly showTreeText: boolean;
599
656
  } & {
600
657
  setDrawMsaLetters(arg: boolean): void;
601
658
  setScrollZoom(arg: boolean): void;
602
659
  setHoveredTreeNode(nodeId?: string): void;
603
660
  calculateNeighborJoiningTreeFromMSA(): void;
661
+ replaceTree(newick: string): void;
604
662
  resetZoom(): void;
605
663
  zoomOutHorizontal(): void;
606
664
  zoomInHorizontal(): void;
@@ -617,41 +675,12 @@ export declare function createTestModel(snapshot: Omit<Snapshot, 'type'>, width?
617
675
  doScrollX(deltaX: number): void;
618
676
  setScrollX(n: number): void;
619
677
  setColumnTracks(tracks: import("./types.ts").ColumnTrackSpec[]): void;
678
+ setResidueMappings(mappings: import("./types.ts").ResidueMapping[]): void;
620
679
  toggleTrack(id: string): void;
621
680
  setStatus(status?: {
622
681
  msg: string;
623
- url?: string;
624
682
  onCancel?: () => void;
625
683
  }): void;
626
- } & {
627
- readonly labelWidthMap: Map<string, number>;
628
- readonly labelWidthScale: number;
629
- readonly labelsWidth: number;
630
- readonly secondaryStructureConsensus: string | undefined;
631
- readonly seqConsensus: string | undefined;
632
- readonly adapterTrackModels: import("./types.ts").BasicTrack[];
633
- readonly columnTrackContent: Map<string, {
634
- values?: number[];
635
- data?: string;
636
- }>;
637
- readonly columnTrackModels: import("./types.ts").BasicTrack[];
638
- readonly tracks: import("./types.ts").BasicTrack[];
639
- readonly turnedOnTracks: import("./types.ts").BasicTrack[];
640
- readonly showHorizontalScrollbar: boolean;
641
- visibleColToRowLetter(rowName: string, visibleCol: number): string | undefined;
642
- visibleColToSeqPos(rowName: string, visibleCol: number): number | undefined;
643
- visibleColToSeqPosOneBased(rowName: string, visibleCol: number): number | undefined;
644
- globalColToVisibleCol(globalCol: number): number | undefined;
645
- seqPosToGlobalCol(rowName: string, seqPos: number): number;
646
- seqPosToVisibleCol(rowName: string, seqPos: number): number | undefined;
647
- } & {
648
- readonly msaAreaHeight: number;
649
- readonly totalTrackAreaHeight: number;
650
- readonly annotationTypes: Map<string, import("msa-parsers").Annotation>;
651
- readonly filteredAnnotations: import("msa-parsers").Annotation[];
652
- readonly annotationsByRow: Record<string, import("msa-parsers").Annotation[]>;
653
- } & {
654
- readonly showVerticalScrollbar: boolean;
655
684
  } & {
656
685
  readonly verticalScrollbarWidth: 0 | 20;
657
686
  readonly msaCanvasWidth: number;
@@ -698,11 +727,12 @@ export declare function createTestModel(snapshot: Omit<Snapshot, 'type'>, width?
698
727
  } & {
699
728
  setHeaderHeight(arg: number): void;
700
729
  setConservationTrackHeight(arg: number): void;
730
+ setColumnTrackHeight(id: string, height: number): void;
701
731
  setSequenceLogoTrackHeight(arg: number): void;
732
+ setArcTrackHeight(arg: number): void;
702
733
  reset(): void;
703
734
  exportSVG(opts: import("./renderToSvg.tsx").ExportSvgOptions): Promise<void>;
704
- initFilter(arg: string): void;
705
- setFilter(arg: string, flag: boolean): void;
735
+ setFilter(accession: string, shown: boolean): void;
706
736
  fit(): void;
707
737
  fitVertically(): void;
708
738
  fitHorizontally(): void;
@@ -721,7 +751,7 @@ export declare function createTestModel(snapshot: Omit<Snapshot, 'type'>, width?
721
751
  colorSchemeName: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<string>, [undefined]>;
722
752
  showColumnStats: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
723
753
  msaFormat: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<import("msa-parsers").MSAFormat>>;
724
- }, "allowedGappyness" | "colWidth" | "collapsed" | "columnTracks" | "currentAlignment" | "data" | "drawMsaLetters" | "featureFilters" | "gffFilehandle" | "height" | "hideGaps" | "highlightColumns" | "highlights" | "id" | "msaFilehandle" | "relativeTo" | "rowHeight" | "scrollX" | "scrollY" | "scrollZoom" | "showDomainLegend" | "showDomains" | "showOnly" | "subFeatureRows" | "treeFilehandle" | "treeMetadataFilehandle" | "turnedOffTracks" | "type"> & {
754
+ }, "allowedGappyness" | "colWidth" | "collapsed" | "columnTracks" | "currentAlignment" | "data" | "drawMsaLetters" | "gffFilehandle" | "height" | "hideGaps" | "highlightColumns" | "highlights" | "id" | "msaFilehandle" | "relativeTo" | "residueMappings" | "rowHeight" | "scrollX" | "scrollY" | "scrollZoom" | "showDomainLegend" | "showDomains" | "showOnly" | "subFeatureRows" | "treeFilehandle" | "treeMetadataFilehandle" | "turnedOffFeatures" | "turnedOffTracks" | "type"> & {
725
755
  id: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<string>, [undefined]>;
726
756
  showDomains: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
727
757
  showDomainLegend: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
@@ -1117,6 +1147,7 @@ export declare function createTestModel(snapshot: Omit<Snapshot, 'type'>, width?
1117
1147
  showOnly: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<string>>;
1118
1148
  turnedOffTracks: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").IMapType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>>, [undefined]>;
1119
1149
  columnTracks: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").IArrayType<import("@jbrowse/mobx-state-tree").IType<import("./types.ts").ColumnTrackSpec, import("./types.ts").ColumnTrackSpec, import("./types.ts").ColumnTrackSpec>>, [undefined]>;
1150
+ residueMappings: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").IArrayType<import("@jbrowse/mobx-state-tree").IType<import("./types.ts").ResidueMapping, import("./types.ts").ResidueMapping, import("./types.ts").ResidueMapping>>, [undefined]>;
1120
1151
  data: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").IModelType<{
1121
1152
  tree: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<string>>;
1122
1153
  msa: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<string>>;
@@ -1130,7 +1161,7 @@ export declare function createTestModel(snapshot: Omit<Snapshot, 'type'>, width?
1130
1161
  }, import("@jbrowse/mobx-state-tree")._NotCustomized, {
1131
1162
  [k: string]: string | undefined;
1132
1163
  }>, [undefined]>;
1133
- featureFilters: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").IMapType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>>, [undefined]>;
1164
+ turnedOffFeatures: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").IMapType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>>, [undefined]>;
1134
1165
  relativeTo: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<string>>;
1135
1166
  highlightColumns: import("@jbrowse/mobx-state-tree").IType<number[] | undefined, number[] | undefined, number[] | undefined>;
1136
1167
  highlights: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").IArrayType<import("@jbrowse/mobx-state-tree").IType<import("./types.ts").Highlight, import("./types.ts").Highlight, import("./types.ts").Highlight>>, [undefined]>;
@@ -1160,7 +1191,6 @@ export declare function createTestModel(snapshot: Omit<Snapshot, 'type'>, width?
1160
1191
  headerHeight: number;
1161
1192
  status: {
1162
1193
  msg: string;
1163
- url?: string;
1164
1194
  onCancel?: () => void;
1165
1195
  } | undefined;
1166
1196
  highResScaleFactor: number;
@@ -1178,11 +1208,17 @@ export declare function createTestModel(snapshot: Omit<Snapshot, 'type'>, width?
1178
1208
  descendantNames: string[];
1179
1209
  } | undefined;
1180
1210
  highlightedColumns: number[] | undefined;
1211
+ transientHighlights: Record<string, import("./types.ts").Highlight[]>;
1181
1212
  minimapHeight: number;
1182
1213
  conservationTrackHeight: number;
1214
+ columnTrackHeights: Record<string, number>;
1183
1215
  sequenceLogoTrackHeight: number;
1216
+ arcTrackHeight: number;
1184
1217
  marginLeft: number;
1185
1218
  error: unknown;
1219
+ warnings: string[];
1220
+ resetCount: number;
1221
+ hostCarriesData: boolean;
1186
1222
  annotations: import("msa-parsers").Annotation[];
1187
1223
  } & {
1188
1224
  drawRelativeTo(id: string | undefined): void;
@@ -1194,9 +1230,14 @@ export declare function createTestModel(snapshot: Omit<Snapshot, 'type'>, width?
1194
1230
  setHighResScaleFactor(arg: number): void;
1195
1231
  setHeight(height: number): void;
1196
1232
  setError(error?: unknown): void;
1233
+ addWarning(warning: string): void;
1234
+ clearWarnings(): void;
1235
+ setHostCarriesData(arg: boolean): void;
1197
1236
  setMousePos(col?: number, row?: number): void;
1198
1237
  setHighlightedColumns(columns?: number[]): void;
1199
1238
  setHighlights(highlights: import("./types.ts").Highlight[]): void;
1239
+ applyHighlight(owner: string, highlights: import("./types.ts").Highlight[]): void;
1240
+ clearHighlight(owner: string): void;
1200
1241
  setShowDomains(arg: boolean): void;
1201
1242
  setShowDomainLegend(arg: boolean): void;
1202
1243
  setSubFeatureRows(arg: boolean): void;
@@ -1219,14 +1260,15 @@ export declare function createTestModel(snapshot: Omit<Snapshot, 'type'>, width?
1219
1260
  setMSA(result: string): void;
1220
1261
  setTree(result: string): void;
1221
1262
  setTreeMetadata(result: string): void;
1263
+ setGFF(result: string): void;
1222
1264
  } & {
1223
1265
  readonly hideGapsEffective: boolean;
1224
1266
  readonly realAllowedGappyness: number;
1225
1267
  readonly actuallyShowDomains: boolean;
1268
+ readonly hostRestoresData: boolean;
1226
1269
  readonly viewInitialized: boolean;
1227
1270
  readonly width: number;
1228
1271
  } & {
1229
- extraViewMenuItems(): never[];
1230
1272
  readonly colorScheme: Record<string, string>;
1231
1273
  readonly header: Record<string, unknown> | {
1232
1274
  info: string;
@@ -1243,6 +1285,7 @@ export declare function createTestModel(snapshot: Omit<Snapshot, 'type'>, width?
1243
1285
  readonly alignmentNames: string[];
1244
1286
  readonly noTree: boolean;
1245
1287
  readonly noDomains: boolean;
1288
+ readonly unshareableData: import("./types.ts").UnshareableData[];
1246
1289
  menuItems(): never[];
1247
1290
  readonly treeMetadata: Record<string, Record<string, string> | undefined>;
1248
1291
  readonly MSA: import("msa-parsers").MSAParserType | null;
@@ -1266,7 +1309,7 @@ export declare function createTestModel(snapshot: Omit<Snapshot, 'type'>, width?
1266
1309
  }[]>;
1267
1310
  readonly rows: [string, string][];
1268
1311
  readonly numRows: number;
1269
- readonly seqPosGlobalColIndex: Map<string, Int32Array<ArrayBuffer>>;
1312
+ seqPosIndex(rowName: string): Int32Array | undefined;
1270
1313
  readonly rowMap: Map<string, string>;
1271
1314
  readonly columns: Map<string, string>;
1272
1315
  readonly columns2d: string[];
@@ -1284,29 +1327,74 @@ export declare function createTestModel(snapshot: Omit<Snapshot, 'type'>, width?
1284
1327
  readonly hierarchy: import("./hierarchy.ts").HierarchyNode<import("./types.ts").NodeWithIdsAndLength>;
1285
1328
  readonly totalHeight: number;
1286
1329
  readonly leaves: import("./hierarchy.ts").HierarchyNode<import("./types.ts").NodeWithIdsAndLength>[];
1330
+ readonly rootToTipLength: number;
1287
1331
  readonly maxBranchLength: number;
1332
+ readonly pxPerBranchLength: number;
1288
1333
  readonly maxDepthToLeaf: number;
1289
1334
  readonly allBranchesLength0: boolean;
1290
1335
  readonly showBranchLenEffective: boolean;
1291
1336
  } & {
1292
1337
  readonly totalWidth: number;
1338
+ } & {
1339
+ readonly showMsaLetters: boolean;
1340
+ readonly showTreeText: boolean;
1341
+ } & {
1342
+ readonly labelWidthMap: Map<string, number>;
1343
+ readonly labelWidthScale: number;
1344
+ readonly labelsWidth: number;
1345
+ readonly secondaryStructureConsensus: string | undefined;
1346
+ readonly seqConsensus: string | undefined;
1347
+ readonly secondaryStructureArcs: import("./types.ts").Arc[] | undefined;
1348
+ readonly adapterTrackModels: import("./types.ts").BasicTrack[];
1349
+ readonly columnTrackContent: Map<string, {
1350
+ values?: number[];
1351
+ data?: string;
1352
+ arcs?: import("./types.ts").Arc[];
1353
+ }>;
1354
+ readonly columnTrackModels: import("./types.ts").BasicTrack[];
1355
+ readonly basePairTrackModels: import("./types.ts").BasicTrack[];
1356
+ readonly computedTrackModels: import("./types.ts").BasicTrack[];
1357
+ readonly tracks: import("./types.ts").BasicTrack[];
1358
+ readonly turnedOnTracks: import("./types.ts").BasicTrack[];
1359
+ readonly showHorizontalScrollbar: boolean;
1360
+ visibleColToRowLetter(rowName: string, visibleCol: number): string | undefined;
1361
+ visibleColToSeqPos(rowName: string, visibleCol: number): number | undefined;
1362
+ visibleColToSeqPosOneBased(rowName: string, visibleCol: number): number | undefined;
1363
+ globalColToVisibleCol(globalCol: number): number | undefined;
1364
+ visibleColToGlobalCol(visibleCol: number): number;
1365
+ seqPosToGlobalCol(rowName: string, seqPos: number): number | undefined;
1366
+ seqPosToVisibleCol(rowName: string, seqPos: number): number | undefined;
1367
+ readonly residueMappingProblems: import("./types.ts").ResidueMappingProblem[];
1368
+ readonly usableResidueMappings: import("./types.ts").ResidueMapping[];
1369
+ readonly mappedStructures: {
1370
+ row: string;
1371
+ structure: import("./types.ts").MappedStructure;
1372
+ }[];
1373
+ structureResidue(rowName: string, seqPos: number, structureId?: string): import("./types.ts").StructureResidue | undefined;
1374
+ rowResidue(structureId: string, position: number, asymId?: string): import("./types.ts").RowResidue | undefined;
1375
+ } & {
1376
+ readonly msaAreaHeight: number;
1377
+ readonly totalTrackAreaHeight: number;
1378
+ readonly annotationTypes: Map<string, import("msa-parsers").Annotation>;
1379
+ readonly filteredAnnotations: import("msa-parsers").Annotation[];
1380
+ readonly annotationsByRow: Record<string, import("msa-parsers").Annotation[]>;
1381
+ } & {
1382
+ readonly showVerticalScrollbar: boolean;
1293
1383
  } & {
1294
1384
  readonly dataInitialized: boolean;
1295
1385
  readonly blocksX: number[];
1296
1386
  readonly blocksY: number[];
1297
- readonly visibleMsaHeight: number;
1298
1387
  } & {
1299
1388
  readonly blocks2d: (readonly [number, number])[];
1300
1389
  readonly isLoading: boolean;
1301
1390
  readonly maxScrollX: number;
1302
1391
  readonly maxScrollY: number;
1303
- readonly showMsaLetters: boolean;
1304
- readonly showTreeText: boolean;
1305
1392
  } & {
1306
1393
  setDrawMsaLetters(arg: boolean): void;
1307
1394
  setScrollZoom(arg: boolean): void;
1308
1395
  setHoveredTreeNode(nodeId?: string): void;
1309
1396
  calculateNeighborJoiningTreeFromMSA(): void;
1397
+ replaceTree(newick: string): void;
1310
1398
  resetZoom(): void;
1311
1399
  zoomOutHorizontal(): void;
1312
1400
  zoomInHorizontal(): void;
@@ -1323,41 +1411,12 @@ export declare function createTestModel(snapshot: Omit<Snapshot, 'type'>, width?
1323
1411
  doScrollX(deltaX: number): void;
1324
1412
  setScrollX(n: number): void;
1325
1413
  setColumnTracks(tracks: import("./types.ts").ColumnTrackSpec[]): void;
1414
+ setResidueMappings(mappings: import("./types.ts").ResidueMapping[]): void;
1326
1415
  toggleTrack(id: string): void;
1327
1416
  setStatus(status?: {
1328
1417
  msg: string;
1329
- url?: string;
1330
1418
  onCancel?: () => void;
1331
1419
  }): void;
1332
- } & {
1333
- readonly labelWidthMap: Map<string, number>;
1334
- readonly labelWidthScale: number;
1335
- readonly labelsWidth: number;
1336
- readonly secondaryStructureConsensus: string | undefined;
1337
- readonly seqConsensus: string | undefined;
1338
- readonly adapterTrackModels: import("./types.ts").BasicTrack[];
1339
- readonly columnTrackContent: Map<string, {
1340
- values?: number[];
1341
- data?: string;
1342
- }>;
1343
- readonly columnTrackModels: import("./types.ts").BasicTrack[];
1344
- readonly tracks: import("./types.ts").BasicTrack[];
1345
- readonly turnedOnTracks: import("./types.ts").BasicTrack[];
1346
- readonly showHorizontalScrollbar: boolean;
1347
- visibleColToRowLetter(rowName: string, visibleCol: number): string | undefined;
1348
- visibleColToSeqPos(rowName: string, visibleCol: number): number | undefined;
1349
- visibleColToSeqPosOneBased(rowName: string, visibleCol: number): number | undefined;
1350
- globalColToVisibleCol(globalCol: number): number | undefined;
1351
- seqPosToGlobalCol(rowName: string, seqPos: number): number;
1352
- seqPosToVisibleCol(rowName: string, seqPos: number): number | undefined;
1353
- } & {
1354
- readonly msaAreaHeight: number;
1355
- readonly totalTrackAreaHeight: number;
1356
- readonly annotationTypes: Map<string, import("msa-parsers").Annotation>;
1357
- readonly filteredAnnotations: import("msa-parsers").Annotation[];
1358
- readonly annotationsByRow: Record<string, import("msa-parsers").Annotation[]>;
1359
- } & {
1360
- readonly showVerticalScrollbar: boolean;
1361
1420
  } & {
1362
1421
  readonly verticalScrollbarWidth: 0 | 20;
1363
1422
  readonly msaCanvasWidth: number;
@@ -1404,11 +1463,12 @@ export declare function createTestModel(snapshot: Omit<Snapshot, 'type'>, width?
1404
1463
  } & {
1405
1464
  setHeaderHeight(arg: number): void;
1406
1465
  setConservationTrackHeight(arg: number): void;
1466
+ setColumnTrackHeight(id: string, height: number): void;
1407
1467
  setSequenceLogoTrackHeight(arg: number): void;
1468
+ setArcTrackHeight(arg: number): void;
1408
1469
  reset(): void;
1409
1470
  exportSVG(opts: import("./renderToSvg.tsx").ExportSvgOptions): Promise<void>;
1410
- initFilter(arg: string): void;
1411
- setFilter(arg: string, flag: boolean): void;
1471
+ setFilter(accession: string, shown: boolean): void;
1412
1472
  fit(): void;
1413
1473
  fitVertically(): void;
1414
1474
  fitHorizontally(): void;
@@ -1525,7 +1585,8 @@ export declare function createTestModel(snapshot: Omit<Snapshot, 'type'>, width?
1525
1585
  collapsed: string[];
1526
1586
  showOnly: string | undefined;
1527
1587
  turnedOffTracks: import("mobx").IKeyValueMap<boolean>;
1528
- featureFilters: import("mobx").IKeyValueMap<boolean>;
1588
+ residueMappings: import("./types.ts").ResidueMapping[];
1589
+ turnedOffFeatures: import("mobx").IKeyValueMap<boolean>;
1529
1590
  relativeTo: string | undefined;
1530
1591
  highlightColumns: number[] | undefined;
1531
1592
  highlights: import("./types.ts").Highlight[];
@@ -1647,7 +1708,8 @@ export declare function createTestModel(snapshot: Omit<Snapshot, 'type'>, width?
1647
1708
  collapsed: string[];
1648
1709
  showOnly: string | undefined;
1649
1710
  turnedOffTracks: import("mobx").IKeyValueMap<boolean>;
1650
- featureFilters: import("mobx").IKeyValueMap<boolean>;
1711
+ residueMappings: import("./types.ts").ResidueMapping[];
1712
+ turnedOffFeatures: import("mobx").IKeyValueMap<boolean>;
1651
1713
  relativeTo: string | undefined;
1652
1714
  highlightColumns: number[] | undefined;
1653
1715
  highlights: import("./types.ts").Highlight[];