react-msaview 9.1.0 → 9.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundle/index.js +111 -115
- package/bundle/index.js.map +4 -4
- package/dist/blosum62.d.ts +3 -0
- package/dist/blosum62.js +43 -0
- package/dist/blosum62.js.map +1 -0
- package/dist/colorSchemes.js +1 -0
- package/dist/colorSchemes.js.map +1 -1
- package/dist/components/Loading.d.ts +3 -2
- package/dist/components/Loading.js +2 -2
- package/dist/components/Loading.js.map +1 -1
- package/dist/components/MSAView.d.ts +3 -2
- package/dist/components/MSAView.js +7 -4
- package/dist/components/MSAView.js.map +1 -1
- package/dist/components/MSAViewer.d.ts +62 -12
- package/dist/components/MetadataTable.d.ts +4 -1
- package/dist/components/MetadataTable.js +55 -16
- package/dist/components/MetadataTable.js.map +1 -1
- package/dist/components/Track.js +6 -0
- package/dist/components/Track.js.map +1 -1
- package/dist/components/controls.js +2 -1
- package/dist/components/controls.js.map +1 -1
- package/dist/components/dialogs/AnnotationFileDialog.js +7 -2
- package/dist/components/dialogs/AnnotationFileDialog.js.map +1 -1
- package/dist/components/dialogs/FeatureDialog.js +2 -2
- package/dist/components/dialogs/FeatureDialog.js.map +1 -1
- package/dist/components/{header/MSASettingsMenu.d.ts → dialogs/GapThresholdDialog.d.ts} +3 -2
- package/dist/components/dialogs/GapThresholdDialog.js +15 -0
- package/dist/components/dialogs/GapThresholdDialog.js.map +1 -0
- package/dist/components/{header → dialogs}/GappynessSlider.d.ts +1 -1
- package/dist/components/{header → dialogs}/GappynessSlider.js +3 -10
- package/dist/components/dialogs/GappynessSlider.js.map +1 -0
- package/dist/components/{header → dialogs}/GoToBox.d.ts +4 -2
- package/dist/components/dialogs/GoToBox.js +48 -0
- package/dist/components/dialogs/GoToBox.js.map +1 -0
- package/dist/components/dialogs/GoToDialog.d.ts +6 -0
- package/dist/components/dialogs/GoToDialog.js +10 -0
- package/dist/components/dialogs/GoToDialog.js.map +1 -0
- package/dist/components/dialogs/MetadataDialog.js +11 -3
- package/dist/components/dialogs/MetadataDialog.js.map +1 -1
- package/dist/components/dialogs/goTo.d.ts +5 -0
- package/dist/components/{header → dialogs}/goTo.js +1 -1
- package/dist/components/dialogs/goTo.js.map +1 -0
- package/dist/components/dialogs/metadataLabels.d.ts +4 -0
- package/dist/components/dialogs/metadataLabels.js +52 -0
- package/dist/components/dialogs/metadataLabels.js.map +1 -0
- package/dist/components/dialogs/metadataRecord.d.ts +1 -0
- package/dist/components/dialogs/metadataRecord.js +38 -0
- package/dist/components/dialogs/metadataRecord.js.map +1 -0
- package/dist/components/header/Header.d.ts +6 -2
- package/dist/components/header/Header.js +30 -32
- package/dist/components/header/Header.js.map +1 -1
- package/dist/components/header/{TreeSettingsMenu.d.ts → HiddenColumnsChip.d.ts} +2 -2
- package/dist/components/header/HiddenColumnsChip.js +15 -0
- package/dist/components/header/HiddenColumnsChip.js.map +1 -0
- package/dist/components/header/MenuBar.d.ts +6 -0
- package/dist/components/header/MenuBar.js +33 -0
- package/dist/components/header/MenuBar.js.map +1 -0
- package/dist/components/header/ScrollZoomCheckbox.d.ts +7 -0
- package/dist/components/header/ScrollZoomCheckbox.js +19 -0
- package/dist/components/header/ScrollZoomCheckbox.js.map +1 -0
- package/dist/components/header/ZoomControls.js +10 -30
- package/dist/components/header/ZoomControls.js.map +1 -1
- package/dist/components/header/colorSchemeMenuItems.d.ts +4 -0
- package/dist/components/header/colorSchemeMenuItems.js +106 -0
- package/dist/components/header/colorSchemeMenuItems.js.map +1 -0
- package/dist/components/header/getAnnotationsMenu.d.ts +3 -30
- package/dist/components/header/getAnnotationsMenu.js +48 -54
- package/dist/components/header/getAnnotationsMenu.js.map +1 -1
- package/dist/components/header/menuBarItems.d.ts +11 -0
- package/dist/components/header/menuBarItems.js +277 -0
- package/dist/components/header/menuBarItems.js.map +1 -0
- package/dist/components/import/ImportForm.js +12 -6
- package/dist/components/import/ImportForm.js.map +1 -1
- package/dist/components/minimap/Minimap.js +7 -3
- package/dist/components/minimap/Minimap.js.map +1 -1
- package/dist/components/minimap/MinimapSVG.js +2 -1
- package/dist/components/minimap/MinimapSVG.js.map +1 -1
- package/dist/components/minimap/minimapLayout.d.ts +12 -0
- package/dist/components/minimap/minimapLayout.js +20 -0
- package/dist/components/minimap/minimapLayout.js.map +1 -1
- package/dist/components/msa/MSACanvas.js +26 -9
- package/dist/components/msa/MSACanvas.js.map +1 -1
- package/dist/components/msa/MSACanvasBlock.js +15 -11
- package/dist/components/msa/MSACanvasBlock.js.map +1 -1
- package/dist/components/msa/MSAMouseoverCanvas.js +2 -2
- package/dist/components/msa/MSAMouseoverCanvas.js.map +1 -1
- package/dist/components/msa/WheelZoomHint.d.ts +7 -0
- package/dist/components/msa/WheelZoomHint.js +38 -0
- package/dist/components/msa/WheelZoomHint.js.map +1 -0
- package/dist/components/msa/msaKeys.js +3 -0
- package/dist/components/msa/msaKeys.js.map +1 -1
- package/dist/components/msa/msaRaster.d.ts +4 -5
- package/dist/components/msa/msaRaster.js +5 -5
- package/dist/components/msa/msaRaster.js.map +1 -1
- package/dist/components/msa/renderBoxFeatureCanvasBlock.js +22 -2
- package/dist/components/msa/renderBoxFeatureCanvasBlock.js.map +1 -1
- package/dist/components/msa/renderHighlights.d.ts +0 -3
- package/dist/components/msa/renderHighlights.js +3 -3
- package/dist/components/msa/renderHighlights.js.map +1 -1
- package/dist/components/msa/renderMSABlock.d.ts +6 -1
- package/dist/components/msa/renderMSABlock.js +44 -17
- package/dist/components/msa/renderMSABlock.js.map +1 -1
- package/dist/components/msa/tileColor.js +7 -0
- package/dist/components/msa/tileColor.js.map +1 -1
- package/dist/components/rowpanels/RowPanelBlock.js +2 -2
- package/dist/components/rowpanels/RowPanelBlock.js.map +1 -1
- package/dist/components/settings/MenuItemsForm.d.ts +10 -0
- package/dist/components/settings/MenuItemsForm.js +80 -0
- package/dist/components/settings/MenuItemsForm.js.map +1 -0
- package/dist/components/settings/SettingsPanel.d.ts +12 -0
- package/dist/components/settings/SettingsPanel.js +92 -0
- package/dist/components/settings/SettingsPanel.js.map +1 -0
- package/dist/components/{header/FileMenu.d.ts → settings/TrackList.d.ts} +2 -2
- package/dist/components/settings/TrackList.js +55 -0
- package/dist/components/settings/TrackList.js.map +1 -0
- package/dist/components/tracks/TrackBlocks.js +2 -2
- package/dist/components/tracks/TrackBlocks.js.map +1 -1
- package/dist/components/tree/TreeCanvasBlock.js +2 -2
- package/dist/components/tree/TreeCanvasBlock.js.map +1 -1
- package/dist/components/tree/TreeMenu.js +4 -6
- package/dist/components/tree/TreeMenu.js.map +1 -1
- package/dist/components/tree/TreeOverview.js +2 -2
- package/dist/components/tree/TreeOverview.js.map +1 -1
- package/dist/constants.d.ts +4 -1
- package/dist/constants.js +7 -1
- package/dist/constants.js.map +1 -1
- package/dist/darkReader.d.ts +7 -0
- package/dist/darkReader.js +42 -0
- package/dist/darkReader.js.map +1 -0
- package/dist/element.js +22 -47
- package/dist/element.js.map +1 -1
- package/dist/featurePanels.d.ts +37 -0
- package/dist/featurePanels.js +187 -0
- package/dist/featurePanels.js.map +1 -0
- package/dist/filehandleLoader.d.ts +41 -0
- package/dist/filehandleLoader.js +99 -0
- package/dist/filehandleLoader.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/model/treeModel.d.ts +9 -0
- package/dist/model/treeModel.js +12 -1
- package/dist/model/treeModel.js.map +1 -1
- package/dist/model.d.ts +142 -32
- package/dist/model.js +268 -569
- package/dist/model.js.map +1 -1
- package/dist/neighborJoining.js +1 -40
- package/dist/neighborJoining.js.map +1 -1
- package/dist/renderToSvg.js +1 -13
- package/dist/renderToSvg.js.map +1 -1
- package/dist/rerootTree.d.ts +1 -0
- package/dist/rerootTree.js +7 -6
- package/dist/rerootTree.js.map +1 -1
- package/dist/schemeResidueColor.d.ts +12 -0
- package/dist/schemeResidueColor.js +33 -0
- package/dist/schemeResidueColor.js.map +1 -0
- package/dist/similarityColors.d.ts +11 -0
- package/dist/similarityColors.js +90 -0
- package/dist/similarityColors.js.map +1 -0
- package/dist/svgTestUtil.d.ts +62 -12
- package/dist/treeDisplay.d.ts +37 -0
- package/dist/treeDisplay.js +209 -0
- package/dist/treeDisplay.js.map +1 -0
- package/dist/types.d.ts +6 -2
- package/dist/useWheelScroll.d.ts +3 -1
- package/dist/useWheelScroll.js +36 -17
- package/dist/useWheelScroll.js.map +1 -1
- package/dist/util.d.ts +2 -0
- package/dist/util.js +2 -0
- package/dist/util.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/wheelZoom.d.ts +8 -3
- package/dist/wheelZoom.js +44 -32
- package/dist/wheelZoom.js.map +1 -1
- package/dist/zoomSnapshot.d.ts +29 -0
- package/dist/zoomSnapshot.js +47 -0
- package/dist/zoomSnapshot.js.map +1 -0
- package/package.json +11 -11
- package/src/blosum62.ts +45 -0
- package/src/colorSchemes.ts +1 -0
- package/src/components/Loading.tsx +6 -2
- package/src/components/MSAView.tsx +22 -5
- package/src/components/MetadataTable.tsx +83 -26
- package/src/components/Track.tsx +13 -0
- package/src/components/controls.ts +2 -1
- package/src/components/dialogs/AnnotationFileDialog.tsx +12 -1
- package/src/components/dialogs/FeatureDialog.tsx +2 -5
- package/src/components/dialogs/GapThresholdDialog.tsx +36 -0
- package/src/components/{header → dialogs}/GappynessSlider.tsx +3 -10
- package/src/components/{header → dialogs}/GoToBox.tsx +36 -10
- package/src/components/dialogs/GoToDialog.tsx +30 -0
- package/src/components/dialogs/MetadataDialog.tsx +32 -4
- package/src/components/{header → dialogs}/goTo.ts +1 -1
- package/src/components/dialogs/metadataLabels.ts +54 -0
- package/src/components/dialogs/metadataRecord.tsx +61 -0
- package/src/components/header/Header.tsx +75 -42
- package/src/components/header/HiddenColumnsChip.tsx +39 -0
- package/src/components/header/MenuBar.tsx +64 -0
- package/src/components/header/ScrollZoomCheckbox.tsx +46 -0
- package/src/components/header/ZoomControls.tsx +20 -35
- package/src/components/header/colorSchemeMenuItems.ts +121 -0
- package/src/components/header/getAnnotationsMenu.ts +52 -56
- package/src/components/header/menuBarItems.ts +357 -0
- package/src/components/import/ImportForm.tsx +19 -7
- package/src/components/minimap/Minimap.tsx +11 -3
- package/src/components/minimap/MinimapSVG.tsx +17 -1
- package/src/components/minimap/minimapLayout.ts +27 -0
- package/src/components/msa/MSACanvas.tsx +22 -3
- package/src/components/msa/MSACanvasBlock.tsx +18 -11
- package/src/components/msa/MSAMouseoverCanvas.tsx +2 -2
- package/src/components/msa/WheelZoomHint.tsx +56 -0
- package/src/components/msa/msaKeys.ts +3 -0
- package/src/components/msa/msaRaster.ts +6 -8
- package/src/components/msa/renderBoxFeatureCanvasBlock.ts +28 -5
- package/src/components/msa/renderHighlights.ts +3 -3
- package/src/components/msa/renderMSABlock.ts +51 -15
- package/src/components/msa/tileColor.ts +7 -0
- package/src/components/rowpanels/RowPanelBlock.tsx +2 -2
- package/src/components/settings/MenuItemsForm.tsx +225 -0
- package/src/components/settings/SettingsPanel.tsx +156 -0
- package/src/components/settings/TrackList.tsx +119 -0
- package/src/components/tracks/TrackBlocks.tsx +2 -2
- package/src/components/tree/TreeCanvasBlock.tsx +2 -2
- package/src/components/tree/TreeMenu.tsx +4 -6
- package/src/components/tree/TreeOverview.tsx +2 -2
- package/src/constants.ts +9 -1
- package/src/darkReader.ts +57 -0
- package/src/element.ts +34 -57
- package/src/featurePanels.ts +269 -0
- package/src/filehandleLoader.ts +136 -0
- package/src/index.ts +4 -0
- package/src/model/treeModel.ts +13 -0
- package/src/model.ts +345 -748
- package/src/neighborJoining.ts +1 -42
- package/src/renderToSvg.tsx +1 -13
- package/src/rerootTree.ts +7 -6
- package/src/schemeResidueColor.ts +37 -0
- package/src/similarityColors.ts +112 -0
- package/src/treeDisplay.ts +278 -0
- package/src/types.ts +6 -3
- package/src/useWheelScroll.ts +43 -22
- package/src/util.ts +3 -0
- package/src/version.ts +1 -1
- package/src/wheelZoom.ts +55 -33
- package/src/zoomSnapshot.ts +80 -0
- package/dist/components/header/ColorSchemeMenu.d.ts +0 -12
- package/dist/components/header/ColorSchemeMenu.js +0 -37
- package/dist/components/header/ColorSchemeMenu.js.map +0 -1
- package/dist/components/header/FileMenu.js +0 -92
- package/dist/components/header/FileMenu.js.map +0 -1
- package/dist/components/header/GappynessSlider.js.map +0 -1
- package/dist/components/header/GoToBox.js +0 -31
- package/dist/components/header/GoToBox.js.map +0 -1
- package/dist/components/header/MSASettingsMenu.js +0 -11
- package/dist/components/header/MSASettingsMenu.js.map +0 -1
- package/dist/components/header/ScrollZoomIcons.d.ts +0 -6
- package/dist/components/header/ScrollZoomIcons.js +0 -35
- package/dist/components/header/ScrollZoomIcons.js.map +0 -1
- package/dist/components/header/TreeSettingsMenu.js +0 -11
- package/dist/components/header/TreeSettingsMenu.js.map +0 -1
- package/dist/components/header/goTo.d.ts +0 -20
- package/dist/components/header/goTo.js.map +0 -1
- package/dist/components/header/settingsMenuItems.d.ts +0 -5
- package/dist/components/header/settingsMenuItems.js +0 -171
- package/dist/components/header/settingsMenuItems.js.map +0 -1
- package/src/components/header/ColorSchemeMenu.tsx +0 -56
- package/src/components/header/FileMenu.tsx +0 -107
- package/src/components/header/MSASettingsMenu.tsx +0 -26
- package/src/components/header/ScrollZoomIcons.tsx +0 -52
- package/src/components/header/TreeSettingsMenu.tsx +0 -30
- package/src/components/header/settingsMenuItems.ts +0 -216
package/dist/svgTestUtil.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import MSAModelF from './model.ts';
|
|
2
2
|
type Snapshot = NonNullable<Parameters<ReturnType<typeof MSAModelF>['create']>[0]>;
|
|
3
3
|
export declare function installSvgTestEnv(contextExtras?: Partial<CanvasRenderingContext2D>): void;
|
|
4
|
-
export declare function createTestModel(snapshot: Omit<Snapshot, 'type'>, width?: number): import("@jbrowse/mobx-state-tree").ModelInstanceTypeProps<Omit<Omit<Omit<{}, "drawLabels" | "drawNodeBubbles" | "drawNodeLabels" | "drawTree" | "labelsAlignRight" | "overviewHeight" | "showBranchLen" | "showTreeOverview" | "treeAreaWidth" | "treeOrder" | "treeWidth"> & {
|
|
4
|
+
export declare function createTestModel(snapshot: Omit<Snapshot, 'type'>, width?: number): import("@jbrowse/mobx-state-tree").ModelInstanceTypeProps<Omit<Omit<Omit<{}, "drawLabels" | "drawNodeBubbles" | "drawNodeLabels" | "drawTree" | "labelsAlignRight" | "overviewHeight" | "showBranchLen" | "showTreeOverview" | "showTreeScaleBar" | "treeAreaWidth" | "treeOrder" | "treeWidth"> & {
|
|
5
5
|
drawLabels: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
6
6
|
labelsAlignRight: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
7
7
|
treeAreaWidth: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<number>>;
|
|
@@ -12,6 +12,7 @@ export declare function createTestModel(snapshot: Omit<Snapshot, 'type'>, width?
|
|
|
12
12
|
drawNodeBubbles: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
13
13
|
drawNodeLabels: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
14
14
|
showTreeOverview: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
15
|
+
showTreeScaleBar: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
15
16
|
overviewHeight: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<number>, [undefined]>;
|
|
16
17
|
}, "bgColor" | "colorSchemeName" | "customColorScheme" | "msaFormat" | "showColumnStats"> & {
|
|
17
18
|
bgColor: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
@@ -19,15 +20,17 @@ export declare function createTestModel(snapshot: Omit<Snapshot, 'type'>, width?
|
|
|
19
20
|
customColorScheme: import("@jbrowse/mobx-state-tree").IType<Record<string, string> | undefined, Record<string, string> | undefined, Record<string, string> | undefined>;
|
|
20
21
|
showColumnStats: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
21
22
|
msaFormat: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<import("msa-parsers").MSAFormat>>;
|
|
22
|
-
}, "allowedGappyness" | "clades" | "colWidth" | "collapsed" | "columnTracks" | "currentAlignment" | "data" | "drawMsaLetters" | "encodings" | "features" | "gffFilehandle" | "height" | "hideGaps" | "highlightColumns" | "highlights" | "id" | "msaFilehandle" | "region" | "relativeTo" | "residueMappings" | "rotated" | "rowHeight" | "rowPanels" | "scrollX" | "scrollY" | "scrollZoom" | "scrollZoomAxis" | "selection" | "showDomainLegend" | "showDomains" | "showOnly" | "subFeatureRows" | "trackHeights" | "treeFilehandle" | "treeMetadataFilehandle" | "treeRoot" | "turnedOffFeatures" | "turnedOffTracks" | "type"> & {
|
|
23
|
+
}, "allowedGappyness" | "clades" | "colWidth" | "collapsed" | "columnTracks" | "currentAlignment" | "data" | "domainFill" | "drawMsaLetters" | "embeddedMode" | "encodings" | "features" | "gffFilehandle" | "height" | "hideGaps" | "highlightColumns" | "highlights" | "id" | "msaFilehandle" | "region" | "relativeTo" | "residueMappings" | "rotated" | "rowHeight" | "rowPanels" | "scrollX" | "scrollY" | "scrollZoom" | "scrollZoomAxis" | "selection" | "showDomainLegend" | "showDomains" | "showOnly" | "subFeatureRows" | "trackHeights" | "treeFilehandle" | "treeMetadataFilehandle" | "treeRoot" | "turnedOffFeatures" | "turnedOffTracks" | "type"> & {
|
|
23
24
|
id: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<string>, [undefined]>;
|
|
24
25
|
showDomains: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
26
|
+
domainFill: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
25
27
|
showDomainLegend: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
26
28
|
hideGaps: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
27
29
|
allowedGappyness: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<number>, [undefined]>;
|
|
28
30
|
subFeatureRows: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
29
31
|
type: import("@jbrowse/mobx-state-tree").ILiteralType<"MsaView">;
|
|
30
32
|
drawMsaLetters: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
33
|
+
embeddedMode: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
31
34
|
scrollZoom: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
32
35
|
scrollZoomAxis: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<"both" | "horizontal" | "vertical">, [undefined]>;
|
|
33
36
|
height: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<number>, [undefined]>;
|
|
@@ -405,6 +408,7 @@ export declare function createTestModel(snapshot: Omit<Snapshot, 'type'>, width?
|
|
|
405
408
|
setDrawNodeBubbles(arg: boolean): void;
|
|
406
409
|
setDrawNodeLabels(arg: boolean): void;
|
|
407
410
|
setShowTreeOverview(arg: boolean): void;
|
|
411
|
+
setShowTreeScaleBar(arg: boolean): void;
|
|
408
412
|
setDrawLabels(arg: boolean): void;
|
|
409
413
|
} & {
|
|
410
414
|
setColorSchemeName(name: string): void;
|
|
@@ -414,6 +418,11 @@ export declare function createTestModel(snapshot: Omit<Snapshot, 'type'>, width?
|
|
|
414
418
|
setMSAFormat(arg?: import("msa-parsers").MSAFormat): void;
|
|
415
419
|
} & {
|
|
416
420
|
headerHeight: number;
|
|
421
|
+
settingsOpen: boolean;
|
|
422
|
+
zoomHeld: {
|
|
423
|
+
col: number;
|
|
424
|
+
row: number;
|
|
425
|
+
};
|
|
417
426
|
hideHeader: boolean;
|
|
418
427
|
importForm: boolean;
|
|
419
428
|
status: {
|
|
@@ -421,6 +430,7 @@ export declare function createTestModel(snapshot: Omit<Snapshot, 'type'>, width?
|
|
|
421
430
|
onCancel?: () => void;
|
|
422
431
|
} | undefined;
|
|
423
432
|
highResScaleFactor: number;
|
|
433
|
+
zoomSnapshot: import("./zoomSnapshot.ts").ZoomSnapshot | undefined;
|
|
424
434
|
loadingMSA: boolean;
|
|
425
435
|
loadingTree: boolean;
|
|
426
436
|
volatileWidth: number | undefined;
|
|
@@ -451,6 +461,7 @@ export declare function createTestModel(snapshot: Omit<Snapshot, 'type'>, width?
|
|
|
451
461
|
setLoadingMSA(arg: boolean): void;
|
|
452
462
|
setLoadingTree(arg: boolean): void;
|
|
453
463
|
setWidth(arg: number): void;
|
|
464
|
+
setSettingsOpen(arg: boolean): void;
|
|
454
465
|
setHighResScaleFactor(arg: number): void;
|
|
455
466
|
setHeight(height: number): void;
|
|
456
467
|
setError(error?: unknown): void;
|
|
@@ -467,6 +478,8 @@ export declare function createTestModel(snapshot: Omit<Snapshot, 'type'>, width?
|
|
|
467
478
|
applyHighlight(owner: string, highlights: import("./types.ts").Highlight[]): void;
|
|
468
479
|
clearHighlight(owner: string): void;
|
|
469
480
|
setShowDomains(arg: boolean): void;
|
|
481
|
+
setDomainFill(arg: boolean): void;
|
|
482
|
+
setCellFill(mode: 'residue' | 'domain' | 'none'): void;
|
|
470
483
|
setShowDomainLegend(arg: boolean): void;
|
|
471
484
|
setSubFeatureRows(arg: boolean): void;
|
|
472
485
|
setMouseClickPos(col?: number, row?: number): void;
|
|
@@ -494,8 +507,6 @@ export declare function createTestModel(snapshot: Omit<Snapshot, 'type'>, width?
|
|
|
494
507
|
setGFF(result?: string): void;
|
|
495
508
|
} & {
|
|
496
509
|
readonly hideGapsEffective: boolean;
|
|
497
|
-
readonly allAnnotations: import("msa-parsers").Annotation[];
|
|
498
|
-
readonly actuallyShowDomains: boolean;
|
|
499
510
|
readonly hostRestoresData: boolean;
|
|
500
511
|
readonly viewInitialized: boolean;
|
|
501
512
|
readonly width: number;
|
|
@@ -523,6 +534,8 @@ export declare function createTestModel(snapshot: Omit<Snapshot, 'type'>, width?
|
|
|
523
534
|
rowDataOf(name: string): Record<string, string> | undefined;
|
|
524
535
|
readonly rowFields: string[];
|
|
525
536
|
readonly MSA: import("msa-parsers").MSAParserType | null;
|
|
537
|
+
readonly allAnnotations: import("msa-parsers").Annotation[];
|
|
538
|
+
readonly actuallyShowDomains: boolean;
|
|
526
539
|
readonly numColumns: number;
|
|
527
540
|
readonly inputTree: import("./types.ts").NodeWithIds;
|
|
528
541
|
readonly tree: import("./types.ts").NodeWithIds;
|
|
@@ -586,6 +599,7 @@ export declare function createTestModel(snapshot: Omit<Snapshot, 'type'>, width?
|
|
|
586
599
|
color: string | undefined;
|
|
587
600
|
}[];
|
|
588
601
|
readonly colClustalX: Record<string, string>[];
|
|
602
|
+
readonly colSimilarity: Record<string, string>[];
|
|
589
603
|
readonly conservation: number[];
|
|
590
604
|
readonly alphabetMaxBits: number;
|
|
591
605
|
readonly propertyConservation: number[];
|
|
@@ -654,7 +668,10 @@ export declare function createTestModel(snapshot: Omit<Snapshot, 'type'>, width?
|
|
|
654
668
|
readonly msaAreaHeight: number;
|
|
655
669
|
readonly totalTrackAreaHeight: number;
|
|
656
670
|
readonly annotationTypes: Map<string, import("msa-parsers").Annotation>;
|
|
671
|
+
readonly defaultOffAccessions: Set<string>;
|
|
672
|
+
featureOff(accession: string): boolean;
|
|
657
673
|
readonly filteredAnnotations: import("msa-parsers").Annotation[];
|
|
674
|
+
readonly cellFill: 'residue' | 'domain' | 'none';
|
|
658
675
|
readonly annotationsByRow: Record<string, import("msa-parsers").Annotation[]>;
|
|
659
676
|
} & {
|
|
660
677
|
readonly showVerticalScrollbar: boolean;
|
|
@@ -667,6 +684,7 @@ export declare function createTestModel(snapshot: Omit<Snapshot, 'type'>, width?
|
|
|
667
684
|
readonly msaCanvasWidth: number;
|
|
668
685
|
readonly maxScrollX: number;
|
|
669
686
|
readonly blocks2d: (readonly [number, number])[];
|
|
687
|
+
readonly wheelZooming: boolean;
|
|
670
688
|
readonly isLoading: boolean;
|
|
671
689
|
readonly dataWarnings: string[];
|
|
672
690
|
readonly warnings: string[];
|
|
@@ -686,6 +704,8 @@ export declare function createTestModel(snapshot: Omit<Snapshot, 'type'>, width?
|
|
|
686
704
|
zoomIn(): void;
|
|
687
705
|
zoomOut(): void;
|
|
688
706
|
zoomToPos(scaleFactor: number, offsetX: number, offsetY: number, axis?: import("./constants.ts").ScrollZoomAxis): void;
|
|
707
|
+
wheelZoomToPos(scaleFactor: number, offsetX: number, offsetY: number): void;
|
|
708
|
+
endWheelZoom(): void;
|
|
689
709
|
doScrollY(deltaY: number): void;
|
|
690
710
|
setScrollY(n: number): void;
|
|
691
711
|
setAnnotations(annotations: import("msa-parsers").Annotation[]): void;
|
|
@@ -698,6 +718,7 @@ export declare function createTestModel(snapshot: Omit<Snapshot, 'type'>, width?
|
|
|
698
718
|
setRowPanels(panels: import("./types.ts").RowPanelSpec[]): void;
|
|
699
719
|
setResidueMappings(mappings: import("./types.ts").ResidueMapping[]): void;
|
|
700
720
|
toggleTrack(id: string): void;
|
|
721
|
+
setTracksShown(ids: string[], shown: boolean): void;
|
|
701
722
|
setStatus(status?: {
|
|
702
723
|
msg: string;
|
|
703
724
|
onCancel?: () => void;
|
|
@@ -781,6 +802,7 @@ export declare function createTestModel(snapshot: Omit<Snapshot, 'type'>, width?
|
|
|
781
802
|
} & {
|
|
782
803
|
setHeaderHeight(arg: number): void;
|
|
783
804
|
setHideHeader(arg: boolean): void;
|
|
805
|
+
setEmbeddedMode(arg: boolean): void;
|
|
784
806
|
setImportForm(arg: boolean): void;
|
|
785
807
|
treeOverviewClick(y: number): void;
|
|
786
808
|
setTrackHeight(heightKey: string, height: number): void;
|
|
@@ -789,7 +811,7 @@ export declare function createTestModel(snapshot: Omit<Snapshot, 'type'>, width?
|
|
|
789
811
|
exportNewick(): void;
|
|
790
812
|
setFilter(accession: string, shown: boolean): void;
|
|
791
813
|
fit(): void;
|
|
792
|
-
fitVertically(): void;
|
|
814
|
+
fitVertically(maxRowHeight?: any): void;
|
|
793
815
|
zoomToRegion(region: import("./types.ts").Region): void;
|
|
794
816
|
revealRegion(region: import("./types.ts").Region): void;
|
|
795
817
|
zoomToSelection(): void;
|
|
@@ -800,9 +822,9 @@ export declare function createTestModel(snapshot: Omit<Snapshot, 'type'>, width?
|
|
|
800
822
|
col: number;
|
|
801
823
|
row?: number;
|
|
802
824
|
}): void;
|
|
803
|
-
fitHorizontally(): void;
|
|
825
|
+
fitHorizontally(maxColWidth?: any): void;
|
|
804
826
|
afterCreate(): void;
|
|
805
|
-
} & import("@jbrowse/mobx-state-tree").IStateTreeNode<import("@jbrowse/mobx-state-tree").IModelType<Omit<Omit<Omit<{}, "drawLabels" | "drawNodeBubbles" | "drawNodeLabels" | "drawTree" | "labelsAlignRight" | "overviewHeight" | "showBranchLen" | "showTreeOverview" | "treeAreaWidth" | "treeOrder" | "treeWidth"> & {
|
|
827
|
+
} & import("@jbrowse/mobx-state-tree").IStateTreeNode<import("@jbrowse/mobx-state-tree").IModelType<Omit<Omit<Omit<{}, "drawLabels" | "drawNodeBubbles" | "drawNodeLabels" | "drawTree" | "labelsAlignRight" | "overviewHeight" | "showBranchLen" | "showTreeOverview" | "showTreeScaleBar" | "treeAreaWidth" | "treeOrder" | "treeWidth"> & {
|
|
806
828
|
drawLabels: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
807
829
|
labelsAlignRight: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
808
830
|
treeAreaWidth: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<number>>;
|
|
@@ -813,6 +835,7 @@ export declare function createTestModel(snapshot: Omit<Snapshot, 'type'>, width?
|
|
|
813
835
|
drawNodeBubbles: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
814
836
|
drawNodeLabels: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
815
837
|
showTreeOverview: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
838
|
+
showTreeScaleBar: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
816
839
|
overviewHeight: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<number>, [undefined]>;
|
|
817
840
|
}, "bgColor" | "colorSchemeName" | "customColorScheme" | "msaFormat" | "showColumnStats"> & {
|
|
818
841
|
bgColor: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
@@ -820,15 +843,17 @@ export declare function createTestModel(snapshot: Omit<Snapshot, 'type'>, width?
|
|
|
820
843
|
customColorScheme: import("@jbrowse/mobx-state-tree").IType<Record<string, string> | undefined, Record<string, string> | undefined, Record<string, string> | undefined>;
|
|
821
844
|
showColumnStats: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
822
845
|
msaFormat: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<import("msa-parsers").MSAFormat>>;
|
|
823
|
-
}, "allowedGappyness" | "clades" | "colWidth" | "collapsed" | "columnTracks" | "currentAlignment" | "data" | "drawMsaLetters" | "encodings" | "features" | "gffFilehandle" | "height" | "hideGaps" | "highlightColumns" | "highlights" | "id" | "msaFilehandle" | "region" | "relativeTo" | "residueMappings" | "rotated" | "rowHeight" | "rowPanels" | "scrollX" | "scrollY" | "scrollZoom" | "scrollZoomAxis" | "selection" | "showDomainLegend" | "showDomains" | "showOnly" | "subFeatureRows" | "trackHeights" | "treeFilehandle" | "treeMetadataFilehandle" | "treeRoot" | "turnedOffFeatures" | "turnedOffTracks" | "type"> & {
|
|
846
|
+
}, "allowedGappyness" | "clades" | "colWidth" | "collapsed" | "columnTracks" | "currentAlignment" | "data" | "domainFill" | "drawMsaLetters" | "embeddedMode" | "encodings" | "features" | "gffFilehandle" | "height" | "hideGaps" | "highlightColumns" | "highlights" | "id" | "msaFilehandle" | "region" | "relativeTo" | "residueMappings" | "rotated" | "rowHeight" | "rowPanels" | "scrollX" | "scrollY" | "scrollZoom" | "scrollZoomAxis" | "selection" | "showDomainLegend" | "showDomains" | "showOnly" | "subFeatureRows" | "trackHeights" | "treeFilehandle" | "treeMetadataFilehandle" | "treeRoot" | "turnedOffFeatures" | "turnedOffTracks" | "type"> & {
|
|
824
847
|
id: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<string>, [undefined]>;
|
|
825
848
|
showDomains: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
849
|
+
domainFill: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
826
850
|
showDomainLegend: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
827
851
|
hideGaps: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
828
852
|
allowedGappyness: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<number>, [undefined]>;
|
|
829
853
|
subFeatureRows: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
830
854
|
type: import("@jbrowse/mobx-state-tree").ILiteralType<"MsaView">;
|
|
831
855
|
drawMsaLetters: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
856
|
+
embeddedMode: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
832
857
|
scrollZoom: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
833
858
|
scrollZoomAxis: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<"both" | "horizontal" | "vertical">, [undefined]>;
|
|
834
859
|
height: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<number>, [undefined]>;
|
|
@@ -1206,6 +1231,7 @@ export declare function createTestModel(snapshot: Omit<Snapshot, 'type'>, width?
|
|
|
1206
1231
|
setDrawNodeBubbles(arg: boolean): void;
|
|
1207
1232
|
setDrawNodeLabels(arg: boolean): void;
|
|
1208
1233
|
setShowTreeOverview(arg: boolean): void;
|
|
1234
|
+
setShowTreeScaleBar(arg: boolean): void;
|
|
1209
1235
|
setDrawLabels(arg: boolean): void;
|
|
1210
1236
|
} & {
|
|
1211
1237
|
setColorSchemeName(name: string): void;
|
|
@@ -1215,6 +1241,11 @@ export declare function createTestModel(snapshot: Omit<Snapshot, 'type'>, width?
|
|
|
1215
1241
|
setMSAFormat(arg?: import("msa-parsers").MSAFormat): void;
|
|
1216
1242
|
} & {
|
|
1217
1243
|
headerHeight: number;
|
|
1244
|
+
settingsOpen: boolean;
|
|
1245
|
+
zoomHeld: {
|
|
1246
|
+
col: number;
|
|
1247
|
+
row: number;
|
|
1248
|
+
};
|
|
1218
1249
|
hideHeader: boolean;
|
|
1219
1250
|
importForm: boolean;
|
|
1220
1251
|
status: {
|
|
@@ -1222,6 +1253,7 @@ export declare function createTestModel(snapshot: Omit<Snapshot, 'type'>, width?
|
|
|
1222
1253
|
onCancel?: () => void;
|
|
1223
1254
|
} | undefined;
|
|
1224
1255
|
highResScaleFactor: number;
|
|
1256
|
+
zoomSnapshot: import("./zoomSnapshot.ts").ZoomSnapshot | undefined;
|
|
1225
1257
|
loadingMSA: boolean;
|
|
1226
1258
|
loadingTree: boolean;
|
|
1227
1259
|
volatileWidth: number | undefined;
|
|
@@ -1252,6 +1284,7 @@ export declare function createTestModel(snapshot: Omit<Snapshot, 'type'>, width?
|
|
|
1252
1284
|
setLoadingMSA(arg: boolean): void;
|
|
1253
1285
|
setLoadingTree(arg: boolean): void;
|
|
1254
1286
|
setWidth(arg: number): void;
|
|
1287
|
+
setSettingsOpen(arg: boolean): void;
|
|
1255
1288
|
setHighResScaleFactor(arg: number): void;
|
|
1256
1289
|
setHeight(height: number): void;
|
|
1257
1290
|
setError(error?: unknown): void;
|
|
@@ -1268,6 +1301,8 @@ export declare function createTestModel(snapshot: Omit<Snapshot, 'type'>, width?
|
|
|
1268
1301
|
applyHighlight(owner: string, highlights: import("./types.ts").Highlight[]): void;
|
|
1269
1302
|
clearHighlight(owner: string): void;
|
|
1270
1303
|
setShowDomains(arg: boolean): void;
|
|
1304
|
+
setDomainFill(arg: boolean): void;
|
|
1305
|
+
setCellFill(mode: 'residue' | 'domain' | 'none'): void;
|
|
1271
1306
|
setShowDomainLegend(arg: boolean): void;
|
|
1272
1307
|
setSubFeatureRows(arg: boolean): void;
|
|
1273
1308
|
setMouseClickPos(col?: number, row?: number): void;
|
|
@@ -1295,8 +1330,6 @@ export declare function createTestModel(snapshot: Omit<Snapshot, 'type'>, width?
|
|
|
1295
1330
|
setGFF(result?: string): void;
|
|
1296
1331
|
} & {
|
|
1297
1332
|
readonly hideGapsEffective: boolean;
|
|
1298
|
-
readonly allAnnotations: import("msa-parsers").Annotation[];
|
|
1299
|
-
readonly actuallyShowDomains: boolean;
|
|
1300
1333
|
readonly hostRestoresData: boolean;
|
|
1301
1334
|
readonly viewInitialized: boolean;
|
|
1302
1335
|
readonly width: number;
|
|
@@ -1324,6 +1357,8 @@ export declare function createTestModel(snapshot: Omit<Snapshot, 'type'>, width?
|
|
|
1324
1357
|
rowDataOf(name: string): Record<string, string> | undefined;
|
|
1325
1358
|
readonly rowFields: string[];
|
|
1326
1359
|
readonly MSA: import("msa-parsers").MSAParserType | null;
|
|
1360
|
+
readonly allAnnotations: import("msa-parsers").Annotation[];
|
|
1361
|
+
readonly actuallyShowDomains: boolean;
|
|
1327
1362
|
readonly numColumns: number;
|
|
1328
1363
|
readonly inputTree: import("./types.ts").NodeWithIds;
|
|
1329
1364
|
readonly tree: import("./types.ts").NodeWithIds;
|
|
@@ -1387,6 +1422,7 @@ export declare function createTestModel(snapshot: Omit<Snapshot, 'type'>, width?
|
|
|
1387
1422
|
color: string | undefined;
|
|
1388
1423
|
}[];
|
|
1389
1424
|
readonly colClustalX: Record<string, string>[];
|
|
1425
|
+
readonly colSimilarity: Record<string, string>[];
|
|
1390
1426
|
readonly conservation: number[];
|
|
1391
1427
|
readonly alphabetMaxBits: number;
|
|
1392
1428
|
readonly propertyConservation: number[];
|
|
@@ -1455,7 +1491,10 @@ export declare function createTestModel(snapshot: Omit<Snapshot, 'type'>, width?
|
|
|
1455
1491
|
readonly msaAreaHeight: number;
|
|
1456
1492
|
readonly totalTrackAreaHeight: number;
|
|
1457
1493
|
readonly annotationTypes: Map<string, import("msa-parsers").Annotation>;
|
|
1494
|
+
readonly defaultOffAccessions: Set<string>;
|
|
1495
|
+
featureOff(accession: string): boolean;
|
|
1458
1496
|
readonly filteredAnnotations: import("msa-parsers").Annotation[];
|
|
1497
|
+
readonly cellFill: 'residue' | 'domain' | 'none';
|
|
1459
1498
|
readonly annotationsByRow: Record<string, import("msa-parsers").Annotation[]>;
|
|
1460
1499
|
} & {
|
|
1461
1500
|
readonly showVerticalScrollbar: boolean;
|
|
@@ -1468,6 +1507,7 @@ export declare function createTestModel(snapshot: Omit<Snapshot, 'type'>, width?
|
|
|
1468
1507
|
readonly msaCanvasWidth: number;
|
|
1469
1508
|
readonly maxScrollX: number;
|
|
1470
1509
|
readonly blocks2d: (readonly [number, number])[];
|
|
1510
|
+
readonly wheelZooming: boolean;
|
|
1471
1511
|
readonly isLoading: boolean;
|
|
1472
1512
|
readonly dataWarnings: string[];
|
|
1473
1513
|
readonly warnings: string[];
|
|
@@ -1487,6 +1527,8 @@ export declare function createTestModel(snapshot: Omit<Snapshot, 'type'>, width?
|
|
|
1487
1527
|
zoomIn(): void;
|
|
1488
1528
|
zoomOut(): void;
|
|
1489
1529
|
zoomToPos(scaleFactor: number, offsetX: number, offsetY: number, axis?: import("./constants.ts").ScrollZoomAxis): void;
|
|
1530
|
+
wheelZoomToPos(scaleFactor: number, offsetX: number, offsetY: number): void;
|
|
1531
|
+
endWheelZoom(): void;
|
|
1490
1532
|
doScrollY(deltaY: number): void;
|
|
1491
1533
|
setScrollY(n: number): void;
|
|
1492
1534
|
setAnnotations(annotations: import("msa-parsers").Annotation[]): void;
|
|
@@ -1499,6 +1541,7 @@ export declare function createTestModel(snapshot: Omit<Snapshot, 'type'>, width?
|
|
|
1499
1541
|
setRowPanels(panels: import("./types.ts").RowPanelSpec[]): void;
|
|
1500
1542
|
setResidueMappings(mappings: import("./types.ts").ResidueMapping[]): void;
|
|
1501
1543
|
toggleTrack(id: string): void;
|
|
1544
|
+
setTracksShown(ids: string[], shown: boolean): void;
|
|
1502
1545
|
setStatus(status?: {
|
|
1503
1546
|
msg: string;
|
|
1504
1547
|
onCancel?: () => void;
|
|
@@ -1582,6 +1625,7 @@ export declare function createTestModel(snapshot: Omit<Snapshot, 'type'>, width?
|
|
|
1582
1625
|
} & {
|
|
1583
1626
|
setHeaderHeight(arg: number): void;
|
|
1584
1627
|
setHideHeader(arg: boolean): void;
|
|
1628
|
+
setEmbeddedMode(arg: boolean): void;
|
|
1585
1629
|
setImportForm(arg: boolean): void;
|
|
1586
1630
|
treeOverviewClick(y: number): void;
|
|
1587
1631
|
setTrackHeight(heightKey: string, height: number): void;
|
|
@@ -1590,7 +1634,7 @@ export declare function createTestModel(snapshot: Omit<Snapshot, 'type'>, width?
|
|
|
1590
1634
|
exportNewick(): void;
|
|
1591
1635
|
setFilter(accession: string, shown: boolean): void;
|
|
1592
1636
|
fit(): void;
|
|
1593
|
-
fitVertically(): void;
|
|
1637
|
+
fitVertically(maxRowHeight?: any): void;
|
|
1594
1638
|
zoomToRegion(region: import("./types.ts").Region): void;
|
|
1595
1639
|
revealRegion(region: import("./types.ts").Region): void;
|
|
1596
1640
|
zoomToSelection(): void;
|
|
@@ -1601,7 +1645,7 @@ export declare function createTestModel(snapshot: Omit<Snapshot, 'type'>, width?
|
|
|
1601
1645
|
col: number;
|
|
1602
1646
|
row?: number;
|
|
1603
1647
|
}): void;
|
|
1604
|
-
fitHorizontally(): void;
|
|
1648
|
+
fitHorizontally(maxColWidth?: any): void;
|
|
1605
1649
|
afterCreate(): void;
|
|
1606
1650
|
}, import("@jbrowse/mobx-state-tree")._NotCustomized, {
|
|
1607
1651
|
bgColor: boolean;
|
|
@@ -1619,16 +1663,19 @@ export declare function createTestModel(snapshot: Omit<Snapshot, 'type'>, width?
|
|
|
1619
1663
|
drawNodeBubbles: boolean;
|
|
1620
1664
|
drawNodeLabels: boolean;
|
|
1621
1665
|
showTreeOverview: boolean;
|
|
1666
|
+
showTreeScaleBar: boolean;
|
|
1622
1667
|
overviewHeight: number;
|
|
1623
1668
|
columnTracks: import("./types.ts").ColumnTrackSpec[];
|
|
1624
1669
|
id: string;
|
|
1625
1670
|
showDomains: boolean;
|
|
1671
|
+
domainFill: boolean;
|
|
1626
1672
|
showDomainLegend: boolean;
|
|
1627
1673
|
hideGaps: boolean;
|
|
1628
1674
|
allowedGappyness: number;
|
|
1629
1675
|
subFeatureRows: boolean;
|
|
1630
1676
|
type: "MsaView";
|
|
1631
1677
|
drawMsaLetters: boolean;
|
|
1678
|
+
embeddedMode: boolean;
|
|
1632
1679
|
scrollZoom: boolean;
|
|
1633
1680
|
scrollZoomAxis: "both" | "horizontal" | "vertical";
|
|
1634
1681
|
height: number;
|
|
@@ -1756,16 +1803,19 @@ export declare function createTestModel(snapshot: Omit<Snapshot, 'type'>, width?
|
|
|
1756
1803
|
drawNodeBubbles: boolean;
|
|
1757
1804
|
drawNodeLabels: boolean;
|
|
1758
1805
|
showTreeOverview: boolean;
|
|
1806
|
+
showTreeScaleBar: boolean;
|
|
1759
1807
|
overviewHeight: number;
|
|
1760
1808
|
columnTracks?: undefined;
|
|
1761
1809
|
id: string;
|
|
1762
1810
|
showDomains: boolean;
|
|
1811
|
+
domainFill: boolean;
|
|
1763
1812
|
showDomainLegend: boolean;
|
|
1764
1813
|
hideGaps: boolean;
|
|
1765
1814
|
allowedGappyness: number;
|
|
1766
1815
|
subFeatureRows: boolean;
|
|
1767
1816
|
type: "MsaView";
|
|
1768
1817
|
drawMsaLetters: boolean;
|
|
1818
|
+
embeddedMode: boolean;
|
|
1769
1819
|
scrollZoom: boolean;
|
|
1770
1820
|
scrollZoomAxis: "both" | "horizontal" | "vertical";
|
|
1771
1821
|
height: number;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { HierarchyNode } from './hierarchy.ts';
|
|
2
|
+
import type { Clade, NodeWithIds, ResolvedClade, TreeOrder, TreeRoot } from './types.ts';
|
|
3
|
+
export declare function parseTreeText(text: string): import("@gmod/newick").NewickNode;
|
|
4
|
+
/**
|
|
5
|
+
* Every clade that resolves, with its fill color settled, against the rows of
|
|
6
|
+
* `displayed`, the tree as drawn. The tree panel resolves against the
|
|
7
|
+
* displayed rows and the overview against its own, so both take the tree they
|
|
8
|
+
* draw. A `range` record names no node, so the seeding marks, which need one,
|
|
9
|
+
* drop it.
|
|
10
|
+
*/
|
|
11
|
+
export declare function resolveClades(clades: Clade[], root: HierarchyNode<NodeWithIds>, displayed: HierarchyNode<NodeWithIds>): ResolvedClade[];
|
|
12
|
+
/**
|
|
13
|
+
* The tree with the display transforms applied: leaf counts summed, children
|
|
14
|
+
* put in `order` and each `rotated` node's reversed, `showOnly` taken as the
|
|
15
|
+
* new root, and each `collapsed` clade folded. The overview builds the same
|
|
16
|
+
* tree without the focus, so it shows the focused subtree inside the whole.
|
|
17
|
+
*/
|
|
18
|
+
export declare function buildTreeRoot(tree: NodeWithIds, { collapsed, rotated, order, showOnly, }: {
|
|
19
|
+
collapsed: readonly string[];
|
|
20
|
+
rotated: readonly string[];
|
|
21
|
+
order: TreeOrder;
|
|
22
|
+
showOnly?: string;
|
|
23
|
+
}): HierarchyNode<NodeWithIds>;
|
|
24
|
+
/**
|
|
25
|
+
* The node whose branch an outgroup roots the tree on: the outgroup's most
|
|
26
|
+
* recent common ancestor, or the rest of the tips' where that ancestor is the
|
|
27
|
+
* root, since the outgroup then straddles the root and the branch above the
|
|
28
|
+
* other side is the same branch of the unrooted tree.
|
|
29
|
+
*/
|
|
30
|
+
export declare function outgroupNode(root: HierarchyNode, outgroup: string[]): HierarchyNode<NodeWithIds> | undefined;
|
|
31
|
+
/**
|
|
32
|
+
* `tree` rerooted as `treeRoot` asks, with fresh path ids. The ids of the tree
|
|
33
|
+
* as written become names on unnamed nodes, and a rerooting would carry them
|
|
34
|
+
* along as labels, so they come off first.
|
|
35
|
+
*/
|
|
36
|
+
export declare function rootTree(tree: NodeWithIds, treeRoot: TreeRoot): import("msa-parsers").NodeWithIds;
|
|
37
|
+
export declare function tipRange(node: HierarchyNode): [number, number];
|
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
import { generateNodeIds, parseEmfTree, parseNewick } from 'msa-parsers';
|
|
2
|
+
import { cladeHighlightAlpha, cladeHighlightColor } from './constants.js';
|
|
3
|
+
import { flatToTree } from './flatToTree.js';
|
|
4
|
+
import { collapse, find, forEachDescendant, hierarchy, leafIndex, leaves, mrca, sort, sum as hierarchySum, } from './hierarchy.js';
|
|
5
|
+
import { parseAsn1 } from './parseAsn1.js';
|
|
6
|
+
import { midpointRoot, preorder, rerootTree } from './rerootTree.js';
|
|
7
|
+
import { withAlpha } from './util.js';
|
|
8
|
+
export function parseTreeText(text) {
|
|
9
|
+
if (text.startsWith('BioTreeContainer')) {
|
|
10
|
+
return flatToTree(parseAsn1(text));
|
|
11
|
+
}
|
|
12
|
+
return parseNewick(text.startsWith('SEQ') ? parseEmfTree(text).tree : text);
|
|
13
|
+
}
|
|
14
|
+
// the marks that set tree state from a node rather than drawing
|
|
15
|
+
const seedingMarks = new Set(['collapse', 'focus', 'rotate']);
|
|
16
|
+
/**
|
|
17
|
+
* Each tip of the full tree in the order the tree draws it, with the on-screen
|
|
18
|
+
* row that shows it: its own, or the row of the collapsed node standing for it
|
|
19
|
+
*/
|
|
20
|
+
function tipRows(root) {
|
|
21
|
+
const rows = new Map();
|
|
22
|
+
let row = 0;
|
|
23
|
+
const pushReversed = (stack, nodes) => {
|
|
24
|
+
for (let i = nodes.length - 1; i >= 0; i--) {
|
|
25
|
+
stack.push(nodes[i]);
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
const stack = [root];
|
|
29
|
+
while (stack.length > 0) {
|
|
30
|
+
const node = stack.pop();
|
|
31
|
+
if (node.children?.length) {
|
|
32
|
+
pushReversed(stack, node.children);
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
const hidden = [node];
|
|
36
|
+
while (hidden.length > 0) {
|
|
37
|
+
const tip = hidden.pop();
|
|
38
|
+
const kids = tip.children ?? tip._children;
|
|
39
|
+
if (kids?.length) {
|
|
40
|
+
pushReversed(hidden, kids);
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
rows.set(tip.data.name, { order: rows.size, row });
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
row++;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
return rows;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* The rows a clade covers and the node an `mrca` names, or undefined when the
|
|
53
|
+
* clade does not resolve: a tip name the tree does not have or has twice, or a
|
|
54
|
+
* leaf count `tips` disagrees with. A `range` counts its tips in the order
|
|
55
|
+
* `tips` gives them, so a collapsed clade inside it counts every leaf it
|
|
56
|
+
* stands for. `index` is the memoized leaf pass over the tree.
|
|
57
|
+
*/
|
|
58
|
+
function cladeRows(clade, root, index, tips) {
|
|
59
|
+
if (clade.range) {
|
|
60
|
+
const [a, b] = clade.range.map(name => index.get(name) ? tips.get(name) : undefined);
|
|
61
|
+
if (a === undefined || b === undefined) {
|
|
62
|
+
return undefined;
|
|
63
|
+
}
|
|
64
|
+
const [first, last] = a.order <= b.order ? [a, b] : [b, a];
|
|
65
|
+
return last.order - first.order + 1 === clade.tips
|
|
66
|
+
? { rows: [first.row, last.row] }
|
|
67
|
+
: undefined;
|
|
68
|
+
}
|
|
69
|
+
const node = clade.mrca ? mrca(root, clade.mrca, index) : undefined;
|
|
70
|
+
if (!node) {
|
|
71
|
+
return undefined;
|
|
72
|
+
}
|
|
73
|
+
const nodeTips = leaves(node);
|
|
74
|
+
if (nodeTips.length !== clade.tips) {
|
|
75
|
+
return undefined;
|
|
76
|
+
}
|
|
77
|
+
let first = Infinity;
|
|
78
|
+
let last = -Infinity;
|
|
79
|
+
for (const tip of nodeTips) {
|
|
80
|
+
const row = tips.get(tip.data.name)?.row;
|
|
81
|
+
if (row !== undefined) {
|
|
82
|
+
first = Math.min(first, row);
|
|
83
|
+
last = Math.max(last, row);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
return first <= last
|
|
87
|
+
? { rows: [first, last], nodeId: node.data.id }
|
|
88
|
+
: undefined;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Every clade that resolves, with its fill color settled, against the rows of
|
|
92
|
+
* `displayed`, the tree as drawn. The tree panel resolves against the
|
|
93
|
+
* displayed rows and the overview against its own, so both take the tree they
|
|
94
|
+
* draw. A `range` record names no node, so the seeding marks, which need one,
|
|
95
|
+
* drop it.
|
|
96
|
+
*/
|
|
97
|
+
export function resolveClades(clades, root, displayed) {
|
|
98
|
+
const index = leafIndex(root);
|
|
99
|
+
const tips = tipRows(displayed);
|
|
100
|
+
return clades.flatMap(clade => {
|
|
101
|
+
const resolved = cladeRows(clade, root, index, tips);
|
|
102
|
+
const seeding = seedingMarks.has(clade.mark);
|
|
103
|
+
return resolved && !(seeding && resolved.nodeId === undefined)
|
|
104
|
+
? [
|
|
105
|
+
{
|
|
106
|
+
...resolved,
|
|
107
|
+
mark: clade.mark,
|
|
108
|
+
color: withAlpha(clade.color ?? cladeHighlightColor, cladeHighlightAlpha),
|
|
109
|
+
markColor: clade.color,
|
|
110
|
+
label: clade.label,
|
|
111
|
+
},
|
|
112
|
+
]
|
|
113
|
+
: [];
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
const childOrders = {
|
|
117
|
+
input: undefined,
|
|
118
|
+
branchLength: (a, b) => (a.data.length ?? 1) - (b.data.length ?? 1),
|
|
119
|
+
ladderize: (a, b) => a.value - b.value,
|
|
120
|
+
ladderizeReverse: (a, b) => b.value - a.value,
|
|
121
|
+
};
|
|
122
|
+
/**
|
|
123
|
+
* The tree with the display transforms applied: leaf counts summed, children
|
|
124
|
+
* put in `order` and each `rotated` node's reversed, `showOnly` taken as the
|
|
125
|
+
* new root, and each `collapsed` clade folded. The overview builds the same
|
|
126
|
+
* tree without the focus, so it shows the focused subtree inside the whole.
|
|
127
|
+
*/
|
|
128
|
+
export function buildTreeRoot(tree, { collapsed, rotated, order, showOnly, }) {
|
|
129
|
+
let hier = hierarchy(tree, d => d.children);
|
|
130
|
+
hierarchySum(hier, d => (d.children.length > 0 ? 0 : 1));
|
|
131
|
+
const compare = childOrders[order];
|
|
132
|
+
if (compare) {
|
|
133
|
+
sort(hier, compare);
|
|
134
|
+
}
|
|
135
|
+
if (rotated.length > 0) {
|
|
136
|
+
const flip = new Set(rotated);
|
|
137
|
+
forEachDescendant(hier, n => {
|
|
138
|
+
if (flip.has(n.data.id)) {
|
|
139
|
+
n.children?.reverse();
|
|
140
|
+
}
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
if (showOnly) {
|
|
144
|
+
const res = find(hier, n => n.data.id === showOnly);
|
|
145
|
+
if (res) {
|
|
146
|
+
hier = res;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
for (const collapsedId of collapsed) {
|
|
150
|
+
const node = find(hier, n => n.data.id === collapsedId);
|
|
151
|
+
if (node) {
|
|
152
|
+
if (node.children) {
|
|
153
|
+
collapse(node);
|
|
154
|
+
}
|
|
155
|
+
else if (node.parent?.children) {
|
|
156
|
+
node.parent.children = node.parent.children.filter(c => c.data.id !== collapsedId);
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
return hier;
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* The node whose branch an outgroup roots the tree on: the outgroup's most
|
|
164
|
+
* recent common ancestor, or the rest of the tips' where that ancestor is the
|
|
165
|
+
* root, since the outgroup then straddles the root and the branch above the
|
|
166
|
+
* other side is the same branch of the unrooted tree.
|
|
167
|
+
*/
|
|
168
|
+
export function outgroupNode(root, outgroup) {
|
|
169
|
+
const index = leafIndex(root);
|
|
170
|
+
const node = mrca(root, outgroup, index);
|
|
171
|
+
if (node !== root) {
|
|
172
|
+
return node;
|
|
173
|
+
}
|
|
174
|
+
const out = new Set(outgroup);
|
|
175
|
+
const rest = leaves(root)
|
|
176
|
+
.map(n => n.data.name)
|
|
177
|
+
.filter(name => !out.has(name));
|
|
178
|
+
const other = mrca(root, rest, index);
|
|
179
|
+
return other === root ? undefined : other;
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* `tree` rerooted as `treeRoot` asks, with fresh path ids. The ids of the tree
|
|
183
|
+
* as written become names on unnamed nodes, and a rerooting would carry them
|
|
184
|
+
* along as labels, so they come off first.
|
|
185
|
+
*/
|
|
186
|
+
export function rootTree(tree, treeRoot) {
|
|
187
|
+
const plain = new Map();
|
|
188
|
+
for (const node of preorder(tree).reverse()) {
|
|
189
|
+
plain.set(node, {
|
|
190
|
+
name: node.name === node.id ? undefined : node.name,
|
|
191
|
+
length: node.length,
|
|
192
|
+
children: node.children.map(c => plain.get(c)),
|
|
193
|
+
});
|
|
194
|
+
}
|
|
195
|
+
const input = plain.get(tree);
|
|
196
|
+
if (treeRoot === 'midpoint') {
|
|
197
|
+
return generateNodeIds(midpointRoot(input));
|
|
198
|
+
}
|
|
199
|
+
const target = outgroupNode(hierarchy(tree, d => d.children), treeRoot.outgroup);
|
|
200
|
+
return target
|
|
201
|
+
? generateNodeIds(rerootTree(input, plain.get(target.data)))
|
|
202
|
+
: tree;
|
|
203
|
+
}
|
|
204
|
+
// the inclusive tip indices a node covers, from its xMin/xMax in a layout one
|
|
205
|
+
// row per tip
|
|
206
|
+
export function tipRange(node) {
|
|
207
|
+
return [Math.round(node.xMin - 0.5), Math.round(node.xMax - 0.5)];
|
|
208
|
+
}
|
|
209
|
+
//# sourceMappingURL=treeDisplay.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"treeDisplay.js","sourceRoot":"","sources":["../src/treeDisplay.ts"],"names":[],"mappings":"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"}
|