jbrowse-plugin-msaview 3.5.0 → 3.7.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 (242) hide show
  1. package/README.md +8 -0
  2. package/dist/AddHighlightModel/index.js +3 -3
  3. package/dist/BgzipFastaMsaAdapter/BgzipFastaMsaAdapter.d.ts +8 -2
  4. package/dist/BgzipFastaMsaAdapter/configSchema.d.ts +3 -3
  5. package/dist/BgzipFastaMsaAdapter/configSchema.js +1 -1
  6. package/dist/LaunchMsaView/cleanProteinSequence.test.d.ts +1 -0
  7. package/dist/LaunchMsaView/cleanProteinSequence.test.js +77 -0
  8. package/dist/LaunchMsaView/codingFeature.d.ts +14 -0
  9. package/dist/LaunchMsaView/codingFeature.js +38 -0
  10. package/dist/LaunchMsaView/codingFeature.test.d.ts +1 -0
  11. package/dist/LaunchMsaView/codingFeature.test.js +75 -0
  12. package/dist/LaunchMsaView/components/BlastQuery/BlastAutomaticPanel.d.ts +3 -1
  13. package/dist/LaunchMsaView/components/BlastQuery/BlastAutomaticPanel.js +47 -55
  14. package/dist/LaunchMsaView/components/BlastQuery/BlastManualPanel.d.ts +3 -1
  15. package/dist/LaunchMsaView/components/BlastQuery/BlastManualPanel.js +16 -17
  16. package/dist/LaunchMsaView/components/BlastQuery/BlastPanel.d.ts +7 -3
  17. package/dist/LaunchMsaView/components/BlastQuery/BlastPanel.js +8 -7
  18. package/dist/LaunchMsaView/components/BlastQuery/BlastSettingsDialog.js +2 -2
  19. package/dist/LaunchMsaView/components/BlastQuery/CachedBlastResults.js +14 -13
  20. package/dist/LaunchMsaView/components/BlastQuery/consts.d.ts +2 -0
  21. package/dist/LaunchMsaView/components/BlastQuery/consts.js +28 -4
  22. package/dist/LaunchMsaView/components/HelpButton.d.ts +2 -0
  23. package/dist/LaunchMsaView/components/HelpButton.js +17 -0
  24. package/dist/LaunchMsaView/components/HelpDialog.d.ts +4 -0
  25. package/dist/LaunchMsaView/components/HelpDialog.js +18 -0
  26. package/dist/LaunchMsaView/components/LaunchMsaViewDialog.d.ts +3 -1
  27. package/dist/LaunchMsaView/components/LaunchMsaViewDialog.js +21 -16
  28. package/dist/LaunchMsaView/components/ManualMSALoader/ManualMSALoader.d.ts +3 -1
  29. package/dist/LaunchMsaView/components/ManualMSALoader/ManualMSALoader.js +34 -26
  30. package/dist/LaunchMsaView/components/OrthologQuery/OrthologPanel.d.ts +3 -1
  31. package/dist/LaunchMsaView/components/OrthologQuery/OrthologPanel.js +30 -26
  32. package/dist/LaunchMsaView/components/OrthologQuery/OrthologSourceSelect.d.ts +2 -1
  33. package/dist/LaunchMsaView/components/OrthologQuery/OrthologSourceSelect.js +18 -2
  34. package/dist/LaunchMsaView/components/OrthologQuery/OrthologSourceSelect.test.d.ts +1 -0
  35. package/dist/LaunchMsaView/components/OrthologQuery/OrthologSourceSelect.test.js +13 -0
  36. package/dist/LaunchMsaView/components/PreLoadedMSA/PreLoadedMSADataPanel.d.ts +3 -1
  37. package/dist/LaunchMsaView/components/PreLoadedMSA/PreLoadedMSADataPanel.js +50 -27
  38. package/dist/LaunchMsaView/components/SequenceStatus.d.ts +14 -0
  39. package/dist/LaunchMsaView/components/SequenceStatus.js +15 -0
  40. package/dist/LaunchMsaView/components/SubmitCancelActions.d.ts +6 -2
  41. package/dist/LaunchMsaView/components/SubmitCancelActions.js +28 -13
  42. package/dist/LaunchMsaView/components/SubmitCancelActions.test.js +52 -4
  43. package/dist/LaunchMsaView/components/TabPanel.js +15 -3
  44. package/dist/LaunchMsaView/components/TabPanel.test.d.ts +1 -0
  45. package/dist/LaunchMsaView/components/TabPanel.test.js +36 -0
  46. package/dist/LaunchMsaView/components/TranscriptSelector.d.ts +3 -1
  47. package/dist/LaunchMsaView/components/TranscriptSelector.js +4 -2
  48. package/dist/LaunchMsaView/components/calculateProteinSequence.d.ts +12 -2
  49. package/dist/LaunchMsaView/components/calculateProteinSequence.js +38 -23
  50. package/dist/LaunchMsaView/components/fetchSeq.d.ts +4 -1
  51. package/dist/LaunchMsaView/components/fetchSeq.js +14 -4
  52. package/dist/LaunchMsaView/components/launchConnectedView.d.ts +23 -0
  53. package/dist/LaunchMsaView/components/launchConnectedView.js +39 -0
  54. package/dist/LaunchMsaView/components/launchPlacement.d.ts +8 -0
  55. package/dist/LaunchMsaView/components/launchPlacement.js +25 -0
  56. package/dist/LaunchMsaView/components/useFeatureSequence.d.ts +2 -0
  57. package/dist/LaunchMsaView/components/useFeatureSequence.js +14 -11
  58. package/dist/LaunchMsaView/components/useTranscriptSelection.d.ts +10 -1
  59. package/dist/LaunchMsaView/components/useTranscriptSelection.js +21 -3
  60. package/dist/LaunchMsaView/components/useTranscriptSelection.test.d.ts +1 -0
  61. package/dist/LaunchMsaView/components/useTranscriptSelection.test.js +57 -0
  62. package/dist/LaunchMsaView/detectQueryRow.js +4 -7
  63. package/dist/LaunchMsaView/index.js +28 -9
  64. package/dist/LaunchMsaView/launchTarget.d.ts +36 -8
  65. package/dist/LaunchMsaView/launchTarget.js +23 -13
  66. package/dist/LaunchMsaView/launchTarget.test.js +80 -15
  67. package/dist/LaunchMsaView/useQueryRowName.d.ts +12 -0
  68. package/dist/LaunchMsaView/useQueryRowName.js +11 -0
  69. package/dist/LaunchMsaView/useQueryRowName.test.js +18 -1
  70. package/dist/LaunchMsaView/util.d.ts +6 -0
  71. package/dist/LaunchMsaView/util.js +12 -3
  72. package/dist/LaunchMsaViewExtensionPoint/index.test.js +15 -0
  73. package/dist/MsaViewPanel/afterCreateAutoruns.d.ts +6 -4
  74. package/dist/MsaViewPanel/afterCreateAutoruns.js +38 -14
  75. package/dist/MsaViewPanel/applyRegion.d.ts +23 -0
  76. package/dist/MsaViewPanel/applyRegion.js +19 -0
  77. package/dist/MsaViewPanel/applyRegion.test.d.ts +1 -0
  78. package/dist/MsaViewPanel/applyRegion.test.js +45 -0
  79. package/dist/MsaViewPanel/components/LaunchProgress.d.ts +4 -3
  80. package/dist/MsaViewPanel/components/LaunchProgress.js +10 -7
  81. package/dist/MsaViewPanel/components/MsaViewPanel.js +7 -3
  82. package/dist/MsaViewPanel/components/MsaViewPanel.test.js +24 -0
  83. package/dist/MsaViewPanel/doLaunchBlast.js +2 -1
  84. package/dist/MsaViewPanel/doLaunchBlast.test.js +12 -0
  85. package/dist/MsaViewPanel/doLaunchOrthologs.test.js +1 -1
  86. package/dist/MsaViewPanel/genomeToMSA.js +24 -6
  87. package/dist/MsaViewPanel/genomeToMSA.test.js +218 -44
  88. package/dist/MsaViewPanel/launchAutoruns.test.d.ts +1 -0
  89. package/dist/MsaViewPanel/launchAutoruns.test.js +36 -0
  90. package/dist/MsaViewPanel/model.d.ts +156 -61
  91. package/dist/MsaViewPanel/model.js +69 -3
  92. package/dist/MsaViewPanel/model.test.js +66 -0
  93. package/dist/MsaViewPanel/msaDataStore.d.ts +5 -3
  94. package/dist/MsaViewPanel/msaDataStore.js +3 -12
  95. package/dist/MsaViewPanel/msaDataStore.test.js +8 -1
  96. package/dist/MsaViewPanel/observeProteinHighlights.test.js +4 -4
  97. package/dist/MsaViewPanel/regionSnapshot.test.d.ts +1 -0
  98. package/dist/MsaViewPanel/regionSnapshot.test.js +29 -0
  99. package/dist/MsaViewPanel/resolveConnectedTranscript.d.ts +41 -4
  100. package/dist/MsaViewPanel/resolveConnectedTranscript.js +109 -68
  101. package/dist/MsaViewPanel/resolveConnectedTranscript.test.d.ts +1 -0
  102. package/dist/MsaViewPanel/resolveConnectedTranscript.test.js +149 -0
  103. package/dist/MsaViewPanel/runLaunch.d.ts +8 -4
  104. package/dist/MsaViewPanel/runLaunch.js +15 -4
  105. package/dist/MsaViewPanel/runLaunch.test.js +16 -0
  106. package/dist/MsaViewPanel/storedData.test.js +43 -0
  107. package/dist/MsaViewPanel/syncGenomeHoverToMsaColumn.test.js +15 -7
  108. package/dist/MsaViewPanel/util.d.ts +23 -23
  109. package/dist/MsaViewPanel/util.js +23 -24
  110. package/dist/index.d.ts +11 -11
  111. package/dist/index.js +17 -10
  112. package/dist/jbrowse-plugin-msaview.umd.production.min.js +54 -67
  113. package/dist/jbrowse-plugin-msaview.umd.production.min.js.map +4 -4
  114. package/dist/utils/blastCache.d.ts +26 -2
  115. package/dist/utils/blastCache.js +51 -39
  116. package/dist/utils/blastCache.test.js +46 -19
  117. package/dist/utils/domainCache.d.ts +1 -1
  118. package/dist/utils/domainCache.js +18 -14
  119. package/dist/utils/ebiJobDispatcher.d.ts +11 -0
  120. package/dist/utils/ebiJobDispatcher.js +12 -13
  121. package/dist/utils/ebiJobDispatcher.test.js +17 -3
  122. package/dist/utils/eutils.d.ts +14 -0
  123. package/dist/utils/eutils.js +48 -14
  124. package/dist/utils/eutils.test.d.ts +1 -0
  125. package/dist/utils/eutils.test.js +31 -0
  126. package/dist/utils/idb.d.ts +16 -3
  127. package/dist/utils/idb.js +51 -5
  128. package/dist/utils/idb.test.d.ts +1 -0
  129. package/dist/utils/idb.test.js +78 -0
  130. package/dist/utils/ncbiDomains.js +4 -4
  131. package/dist/utils/ncbiOrthologs.d.ts +1 -1
  132. package/dist/utils/ncbiOrthologs.js +18 -17
  133. package/dist/utils/ncbiOrthologs.test.js +17 -1
  134. package/dist/utils/ncbiTaxonomy.js +14 -15
  135. package/dist/utils/taxonomyNames.js +23 -19
  136. package/dist/utils/taxonomyNames.test.d.ts +1 -0
  137. package/dist/utils/taxonomyNames.test.js +33 -0
  138. package/dist/utils/unirefHomologs.js +2 -2
  139. package/dist/utils/unirefHomologs.test.js +8 -1
  140. package/dist/version.d.ts +1 -1
  141. package/dist/version.js +1 -1
  142. package/package.json +23 -23
  143. package/src/AddHighlightModel/index.tsx +1 -1
  144. package/src/BgzipFastaMsaAdapter/configSchema.ts +1 -1
  145. package/src/LaunchMsaView/cleanProteinSequence.test.ts +91 -0
  146. package/src/LaunchMsaView/codingFeature.test.ts +96 -0
  147. package/src/LaunchMsaView/codingFeature.ts +49 -0
  148. package/src/LaunchMsaView/components/BlastQuery/BlastAutomaticPanel.tsx +60 -56
  149. package/src/LaunchMsaView/components/BlastQuery/BlastManualPanel.tsx +18 -15
  150. package/src/LaunchMsaView/components/BlastQuery/BlastPanel.tsx +24 -11
  151. package/src/LaunchMsaView/components/BlastQuery/BlastSettingsDialog.tsx +4 -4
  152. package/src/LaunchMsaView/components/BlastQuery/CachedBlastResults.tsx +16 -15
  153. package/src/LaunchMsaView/components/BlastQuery/consts.ts +31 -4
  154. package/src/LaunchMsaView/components/HelpButton.tsx +33 -0
  155. package/src/LaunchMsaView/components/HelpDialog.tsx +78 -0
  156. package/src/LaunchMsaView/components/LaunchMsaViewDialog.tsx +54 -34
  157. package/src/LaunchMsaView/components/ManualMSALoader/ManualMSALoader.tsx +46 -23
  158. package/src/LaunchMsaView/components/OrthologQuery/OrthologPanel.tsx +41 -28
  159. package/src/LaunchMsaView/components/OrthologQuery/OrthologSourceSelect.test.ts +16 -0
  160. package/src/LaunchMsaView/components/OrthologQuery/OrthologSourceSelect.tsx +24 -2
  161. package/src/LaunchMsaView/components/PreLoadedMSA/PreLoadedMSADataPanel.tsx +81 -25
  162. package/src/LaunchMsaView/components/SequenceStatus.tsx +29 -0
  163. package/src/LaunchMsaView/components/SubmitCancelActions.test.tsx +88 -4
  164. package/src/LaunchMsaView/components/SubmitCancelActions.tsx +43 -16
  165. package/src/LaunchMsaView/components/TabPanel.test.tsx +51 -0
  166. package/src/LaunchMsaView/components/TabPanel.tsx +16 -4
  167. package/src/LaunchMsaView/components/TranscriptSelector.tsx +6 -1
  168. package/src/LaunchMsaView/components/calculateProteinSequence.ts +51 -22
  169. package/src/LaunchMsaView/components/fetchSeq.ts +25 -5
  170. package/src/LaunchMsaView/components/launchConnectedView.ts +56 -0
  171. package/src/LaunchMsaView/components/launchPlacement.tsx +41 -0
  172. package/src/LaunchMsaView/components/useFeatureSequence.ts +18 -11
  173. package/src/LaunchMsaView/components/useTranscriptSelection.test.tsx +66 -0
  174. package/src/LaunchMsaView/components/useTranscriptSelection.ts +41 -2
  175. package/src/LaunchMsaView/detectQueryRow.ts +5 -7
  176. package/src/LaunchMsaView/index.ts +32 -13
  177. package/src/LaunchMsaView/launchTarget.test.ts +88 -15
  178. package/src/LaunchMsaView/launchTarget.ts +49 -14
  179. package/src/LaunchMsaView/useQueryRowName.test.ts +28 -1
  180. package/src/LaunchMsaView/useQueryRowName.ts +17 -0
  181. package/src/LaunchMsaView/util.ts +15 -5
  182. package/src/LaunchMsaViewExtensionPoint/index.test.ts +16 -0
  183. package/src/LaunchMsaViewExtensionPoint/index.ts +28 -1
  184. package/src/MsaViewPanel/afterCreateAutoruns.ts +46 -14
  185. package/src/MsaViewPanel/applyRegion.test.ts +55 -0
  186. package/src/MsaViewPanel/applyRegion.ts +33 -0
  187. package/src/MsaViewPanel/components/LaunchProgress.tsx +12 -5
  188. package/src/MsaViewPanel/components/MsaViewPanel.test.tsx +26 -0
  189. package/src/MsaViewPanel/components/MsaViewPanel.tsx +7 -5
  190. package/src/MsaViewPanel/doLaunchBlast.test.ts +20 -1
  191. package/src/MsaViewPanel/doLaunchBlast.ts +2 -1
  192. package/src/MsaViewPanel/doLaunchOrthologs.test.ts +1 -1
  193. package/src/MsaViewPanel/genomeToMSA.test.ts +255 -59
  194. package/src/MsaViewPanel/genomeToMSA.ts +30 -5
  195. package/src/MsaViewPanel/launchAutoruns.test.ts +45 -0
  196. package/src/MsaViewPanel/model.test.ts +75 -0
  197. package/src/MsaViewPanel/model.ts +76 -3
  198. package/src/MsaViewPanel/msaDataStore.test.ts +14 -2
  199. package/src/MsaViewPanel/msaDataStore.ts +4 -12
  200. package/src/MsaViewPanel/observeProteinHighlights.test.ts +4 -4
  201. package/src/MsaViewPanel/regionSnapshot.test.ts +34 -0
  202. package/src/MsaViewPanel/resolveConnectedTranscript.test.ts +183 -0
  203. package/src/MsaViewPanel/resolveConnectedTranscript.ts +160 -67
  204. package/src/MsaViewPanel/runLaunch.test.ts +19 -0
  205. package/src/MsaViewPanel/runLaunch.ts +21 -4
  206. package/src/MsaViewPanel/storedData.test.ts +58 -0
  207. package/src/MsaViewPanel/syncGenomeHoverToMsaColumn.test.ts +17 -7
  208. package/src/MsaViewPanel/util.ts +38 -29
  209. package/src/index.ts +19 -10
  210. package/src/utils/blastCache.test.ts +59 -20
  211. package/src/utils/blastCache.ts +62 -39
  212. package/src/utils/domainCache.ts +27 -15
  213. package/src/utils/ebiJobDispatcher.test.ts +18 -3
  214. package/src/utils/ebiJobDispatcher.ts +12 -16
  215. package/src/utils/eutils.test.ts +39 -0
  216. package/src/utils/eutils.ts +64 -14
  217. package/src/utils/idb.test.ts +106 -0
  218. package/src/utils/idb.ts +57 -5
  219. package/src/utils/ncbiDomains.ts +4 -4
  220. package/src/utils/ncbiOrthologs.test.ts +20 -0
  221. package/src/utils/ncbiOrthologs.ts +26 -28
  222. package/src/utils/ncbiTaxonomy.ts +17 -20
  223. package/src/utils/taxonomyNames.test.ts +41 -0
  224. package/src/utils/taxonomyNames.ts +33 -19
  225. package/src/utils/unirefHomologs.test.ts +11 -1
  226. package/src/utils/unirefHomologs.ts +2 -2
  227. package/src/version.ts +1 -1
  228. package/dist/LaunchMsaView/components/BlastQuery/blastLaunchView.d.ts +0 -16
  229. package/dist/LaunchMsaView/components/BlastQuery/blastLaunchView.js +0 -31
  230. package/dist/LaunchMsaView/components/ManualMSALoader/launchView.d.ts +0 -16
  231. package/dist/LaunchMsaView/components/ManualMSALoader/launchView.js +0 -16
  232. package/dist/LaunchMsaView/components/OrthologQuery/orthologLaunchView.d.ts +0 -9
  233. package/dist/LaunchMsaView/components/OrthologQuery/orthologLaunchView.js +0 -15
  234. package/dist/LaunchMsaView/components/PreLoadedMSA/preCalculatedLaunchView.d.ts +0 -11
  235. package/dist/LaunchMsaView/components/PreLoadedMSA/preCalculatedLaunchView.js +0 -21
  236. package/dist/LaunchMsaView/components/geneticCodes.d.ts +0 -15
  237. package/dist/LaunchMsaView/components/geneticCodes.js +0 -227
  238. package/src/LaunchMsaView/components/BlastQuery/blastLaunchView.ts +0 -59
  239. package/src/LaunchMsaView/components/ManualMSALoader/launchView.ts +0 -43
  240. package/src/LaunchMsaView/components/OrthologQuery/orthologLaunchView.ts +0 -31
  241. package/src/LaunchMsaView/components/PreLoadedMSA/preCalculatedLaunchView.ts +0 -38
  242. package/src/LaunchMsaView/components/geneticCodes.ts +0 -298
@@ -7,6 +7,7 @@ import type { TranscriptRef } from './util';
7
7
  import type { MenuItem } from '@jbrowse/core/ui';
8
8
  import type { Instance } from '@jbrowse/mobx-state-tree';
9
9
  import type { LinearGenomeViewModel } from '@jbrowse/plugin-linear-genome-view';
10
+ import type { Region } from 'react-msaview';
10
11
  type LGV = LinearGenomeViewModel;
11
12
  type MaybeLGV = LGV | undefined;
12
13
  export interface IRegion {
@@ -110,8 +111,8 @@ export interface OrthologParams {
110
111
  export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").IModelType<Omit<Omit<{
111
112
  id: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<string>, [undefined]>;
112
113
  displayName: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<string>>;
113
- minimized: import("@jbrowse/mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
114
- }, "id" | "type" | "autoTreeAreaWidth" | "drawLabels" | "drawNodeBubbles" | "drawTree" | "labelsAlignRight" | "showBranchLen" | "treeAreaWidth" | "treeWidth" | "bgColor" | "colorSchemeName" | "msaFormat" | "showColumnStats" | "allowedGappyness" | "colWidth" | "collapsed" | "columnTracks" | "currentAlignment" | "data" | "drawMsaLetters" | "gffFilehandle" | "height" | "hideGaps" | "highlightColumns" | "highlights" | "msaFilehandle" | "relativeTo" | "residueMappings" | "rowHeight" | "scrollX" | "scrollY" | "scrollZoom" | "showDomainLegend" | "showDomains" | "showOnly" | "subFeatureRows" | "treeFilehandle" | "treeMetadataFilehandle" | "turnedOffFeatures" | "turnedOffTracks"> & Omit<Omit<Omit<{}, "autoTreeAreaWidth" | "drawLabels" | "drawNodeBubbles" | "drawTree" | "labelsAlignRight" | "showBranchLen" | "treeAreaWidth" | "treeWidth"> & {
114
+ minimized: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
115
+ }, "id" | "type" | "autoTreeAreaWidth" | "drawLabels" | "drawNodeBubbles" | "drawNodeLabels" | "drawTree" | "labelsAlignRight" | "overviewHeight" | "showBranchLen" | "showTreeOverview" | "treeAreaWidth" | "treeWidth" | "bgColor" | "colorSchemeName" | "msaFormat" | "showColumnStats" | "allowedGappyness" | "clades" | "colWidth" | "collapsed" | "columnTracks" | "currentAlignment" | "data" | "drawMsaLetters" | "encodings" | "gffFilehandle" | "height" | "hideGaps" | "highlightColumns" | "highlights" | "msaFilehandle" | "relativeTo" | "residueMappings" | "rowHeight" | "rowPanels" | "scrollX" | "scrollY" | "scrollZoom" | "scrollZoomAxis" | "showDomainLegend" | "showDomains" | "showOnly" | "subFeatureRows" | "trackHeights" | "treeFilehandle" | "treeMetadataFilehandle" | "turnedOffFeatures" | "turnedOffTracks"> & Omit<Omit<Omit<{}, "autoTreeAreaWidth" | "drawLabels" | "drawNodeBubbles" | "drawNodeLabels" | "drawTree" | "labelsAlignRight" | "overviewHeight" | "showBranchLen" | "showTreeOverview" | "treeAreaWidth" | "treeWidth"> & {
115
116
  drawLabels: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
116
117
  labelsAlignRight: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
117
118
  treeAreaWidth: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<number>, [undefined]>;
@@ -119,22 +120,26 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
119
120
  showBranchLen: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
120
121
  drawTree: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
121
122
  drawNodeBubbles: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
123
+ drawNodeLabels: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
124
+ showTreeOverview: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
125
+ overviewHeight: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<number>, [undefined]>;
122
126
  autoTreeAreaWidth: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
123
127
  }, "bgColor" | "colorSchemeName" | "msaFormat" | "showColumnStats"> & {
124
128
  bgColor: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
125
129
  colorSchemeName: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<string>, [undefined]>;
126
130
  showColumnStats: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
127
- msaFormat: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<import("react-msaview").MSAFormat>>;
128
- }, "id" | "type" | "allowedGappyness" | "colWidth" | "collapsed" | "columnTracks" | "currentAlignment" | "data" | "drawMsaLetters" | "gffFilehandle" | "height" | "hideGaps" | "highlightColumns" | "highlights" | "msaFilehandle" | "relativeTo" | "residueMappings" | "rowHeight" | "scrollX" | "scrollY" | "scrollZoom" | "showDomainLegend" | "showDomains" | "showOnly" | "subFeatureRows" | "treeFilehandle" | "treeMetadataFilehandle" | "turnedOffFeatures" | "turnedOffTracks"> & {
131
+ msaFormat: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<import("msa-parsers").MSAFormat>>;
132
+ }, "id" | "type" | "allowedGappyness" | "clades" | "colWidth" | "collapsed" | "columnTracks" | "currentAlignment" | "data" | "drawMsaLetters" | "encodings" | "gffFilehandle" | "height" | "hideGaps" | "highlightColumns" | "highlights" | "msaFilehandle" | "relativeTo" | "residueMappings" | "rowHeight" | "rowPanels" | "scrollX" | "scrollY" | "scrollZoom" | "scrollZoomAxis" | "showDomainLegend" | "showDomains" | "showOnly" | "subFeatureRows" | "trackHeights" | "treeFilehandle" | "treeMetadataFilehandle" | "turnedOffFeatures" | "turnedOffTracks"> & {
129
133
  id: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<string>, [undefined]>;
130
134
  showDomains: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
131
135
  showDomainLegend: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
132
136
  hideGaps: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
133
137
  allowedGappyness: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<number>, [undefined]>;
134
138
  subFeatureRows: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
135
- type: import("@jbrowse/mobx-state-tree").ISimpleType<"MsaView">;
139
+ type: import("@jbrowse/mobx-state-tree").ILiteralType<"MsaView">;
136
140
  drawMsaLetters: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
137
141
  scrollZoom: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
142
+ scrollZoomAxis: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<"both" | "horizontal" | "vertical">, [undefined]>;
138
143
  height: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<number>, [undefined]>;
139
144
  rowHeight: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<number>, [undefined]>;
140
145
  scrollY: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<number>, [undefined]>;
@@ -520,6 +525,7 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
520
525
  collapsed: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").IArrayType<import("@jbrowse/mobx-state-tree").ISimpleType<string>>, [undefined]>;
521
526
  showOnly: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<string>>;
522
527
  turnedOffTracks: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").IMapType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>>, [undefined]>;
528
+ trackHeights: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").IMapType<import("@jbrowse/mobx-state-tree").ISimpleType<number>>, [undefined]>;
523
529
  columnTracks: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").IArrayType<import("@jbrowse/mobx-state-tree").IType<import("react-msaview").ColumnTrackSpec, import("react-msaview").ColumnTrackSpec, import("react-msaview").ColumnTrackSpec>>, [undefined]>;
524
530
  residueMappings: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").IArrayType<import("@jbrowse/mobx-state-tree").IType<import("react-msaview").ResidueMapping, import("react-msaview").ResidueMapping, import("react-msaview").ResidueMapping>>, [undefined]>;
525
531
  data: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").IModelType<{
@@ -539,7 +545,10 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
539
545
  relativeTo: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<string>>;
540
546
  highlightColumns: import("@jbrowse/mobx-state-tree").IType<number[] | undefined, number[] | undefined, number[] | undefined>;
541
547
  highlights: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").IArrayType<import("@jbrowse/mobx-state-tree").IType<import("react-msaview").Highlight, import("react-msaview").Highlight, import("react-msaview").Highlight>>, [undefined]>;
542
- }, "init" | "querySeqName" | "querySeqOffset" | "zoomToBaseLevel" | "connectedViewId" | "connectedFeature" | "connectedTranscript" | "blastParams" | "orthologParams" | "uniprotId" | "dataStoreId" | "mafRegion"> & {
548
+ clades: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").IArrayType<import("@jbrowse/mobx-state-tree").IType<import("react-msaview").Clade, import("react-msaview").Clade, import("react-msaview").Clade>>, [undefined]>;
549
+ encodings: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").IArrayType<import("@jbrowse/mobx-state-tree").IType<import("react-msaview").Encoding, import("react-msaview").Encoding, import("react-msaview").Encoding>>, [undefined]>;
550
+ rowPanels: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").IArrayType<import("@jbrowse/mobx-state-tree").IType<import("react-msaview").RowPanelSpec, import("react-msaview").RowPanelSpec, import("react-msaview").RowPanelSpec>>, [undefined]>;
551
+ }, "init" | "querySeqName" | "querySeqOffset" | "zoomToBaseLevel" | "launchCompleted" | "connectedViewId" | "connectedFeature" | "connectedTranscript" | "blastParams" | "orthologParams" | "uniprotId" | "dataStoreId" | "mafRegion" | "region"> & {
543
552
  connectedViewId: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<string>>;
544
553
  connectedFeature: import("@jbrowse/mobx-state-tree").IType<any, any, any>;
545
554
  connectedTranscript: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<string>>;
@@ -551,14 +560,21 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
551
560
  zoomToBaseLevel: import("@jbrowse/mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
552
561
  init: import("@jbrowse/mobx-state-tree").IType<MsaViewInitState | undefined, MsaViewInitState | undefined, MsaViewInitState | undefined>;
553
562
  dataStoreId: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<string>>;
563
+ launchCompleted: import("@jbrowse/mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
554
564
  mafRegion: import("@jbrowse/mobx-state-tree").IType<MafRegion | undefined, MafRegion | undefined, MafRegion | undefined>;
565
+ region: import("@jbrowse/mobx-state-tree").IType<Region | undefined, Region | undefined, Region | undefined>;
555
566
  }, {
556
567
  width: number;
568
+ bodyMounted: boolean;
557
569
  } & {
570
+ readonly effectiveBodyMounted: boolean;
558
571
  menuItems(): MenuItem[];
572
+ readonly ownTracks: import("@jbrowse/core/util").AbstractTrackModel[];
573
+ readonly ownViews: import("@jbrowse/core/util").AbstractViewModel[];
559
574
  } & {
560
575
  setDisplayName(name: string): void;
561
576
  setWidth(newWidth: number): void;
577
+ setBodyMounted(flag: boolean): void;
562
578
  setMinimized(flag: boolean): void;
563
579
  } & {
564
580
  queueOfDialogs: [import("@jbrowse/core/util").DialogComponentType, any][];
@@ -576,14 +592,18 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
576
592
  setAutoTreeAreaWidth(arg: boolean): void;
577
593
  setShowBranchLen(arg: boolean): void;
578
594
  setDrawNodeBubbles(arg: boolean): void;
595
+ setDrawNodeLabels(arg: boolean): void;
596
+ setShowTreeOverview(arg: boolean): void;
597
+ setOverviewHeight(n: number): void;
579
598
  setDrawLabels(arg: boolean): void;
580
599
  } & {
581
600
  setColorSchemeName(name: string): void;
582
601
  setBgColor(arg: boolean): void;
583
602
  setShowColumnStats(arg: boolean): void;
584
- setMSAFormat(arg?: import("react-msaview").MSAFormat): void;
603
+ setMSAFormat(arg?: import("msa-parsers").MSAFormat): void;
585
604
  } & {
586
605
  headerHeight: number;
606
+ hideHeader: boolean;
587
607
  status: {
588
608
  msg: string;
589
609
  onCancel?: () => void;
@@ -605,16 +625,12 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
605
625
  highlightedColumns: number[] | undefined;
606
626
  transientHighlights: Record<string, import("react-msaview").Highlight[]>;
607
627
  minimapHeight: number;
608
- conservationTrackHeight: number;
609
- columnTrackHeights: Record<string, number>;
610
- sequenceLogoTrackHeight: number;
611
- arcTrackHeight: number;
612
628
  marginLeft: number;
613
629
  error: unknown;
614
630
  warnings: string[];
615
631
  resetCount: number;
616
632
  hostCarriesData: boolean;
617
- annotations: import("react-msaview").Annotation[];
633
+ annotations: import("msa-parsers").Annotation[];
618
634
  } & {
619
635
  drawRelativeTo(id: string | undefined): void;
620
636
  setHideGaps(arg: boolean): void;
@@ -631,6 +647,7 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
631
647
  setMousePos(col?: number, row?: number): void;
632
648
  setHighlightedColumns(columns?: number[]): void;
633
649
  setHighlights(highlights: import("react-msaview").Highlight[]): void;
650
+ setClades(clades: import("react-msaview").Clade[]): void;
634
651
  applyHighlight(owner: string, highlights: import("react-msaview").Highlight[]): void;
635
652
  clearHighlight(owner: string): void;
636
653
  setShowDomains(arg: boolean): void;
@@ -682,12 +699,16 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
682
699
  readonly noDomains: boolean;
683
700
  readonly unshareableData: import("react-msaview").UnshareableData[];
684
701
  menuItems(): never[];
685
- readonly treeMetadata: Record<string, Record<string, string> | undefined>;
686
- readonly MSA: import("react-msaview").MSAParserType | null;
702
+ readonly rowData: Record<string, Record<string, string> | undefined>;
703
+ rowDataOf(name: string): Record<string, string> | undefined;
704
+ readonly rowFields: string[];
705
+ readonly MSA: import("msa-parsers").MSAParserType | null;
687
706
  readonly numColumns: number;
688
707
  readonly tree: import("react-msaview").NodeWithIds;
689
708
  readonly rowNames: string[];
690
709
  readonly rowNamesSet: Map<string, number>;
710
+ readonly resolvedClades: import("react-msaview").ResolvedClade[];
711
+ readonly cladeGutterWidth: number;
691
712
  readonly mouseOverRowName: string | undefined;
692
713
  readonly hoveredInsertion: {
693
714
  rowName: string;
@@ -695,6 +716,21 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
695
716
  letters: string;
696
717
  } | undefined;
697
718
  readonly root: import("react-msaview").HierarchyNode<import("react-msaview").NodeWithIds>;
719
+ readonly treeOverviewHeight: number;
720
+ readonly treeOverviewLayout: {
721
+ root: import("react-msaview").HierarchyNode<import("react-msaview").NodeWithIds>;
722
+ numTips: number;
723
+ maxDepthToLeaf: number;
724
+ showBranchLen: boolean;
725
+ } | undefined;
726
+ readonly treeOverviewClades: import("react-msaview").ResolvedClade[];
727
+ readonly treeOverviewFocusRows: [number, number] | undefined;
728
+ treeOverviewHit(y: number): {
729
+ id: string;
730
+ rows: [number, number];
731
+ } | undefined;
732
+ readonly rowPanelsWidth: number;
733
+ readonly rowPanelsHeaderHeight: 0 | 56;
698
734
  readonly msaAreaWidth: number;
699
735
  readonly treeAreaWidthMinusMargin: number;
700
736
  readonly blanks: number[];
@@ -733,6 +769,15 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
733
769
  } & {
734
770
  readonly showMsaLetters: boolean;
735
771
  readonly showTreeText: boolean;
772
+ } & {
773
+ readonly columnTrackContent: Map<string, {
774
+ values?: number[];
775
+ data?: string;
776
+ arcs?: import("react-msaview").Arc[];
777
+ }>;
778
+ trackHeight(kind: import("react-msaview").TrackKind, heightKey?: string, given?: number): number;
779
+ columnTrackModel(track: import("react-msaview").ColumnTrackSpec): import("react-msaview").BasicTrack;
780
+ readonly columnTrackModels: import("react-msaview").BasicTrack[];
736
781
  } & {
737
782
  readonly labelWidthMap: Map<string, number>;
738
783
  readonly labelWidthScale: number;
@@ -741,12 +786,6 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
741
786
  readonly seqConsensus: string | undefined;
742
787
  readonly secondaryStructureArcs: import("react-msaview").Arc[] | undefined;
743
788
  readonly adapterTrackModels: import("react-msaview").BasicTrack[];
744
- readonly columnTrackContent: Map<string, {
745
- values?: number[];
746
- data?: string;
747
- arcs?: import("react-msaview").Arc[];
748
- }>;
749
- readonly columnTrackModels: import("react-msaview").BasicTrack[];
750
789
  readonly basePairTrackModels: import("react-msaview").BasicTrack[];
751
790
  readonly computedTrackModels: import("react-msaview").BasicTrack[];
752
791
  readonly tracks: import("react-msaview").BasicTrack[];
@@ -759,6 +798,10 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
759
798
  visibleColToGlobalCol(visibleCol: number): number;
760
799
  seqPosToGlobalCol(rowName: string, seqPos: number): number | undefined;
761
800
  seqPosToVisibleCol(rowName: string, seqPos: number): number | undefined;
801
+ visibleSpan({ row, start: rawStart, end: rawEnd }: Region): {
802
+ startCol: number;
803
+ endCol: number;
804
+ } | undefined;
762
805
  readonly residueMappingProblems: import("react-msaview").ResidueMappingProblem[];
763
806
  readonly usableResidueMappings: import("react-msaview").ResidueMapping[];
764
807
  readonly mappedStructures: {
@@ -768,11 +811,17 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
768
811
  structureResidue(rowName: string, seqPos: number, structureId?: string): import("react-msaview").StructureResidue | undefined;
769
812
  rowResidue(structureId: string, position: number, asymId?: string): import("react-msaview").RowResidue | undefined;
770
813
  } & {
814
+ readonly treeScaleBar: {
815
+ step: number;
816
+ px: number;
817
+ label: string;
818
+ } | undefined;
819
+ readonly topBandHeight: number;
771
820
  readonly msaAreaHeight: number;
772
821
  readonly totalTrackAreaHeight: number;
773
- readonly annotationTypes: Map<string, import("react-msaview").Annotation>;
774
- readonly filteredAnnotations: import("react-msaview").Annotation[];
775
- readonly annotationsByRow: Record<string, import("react-msaview").Annotation[]>;
822
+ readonly annotationTypes: Map<string, import("msa-parsers").Annotation>;
823
+ readonly filteredAnnotations: import("msa-parsers").Annotation[];
824
+ readonly annotationsByRow: Record<string, import("msa-parsers").Annotation[]>;
776
825
  } & {
777
826
  readonly showVerticalScrollbar: boolean;
778
827
  } & {
@@ -784,9 +833,11 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
784
833
  readonly isLoading: boolean;
785
834
  readonly maxScrollX: number;
786
835
  readonly maxScrollY: number;
836
+ readonly wheelZoomAxis: "both" | "horizontal" | "vertical";
787
837
  } & {
788
838
  setDrawMsaLetters(arg: boolean): void;
789
839
  setScrollZoom(arg: boolean): void;
840
+ setScrollZoomAxis(arg: "both" | "horizontal" | "vertical"): void;
790
841
  setHoveredTreeNode(nodeId?: string): void;
791
842
  calculateNeighborJoiningTreeFromMSA(): void;
792
843
  replaceTree(newick: string): void;
@@ -797,15 +848,18 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
797
848
  zoomOutVertical(): void;
798
849
  zoomIn(): void;
799
850
  zoomOut(): void;
800
- zoomToPos(scaleFactor: number, offsetX: number, offsetY: number): void;
851
+ zoomToPos(scaleFactor: number, offsetX: number, offsetY: number, axis?: "both" | "horizontal" | "vertical"): void;
801
852
  doScrollY(deltaY: number): void;
802
853
  setScrollY(n: number): void;
803
- setAnnotations(annotations: import("react-msaview").Annotation[]): void;
804
- setDomains(data?: Record<string, import("react-msaview").InterProScanResults>): void;
854
+ setAnnotations(annotations: import("msa-parsers").Annotation[]): void;
855
+ setDomains(data?: Record<string, import("msa-parsers").InterProScanResults>): void;
805
856
  applyGFFText(gffText: string): void;
806
857
  doScrollX(deltaX: number): void;
807
858
  setScrollX(n: number): void;
808
859
  setColumnTracks(tracks: import("react-msaview").ColumnTrackSpec[]): void;
860
+ setRowData(rowData: Record<string, Record<string, string>>): void;
861
+ setEncodings(encodings: import("react-msaview").Encoding[]): void;
862
+ setRowPanels(panels: import("react-msaview").RowPanelSpec[]): void;
809
863
  setResidueMappings(mappings: import("react-msaview").ResidueMapping[]): void;
810
864
  toggleTrack(id: string): void;
811
865
  setStatus(status?: {
@@ -815,19 +869,28 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
815
869
  } & {
816
870
  readonly verticalScrollbarWidth: 0 | 20;
817
871
  readonly msaCanvasWidth: number;
818
- readonly segmentDomainTypes: import("react-msaview").Annotation[];
819
- readonly categoricalDomainTypes: import("react-msaview").Annotation[];
872
+ cellAt(visibleCol: number, rowIndex?: number): import("react-msaview").Cell;
873
+ readonly hoveredCell: import("react-msaview").Cell | undefined;
874
+ readonly clickedCell: import("react-msaview").Cell | undefined;
875
+ readonly viewport: import("react-msaview").Viewport | undefined;
876
+ readonly segmentDomainTypes: import("msa-parsers").Annotation[];
877
+ readonly categoricalDomainTypes: import("msa-parsers").Annotation[];
820
878
  readonly fillPalette: {
821
879
  [x: string]: string;
822
880
  };
823
- readonly strokePalette: {
824
- [k: string]: string;
825
- };
881
+ readonly featureFillEncoding: import("react-msaview").ResolvedEncoding | undefined;
882
+ readonly featureColors: Map<import("msa-parsers").Annotation, {
883
+ fill: string;
884
+ stroke: string;
885
+ }>;
886
+ readonly featureLabels: Map<import("msa-parsers").Annotation, string> | undefined;
826
887
  readonly segmentLabels: Map<string, string>;
827
- readonly visibleDomainTypes: import("react-msaview").Annotation[];
888
+ readonly visibleDomainTypes: import("msa-parsers").Annotation[];
889
+ readonly legends: import("react-msaview").Legend[];
890
+ readonly domainUnderline: boolean;
828
891
  readonly domainBands: Map<string, import("react-msaview").DomainBand[]>;
829
892
  readonly domainBandsByStart: Map<string, import("react-msaview").DomainBand[]>;
830
- readonly mouseOverDomains: import("react-msaview").Annotation[];
893
+ readonly mouseOverDomains: import("msa-parsers").Annotation[];
831
894
  readonly referenceRowIndex: number | undefined;
832
895
  readonly hoveredRowIndices: number[];
833
896
  readonly highlightedColumnRuns: {
@@ -835,37 +898,32 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
835
898
  end: number;
836
899
  }[];
837
900
  readonly resolvedHighlights: import("react-msaview").ResolvedHighlight[];
838
- readonly mouseOverColumnStats: {
839
- col: number;
840
- total: number;
841
- gaps: number;
842
- gapFraction: number;
843
- conservation: number;
844
- propertyConservation: number | undefined;
845
- consensusLetter: string;
846
- consensusCount: number;
847
- consensusFraction: number;
848
- distribution: [string, number][];
849
- } | undefined;
901
+ columnStatsAt(col: number): import("react-msaview").ColumnStats | undefined;
850
902
  getRowData(name: string): {
851
903
  data: {
852
904
  name?: string;
853
905
  accession?: string;
854
906
  dbxref?: string;
855
907
  } | undefined;
856
- treeMetadata: Record<string, string> | undefined;
908
+ rowData: Record<string, string> | undefined;
857
909
  };
910
+ readonly resolvedEncodings: import("react-msaview").ResolvedEncoding[];
911
+ readonly resolvedRowPanels: import("react-msaview").ResolvedRowPanel[];
912
+ readonly featureAlignShifts: Map<string, Map<string, number>>;
913
+ readonly tipLabelColors: Map<string, string> | undefined;
914
+ readonly rowTints: (string | undefined)[] | undefined;
915
+ readonly branchColors: Map<string, string> | undefined;
858
916
  } & {
859
917
  setHeaderHeight(arg: number): void;
860
- setConservationTrackHeight(arg: number): void;
861
- setColumnTrackHeight(id: string, height: number): void;
862
- setSequenceLogoTrackHeight(arg: number): void;
863
- setArcTrackHeight(arg: number): void;
918
+ setHideHeader(arg: boolean): void;
919
+ treeOverviewClick(y: number): void;
920
+ setTrackHeight(heightKey: string, height: number): void;
864
921
  reset(): void;
865
922
  exportSVG(opts: import("react-msaview").ExportSvgOptions): Promise<void>;
866
923
  setFilter(accession: string, shown: boolean): void;
867
924
  fit(): void;
868
925
  fitVertically(): void;
926
+ zoomToRegion(region: Region): void;
869
927
  fitHorizontally(): void;
870
928
  afterCreate(): void;
871
929
  } & {
@@ -911,6 +969,19 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
911
969
  * to draw the same highlights in its own display
912
970
  */
913
971
  readonly connectedHighlights: IRegion[];
972
+ } & {
973
+ /**
974
+ * #getter
975
+ * overrides base
976
+ *
977
+ * react-msaview drops any snapshot document over 50kb and warns that a
978
+ * link to the view opens without it. True for an alignment this browser
979
+ * is holding in IndexedDB; wrong for an indexed view, whose kept `init`
980
+ * names a bgzip block over HTTP that processInit refetches wherever the
981
+ * session is opened -- so that one showed "Not in the link" about an
982
+ * alignment the link does carry.
983
+ */
984
+ readonly hostRestoresData: boolean;
914
985
  } & {
915
986
  /**
916
987
  * #action
@@ -956,10 +1027,18 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
956
1027
  * #action
957
1028
  */
958
1029
  setDataStoreId(arg?: string): void;
1030
+ /**
1031
+ * #action
1032
+ */
1033
+ setLaunchCompleted(arg: boolean): void;
959
1034
  /**
960
1035
  * #action
961
1036
  */
962
1037
  setMafRegion(arg?: MafRegion): void;
1038
+ /**
1039
+ * #action
1040
+ */
1041
+ setRegion(arg?: Region): void;
963
1042
  /**
964
1043
  * #action
965
1044
  */
@@ -988,9 +1067,13 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
988
1067
  cancelLaunch(): void;
989
1068
  /**
990
1069
  * #action
991
- * Run the failed request again. The request IS the params, so re-stating
992
- * them is the whole retry: each is a frozen property, and a fresh object
993
- * is a change the launch autoruns wake on.
1070
+ * Run the request again. The request IS the params, so re-stating them is
1071
+ * the whole retry: each is a frozen property, and a fresh object is a
1072
+ * change the launch autoruns wake on.
1073
+ *
1074
+ * A launch that already succeeded keeps its params and is marked
1075
+ * `launchCompleted`, so clearing that mark is the whole retry for a view
1076
+ * whose stored alignment expired.
994
1077
  */
995
1078
  retryLaunch(): void;
996
1079
  /**
@@ -1028,15 +1111,11 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
1028
1111
  menuItems(): MenuItem[];
1029
1112
  } & {
1030
1113
  afterCreate(): void;
1031
- }, import("@jbrowse/mobx-state-tree")._NotCustomized, import("@jbrowse/mobx-state-tree").ModelSnapshotType<{
1032
- id: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<string>, [undefined]>;
1033
- displayName: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<string>>;
1034
- minimized: import("@jbrowse/mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
1035
- }> & (({
1114
+ }, import("@jbrowse/mobx-state-tree")._NotCustomized, ({
1036
1115
  bgColor: boolean;
1037
1116
  colorSchemeName: string;
1038
1117
  showColumnStats: boolean;
1039
- msaFormat: import("react-msaview").MSAFormat | undefined;
1118
+ msaFormat: import("msa-parsers").MSAFormat | undefined;
1040
1119
  drawLabels: boolean;
1041
1120
  labelsAlignRight: boolean;
1042
1121
  treeAreaWidth: number;
@@ -1044,6 +1123,9 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
1044
1123
  showBranchLen: boolean;
1045
1124
  drawTree: boolean;
1046
1125
  drawNodeBubbles: boolean;
1126
+ drawNodeLabels: boolean;
1127
+ showTreeOverview: boolean;
1128
+ overviewHeight: number;
1047
1129
  autoTreeAreaWidth: boolean;
1048
1130
  columnTracks: import("react-msaview").ColumnTrackSpec[];
1049
1131
  id: string;
@@ -1055,6 +1137,7 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
1055
1137
  type: "MsaView";
1056
1138
  drawMsaLetters: boolean;
1057
1139
  scrollZoom: boolean;
1140
+ scrollZoomAxis: "both" | "horizontal" | "vertical";
1058
1141
  height: number;
1059
1142
  rowHeight: number;
1060
1143
  scrollY: number;
@@ -1144,11 +1227,15 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
1144
1227
  collapsed: string[];
1145
1228
  showOnly: string | undefined;
1146
1229
  turnedOffTracks: import("mobx").IKeyValueMap<boolean>;
1230
+ trackHeights: import("mobx").IKeyValueMap<number>;
1147
1231
  residueMappings: import("react-msaview").ResidueMapping[];
1148
1232
  turnedOffFeatures: import("mobx").IKeyValueMap<boolean>;
1149
1233
  relativeTo: string | undefined;
1150
1234
  highlightColumns: number[] | undefined;
1151
1235
  highlights: import("react-msaview").Highlight[];
1236
+ clades: import("react-msaview").Clade[];
1237
+ encodings: import("react-msaview").Encoding[];
1238
+ rowPanels: import("react-msaview").RowPanelSpec[];
1152
1239
  data: {
1153
1240
  tree?: string | undefined;
1154
1241
  msa?: string | undefined;
@@ -1159,7 +1246,7 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
1159
1246
  bgColor: boolean;
1160
1247
  colorSchemeName: string;
1161
1248
  showColumnStats: boolean;
1162
- msaFormat: import("react-msaview").MSAFormat | undefined;
1249
+ msaFormat: import("msa-parsers").MSAFormat | undefined;
1163
1250
  drawLabels: boolean;
1164
1251
  labelsAlignRight: boolean;
1165
1252
  treeAreaWidth: number;
@@ -1167,6 +1254,9 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
1167
1254
  showBranchLen: boolean;
1168
1255
  drawTree: boolean;
1169
1256
  drawNodeBubbles: boolean;
1257
+ drawNodeLabels: boolean;
1258
+ showTreeOverview: boolean;
1259
+ overviewHeight: number;
1170
1260
  autoTreeAreaWidth: boolean;
1171
1261
  columnTracks?: undefined;
1172
1262
  id: string;
@@ -1178,6 +1268,7 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
1178
1268
  type: "MsaView";
1179
1269
  drawMsaLetters: boolean;
1180
1270
  scrollZoom: boolean;
1271
+ scrollZoomAxis: "both" | "horizontal" | "vertical";
1181
1272
  height: number;
1182
1273
  rowHeight: number;
1183
1274
  scrollY: number;
@@ -1267,18 +1358,22 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
1267
1358
  collapsed: string[];
1268
1359
  showOnly: string | undefined;
1269
1360
  turnedOffTracks: import("mobx").IKeyValueMap<boolean>;
1361
+ trackHeights: import("mobx").IKeyValueMap<number>;
1270
1362
  residueMappings: import("react-msaview").ResidueMapping[];
1271
1363
  turnedOffFeatures: import("mobx").IKeyValueMap<boolean>;
1272
1364
  relativeTo: string | undefined;
1273
1365
  highlightColumns: number[] | undefined;
1274
1366
  highlights: import("react-msaview").Highlight[];
1367
+ clades: import("react-msaview").Clade[];
1368
+ encodings: import("react-msaview").Encoding[];
1369
+ rowPanels: import("react-msaview").RowPanelSpec[];
1275
1370
  data: {
1276
1371
  tree?: string | undefined;
1277
1372
  msa?: string | undefined;
1278
1373
  treeMetadata?: string | undefined;
1279
1374
  gff?: string | undefined;
1280
1375
  };
1281
- } & import("@jbrowse/mobx-state-tree")._NotCustomized))>;
1376
+ } & import("@jbrowse/mobx-state-tree")._NotCustomized)>;
1282
1377
  export type JBrowsePluginMsaViewStateModel = ReturnType<typeof stateModelFactory>;
1283
1378
  export type JBrowsePluginMsaViewModel = Instance<JBrowsePluginMsaViewStateModel>;
1284
1379
  export { type MafRegion, type MsaViewInitState } from './types';
@@ -5,6 +5,7 @@ import { genomeToTranscriptSeqMapping } from 'g2p_mapper';
5
5
  import { autorun } from 'mobx';
6
6
  import { MSAModelF } from 'react-msaview';
7
7
  import { autoLoadProteinDomains, launchBlastIfNeeded, launchOrthologsIfNeeded, loadStoredData, observeProteinHighlights, processInit, runCleanup, storeDataToIndexedDB, syncGenomeHoverToMsaColumn, } from './afterCreateAutoruns';
8
+ import { applyRegion } from './applyRegion';
8
9
  import { msaCoordToGenomeCoord, msaCoordToGenomeRegions, } from './msaCoordToGenomeCoord';
9
10
  import { deleteMsaData } from './msaDataStore';
10
11
  import { resolveConnectedTranscriptIfNeeded } from './resolveConnectedTranscript';
@@ -86,10 +87,34 @@ export default function stateModelFactory() {
86
87
  * #property
87
88
  */
88
89
  dataStoreId: types.maybe(types.string),
90
+ /**
91
+ * #property
92
+ * whether the request above has already produced this view's alignment.
93
+ *
94
+ * The params used to be cleared to mark that, which threw away the only
95
+ * statement of what the view is: browser storage expires an alignment
96
+ * after 7 days, and the view could then only tell the user to start
97
+ * over from the gene. A flag says the same thing and duplicates
98
+ * nothing, where a kept copy of the request put a second protein
99
+ * sequence and a second exon model in every saved session.
100
+ *
101
+ * A snapshot property rather than a volatile, because the case it
102
+ * exists for is by construction a later session: expiry is discovered
103
+ * by `loadStoredData` on restore, and a volatile would be false there
104
+ * and refire the whole search unasked.
105
+ */
106
+ launchCompleted: false,
89
107
  /**
90
108
  * #property
91
109
  */
92
110
  mafRegion: types.frozen(),
111
+ /**
112
+ * #property
113
+ * where the view opens: 1-based residues of `row`, or alignment
114
+ * columns without one. Zoomed onto once and then cleared, so a
115
+ * reloaded session keeps the reader's own scroll.
116
+ */
117
+ region: types.frozen(),
93
118
  }))
94
119
  .volatile(() => ({
95
120
  /**
@@ -182,6 +207,26 @@ export default function stateModelFactory() {
182
207
  ...this.connectedClickHighlights,
183
208
  ];
184
209
  },
210
+ }))
211
+ .views(self => ({
212
+ /**
213
+ * #getter
214
+ * overrides base
215
+ *
216
+ * react-msaview drops any snapshot document over 50kb and warns that a
217
+ * link to the view opens without it. True for an alignment this browser
218
+ * is holding in IndexedDB; wrong for an indexed view, whose kept `init`
219
+ * names a bgzip block over HTTP that processInit refetches wherever the
220
+ * session is opened -- so that one showed "Not in the link" about an
221
+ * alignment the link does carry.
222
+ */
223
+ get hostRestoresData() {
224
+ const { msaIndexedLocation, msaName } = self.init ?? {};
225
+ // `hostCarriesData` first: it is the base answer, the volatile a simple
226
+ // host flips, and overriding the getter without it threw that switch
227
+ // away for every view this one does not speak for
228
+ return self.hostCarriesData || !!(msaIndexedLocation && msaName);
229
+ },
185
230
  }))
186
231
  .actions(self => ({
187
232
  /**
@@ -250,12 +295,24 @@ export default function stateModelFactory() {
250
295
  setDataStoreId(arg) {
251
296
  self.dataStoreId = arg;
252
297
  },
298
+ /**
299
+ * #action
300
+ */
301
+ setLaunchCompleted(arg) {
302
+ self.launchCompleted = arg;
303
+ },
253
304
  /**
254
305
  * #action
255
306
  */
256
307
  setMafRegion(arg) {
257
308
  self.mafRegion = arg;
258
309
  },
310
+ /**
311
+ * #action
312
+ */
313
+ setRegion(arg) {
314
+ self.region = arg;
315
+ },
259
316
  /**
260
317
  * #action
261
318
  */
@@ -295,15 +352,20 @@ export default function stateModelFactory() {
295
352
  self.blastParams = undefined;
296
353
  self.orthologParams = undefined;
297
354
  self.init = undefined;
355
+ self.launchCompleted = false;
298
356
  self.progress = '';
299
357
  self.rid = undefined;
300
358
  self.error = undefined;
301
359
  },
302
360
  /**
303
361
  * #action
304
- * Run the failed request again. The request IS the params, so re-stating
305
- * them is the whole retry: each is a frozen property, and a fresh object
306
- * is a change the launch autoruns wake on.
362
+ * Run the request again. The request IS the params, so re-stating them is
363
+ * the whole retry: each is a frozen property, and a fresh object is a
364
+ * change the launch autoruns wake on.
365
+ *
366
+ * A launch that already succeeded keeps its params and is marked
367
+ * `launchCompleted`, so clearing that mark is the whole retry for a view
368
+ * whose stored alignment expired.
307
369
  */
308
370
  retryLaunch() {
309
371
  self.launchController?.abort();
@@ -311,6 +373,7 @@ export default function stateModelFactory() {
311
373
  self.progress = '';
312
374
  self.rid = undefined;
313
375
  self.error = undefined;
376
+ self.launchCompleted = false;
314
377
  if (self.blastParams) {
315
378
  self.blastParams = { ...self.blastParams };
316
379
  }
@@ -444,6 +507,9 @@ export default function stateModelFactory() {
444
507
  // so they're factories returning the autorun body rather than plain fns
445
508
  addDisposer(self, autorun(syncGenomeHoverToMsaColumn(self)));
446
509
  addDisposer(self, autorun(observeProteinHighlights(self)));
510
+ addDisposer(self, autorun(() => {
511
+ applyRegion(self);
512
+ }));
447
513
  },
448
514
  }));
449
515
  }