react-msaview 9.1.0 → 9.2.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.
- 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 +64 -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 +58 -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/tracks/TrackTooltipContent.js +2 -1
- package/dist/components/tracks/TrackTooltipContent.js.map +1 -1
- package/dist/components/tracks/drawTracks.js +13 -6
- package/dist/components/tracks/drawTracks.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 +148 -32
- package/dist/model.js +291 -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 +64 -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 +7 -3
- 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 +124 -0
- package/src/components/tracks/TrackBlocks.tsx +2 -2
- package/src/components/tracks/TrackTooltipContent.tsx +2 -1
- package/src/components/tracks/drawTracks.ts +15 -7
- 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 +370 -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 +7 -4
- 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[];
|
|
@@ -621,6 +635,7 @@ export declare function createTestModel(snapshot: Omit<Snapshot, 'type'>, width?
|
|
|
621
635
|
readonly adapterTrackModels: import("./types.ts").BasicTrack[];
|
|
622
636
|
readonly basePairTrackModels: import("./types.ts").BasicTrack[];
|
|
623
637
|
readonly computedTrackModels: import("./types.ts").BasicTrack[];
|
|
638
|
+
readonly referenceTrackModels: import("./types.ts").BasicTrack[];
|
|
624
639
|
readonly tracks: import("./types.ts").BasicTrack[];
|
|
625
640
|
readonly turnedOnTracks: import("./types.ts").BasicTrack[];
|
|
626
641
|
readonly showHorizontalScrollbar: boolean;
|
|
@@ -654,7 +669,10 @@ export declare function createTestModel(snapshot: Omit<Snapshot, 'type'>, width?
|
|
|
654
669
|
readonly msaAreaHeight: number;
|
|
655
670
|
readonly totalTrackAreaHeight: number;
|
|
656
671
|
readonly annotationTypes: Map<string, import("msa-parsers").Annotation>;
|
|
672
|
+
readonly defaultOffAccessions: Set<string>;
|
|
673
|
+
featureOff(accession: string): boolean;
|
|
657
674
|
readonly filteredAnnotations: import("msa-parsers").Annotation[];
|
|
675
|
+
readonly cellFill: 'residue' | 'domain' | 'none';
|
|
658
676
|
readonly annotationsByRow: Record<string, import("msa-parsers").Annotation[]>;
|
|
659
677
|
} & {
|
|
660
678
|
readonly showVerticalScrollbar: boolean;
|
|
@@ -667,6 +685,7 @@ export declare function createTestModel(snapshot: Omit<Snapshot, 'type'>, width?
|
|
|
667
685
|
readonly msaCanvasWidth: number;
|
|
668
686
|
readonly maxScrollX: number;
|
|
669
687
|
readonly blocks2d: (readonly [number, number])[];
|
|
688
|
+
readonly wheelZooming: boolean;
|
|
670
689
|
readonly isLoading: boolean;
|
|
671
690
|
readonly dataWarnings: string[];
|
|
672
691
|
readonly warnings: string[];
|
|
@@ -686,6 +705,8 @@ export declare function createTestModel(snapshot: Omit<Snapshot, 'type'>, width?
|
|
|
686
705
|
zoomIn(): void;
|
|
687
706
|
zoomOut(): void;
|
|
688
707
|
zoomToPos(scaleFactor: number, offsetX: number, offsetY: number, axis?: import("./constants.ts").ScrollZoomAxis): void;
|
|
708
|
+
wheelZoomToPos(scaleFactor: number, offsetX: number, offsetY: number): void;
|
|
709
|
+
endWheelZoom(): void;
|
|
689
710
|
doScrollY(deltaY: number): void;
|
|
690
711
|
setScrollY(n: number): void;
|
|
691
712
|
setAnnotations(annotations: import("msa-parsers").Annotation[]): void;
|
|
@@ -698,6 +719,7 @@ export declare function createTestModel(snapshot: Omit<Snapshot, 'type'>, width?
|
|
|
698
719
|
setRowPanels(panels: import("./types.ts").RowPanelSpec[]): void;
|
|
699
720
|
setResidueMappings(mappings: import("./types.ts").ResidueMapping[]): void;
|
|
700
721
|
toggleTrack(id: string): void;
|
|
722
|
+
setTracksShown(ids: string[], shown: boolean): void;
|
|
701
723
|
setStatus(status?: {
|
|
702
724
|
msg: string;
|
|
703
725
|
onCancel?: () => void;
|
|
@@ -781,6 +803,7 @@ export declare function createTestModel(snapshot: Omit<Snapshot, 'type'>, width?
|
|
|
781
803
|
} & {
|
|
782
804
|
setHeaderHeight(arg: number): void;
|
|
783
805
|
setHideHeader(arg: boolean): void;
|
|
806
|
+
setEmbeddedMode(arg: boolean): void;
|
|
784
807
|
setImportForm(arg: boolean): void;
|
|
785
808
|
treeOverviewClick(y: number): void;
|
|
786
809
|
setTrackHeight(heightKey: string, height: number): void;
|
|
@@ -789,7 +812,7 @@ export declare function createTestModel(snapshot: Omit<Snapshot, 'type'>, width?
|
|
|
789
812
|
exportNewick(): void;
|
|
790
813
|
setFilter(accession: string, shown: boolean): void;
|
|
791
814
|
fit(): void;
|
|
792
|
-
fitVertically(): void;
|
|
815
|
+
fitVertically(maxRowHeight?: any): void;
|
|
793
816
|
zoomToRegion(region: import("./types.ts").Region): void;
|
|
794
817
|
revealRegion(region: import("./types.ts").Region): void;
|
|
795
818
|
zoomToSelection(): void;
|
|
@@ -800,9 +823,9 @@ export declare function createTestModel(snapshot: Omit<Snapshot, 'type'>, width?
|
|
|
800
823
|
col: number;
|
|
801
824
|
row?: number;
|
|
802
825
|
}): void;
|
|
803
|
-
fitHorizontally(): void;
|
|
826
|
+
fitHorizontally(maxColWidth?: any): void;
|
|
804
827
|
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"> & {
|
|
828
|
+
} & 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
829
|
drawLabels: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
807
830
|
labelsAlignRight: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
808
831
|
treeAreaWidth: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<number>>;
|
|
@@ -813,6 +836,7 @@ export declare function createTestModel(snapshot: Omit<Snapshot, 'type'>, width?
|
|
|
813
836
|
drawNodeBubbles: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
814
837
|
drawNodeLabels: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
815
838
|
showTreeOverview: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
839
|
+
showTreeScaleBar: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
816
840
|
overviewHeight: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<number>, [undefined]>;
|
|
817
841
|
}, "bgColor" | "colorSchemeName" | "customColorScheme" | "msaFormat" | "showColumnStats"> & {
|
|
818
842
|
bgColor: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
@@ -820,15 +844,17 @@ export declare function createTestModel(snapshot: Omit<Snapshot, 'type'>, width?
|
|
|
820
844
|
customColorScheme: import("@jbrowse/mobx-state-tree").IType<Record<string, string> | undefined, Record<string, string> | undefined, Record<string, string> | undefined>;
|
|
821
845
|
showColumnStats: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
822
846
|
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"> & {
|
|
847
|
+
}, "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
848
|
id: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<string>, [undefined]>;
|
|
825
849
|
showDomains: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
850
|
+
domainFill: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
826
851
|
showDomainLegend: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
827
852
|
hideGaps: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
828
853
|
allowedGappyness: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<number>, [undefined]>;
|
|
829
854
|
subFeatureRows: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
830
855
|
type: import("@jbrowse/mobx-state-tree").ILiteralType<"MsaView">;
|
|
831
856
|
drawMsaLetters: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
857
|
+
embeddedMode: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
832
858
|
scrollZoom: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
833
859
|
scrollZoomAxis: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<"both" | "horizontal" | "vertical">, [undefined]>;
|
|
834
860
|
height: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<number>, [undefined]>;
|
|
@@ -1206,6 +1232,7 @@ export declare function createTestModel(snapshot: Omit<Snapshot, 'type'>, width?
|
|
|
1206
1232
|
setDrawNodeBubbles(arg: boolean): void;
|
|
1207
1233
|
setDrawNodeLabels(arg: boolean): void;
|
|
1208
1234
|
setShowTreeOverview(arg: boolean): void;
|
|
1235
|
+
setShowTreeScaleBar(arg: boolean): void;
|
|
1209
1236
|
setDrawLabels(arg: boolean): void;
|
|
1210
1237
|
} & {
|
|
1211
1238
|
setColorSchemeName(name: string): void;
|
|
@@ -1215,6 +1242,11 @@ export declare function createTestModel(snapshot: Omit<Snapshot, 'type'>, width?
|
|
|
1215
1242
|
setMSAFormat(arg?: import("msa-parsers").MSAFormat): void;
|
|
1216
1243
|
} & {
|
|
1217
1244
|
headerHeight: number;
|
|
1245
|
+
settingsOpen: boolean;
|
|
1246
|
+
zoomHeld: {
|
|
1247
|
+
col: number;
|
|
1248
|
+
row: number;
|
|
1249
|
+
};
|
|
1218
1250
|
hideHeader: boolean;
|
|
1219
1251
|
importForm: boolean;
|
|
1220
1252
|
status: {
|
|
@@ -1222,6 +1254,7 @@ export declare function createTestModel(snapshot: Omit<Snapshot, 'type'>, width?
|
|
|
1222
1254
|
onCancel?: () => void;
|
|
1223
1255
|
} | undefined;
|
|
1224
1256
|
highResScaleFactor: number;
|
|
1257
|
+
zoomSnapshot: import("./zoomSnapshot.ts").ZoomSnapshot | undefined;
|
|
1225
1258
|
loadingMSA: boolean;
|
|
1226
1259
|
loadingTree: boolean;
|
|
1227
1260
|
volatileWidth: number | undefined;
|
|
@@ -1252,6 +1285,7 @@ export declare function createTestModel(snapshot: Omit<Snapshot, 'type'>, width?
|
|
|
1252
1285
|
setLoadingMSA(arg: boolean): void;
|
|
1253
1286
|
setLoadingTree(arg: boolean): void;
|
|
1254
1287
|
setWidth(arg: number): void;
|
|
1288
|
+
setSettingsOpen(arg: boolean): void;
|
|
1255
1289
|
setHighResScaleFactor(arg: number): void;
|
|
1256
1290
|
setHeight(height: number): void;
|
|
1257
1291
|
setError(error?: unknown): void;
|
|
@@ -1268,6 +1302,8 @@ export declare function createTestModel(snapshot: Omit<Snapshot, 'type'>, width?
|
|
|
1268
1302
|
applyHighlight(owner: string, highlights: import("./types.ts").Highlight[]): void;
|
|
1269
1303
|
clearHighlight(owner: string): void;
|
|
1270
1304
|
setShowDomains(arg: boolean): void;
|
|
1305
|
+
setDomainFill(arg: boolean): void;
|
|
1306
|
+
setCellFill(mode: 'residue' | 'domain' | 'none'): void;
|
|
1271
1307
|
setShowDomainLegend(arg: boolean): void;
|
|
1272
1308
|
setSubFeatureRows(arg: boolean): void;
|
|
1273
1309
|
setMouseClickPos(col?: number, row?: number): void;
|
|
@@ -1295,8 +1331,6 @@ export declare function createTestModel(snapshot: Omit<Snapshot, 'type'>, width?
|
|
|
1295
1331
|
setGFF(result?: string): void;
|
|
1296
1332
|
} & {
|
|
1297
1333
|
readonly hideGapsEffective: boolean;
|
|
1298
|
-
readonly allAnnotations: import("msa-parsers").Annotation[];
|
|
1299
|
-
readonly actuallyShowDomains: boolean;
|
|
1300
1334
|
readonly hostRestoresData: boolean;
|
|
1301
1335
|
readonly viewInitialized: boolean;
|
|
1302
1336
|
readonly width: number;
|
|
@@ -1324,6 +1358,8 @@ export declare function createTestModel(snapshot: Omit<Snapshot, 'type'>, width?
|
|
|
1324
1358
|
rowDataOf(name: string): Record<string, string> | undefined;
|
|
1325
1359
|
readonly rowFields: string[];
|
|
1326
1360
|
readonly MSA: import("msa-parsers").MSAParserType | null;
|
|
1361
|
+
readonly allAnnotations: import("msa-parsers").Annotation[];
|
|
1362
|
+
readonly actuallyShowDomains: boolean;
|
|
1327
1363
|
readonly numColumns: number;
|
|
1328
1364
|
readonly inputTree: import("./types.ts").NodeWithIds;
|
|
1329
1365
|
readonly tree: import("./types.ts").NodeWithIds;
|
|
@@ -1387,6 +1423,7 @@ export declare function createTestModel(snapshot: Omit<Snapshot, 'type'>, width?
|
|
|
1387
1423
|
color: string | undefined;
|
|
1388
1424
|
}[];
|
|
1389
1425
|
readonly colClustalX: Record<string, string>[];
|
|
1426
|
+
readonly colSimilarity: Record<string, string>[];
|
|
1390
1427
|
readonly conservation: number[];
|
|
1391
1428
|
readonly alphabetMaxBits: number;
|
|
1392
1429
|
readonly propertyConservation: number[];
|
|
@@ -1422,6 +1459,7 @@ export declare function createTestModel(snapshot: Omit<Snapshot, 'type'>, width?
|
|
|
1422
1459
|
readonly adapterTrackModels: import("./types.ts").BasicTrack[];
|
|
1423
1460
|
readonly basePairTrackModels: import("./types.ts").BasicTrack[];
|
|
1424
1461
|
readonly computedTrackModels: import("./types.ts").BasicTrack[];
|
|
1462
|
+
readonly referenceTrackModels: import("./types.ts").BasicTrack[];
|
|
1425
1463
|
readonly tracks: import("./types.ts").BasicTrack[];
|
|
1426
1464
|
readonly turnedOnTracks: import("./types.ts").BasicTrack[];
|
|
1427
1465
|
readonly showHorizontalScrollbar: boolean;
|
|
@@ -1455,7 +1493,10 @@ export declare function createTestModel(snapshot: Omit<Snapshot, 'type'>, width?
|
|
|
1455
1493
|
readonly msaAreaHeight: number;
|
|
1456
1494
|
readonly totalTrackAreaHeight: number;
|
|
1457
1495
|
readonly annotationTypes: Map<string, import("msa-parsers").Annotation>;
|
|
1496
|
+
readonly defaultOffAccessions: Set<string>;
|
|
1497
|
+
featureOff(accession: string): boolean;
|
|
1458
1498
|
readonly filteredAnnotations: import("msa-parsers").Annotation[];
|
|
1499
|
+
readonly cellFill: 'residue' | 'domain' | 'none';
|
|
1459
1500
|
readonly annotationsByRow: Record<string, import("msa-parsers").Annotation[]>;
|
|
1460
1501
|
} & {
|
|
1461
1502
|
readonly showVerticalScrollbar: boolean;
|
|
@@ -1468,6 +1509,7 @@ export declare function createTestModel(snapshot: Omit<Snapshot, 'type'>, width?
|
|
|
1468
1509
|
readonly msaCanvasWidth: number;
|
|
1469
1510
|
readonly maxScrollX: number;
|
|
1470
1511
|
readonly blocks2d: (readonly [number, number])[];
|
|
1512
|
+
readonly wheelZooming: boolean;
|
|
1471
1513
|
readonly isLoading: boolean;
|
|
1472
1514
|
readonly dataWarnings: string[];
|
|
1473
1515
|
readonly warnings: string[];
|
|
@@ -1487,6 +1529,8 @@ export declare function createTestModel(snapshot: Omit<Snapshot, 'type'>, width?
|
|
|
1487
1529
|
zoomIn(): void;
|
|
1488
1530
|
zoomOut(): void;
|
|
1489
1531
|
zoomToPos(scaleFactor: number, offsetX: number, offsetY: number, axis?: import("./constants.ts").ScrollZoomAxis): void;
|
|
1532
|
+
wheelZoomToPos(scaleFactor: number, offsetX: number, offsetY: number): void;
|
|
1533
|
+
endWheelZoom(): void;
|
|
1490
1534
|
doScrollY(deltaY: number): void;
|
|
1491
1535
|
setScrollY(n: number): void;
|
|
1492
1536
|
setAnnotations(annotations: import("msa-parsers").Annotation[]): void;
|
|
@@ -1499,6 +1543,7 @@ export declare function createTestModel(snapshot: Omit<Snapshot, 'type'>, width?
|
|
|
1499
1543
|
setRowPanels(panels: import("./types.ts").RowPanelSpec[]): void;
|
|
1500
1544
|
setResidueMappings(mappings: import("./types.ts").ResidueMapping[]): void;
|
|
1501
1545
|
toggleTrack(id: string): void;
|
|
1546
|
+
setTracksShown(ids: string[], shown: boolean): void;
|
|
1502
1547
|
setStatus(status?: {
|
|
1503
1548
|
msg: string;
|
|
1504
1549
|
onCancel?: () => void;
|
|
@@ -1582,6 +1627,7 @@ export declare function createTestModel(snapshot: Omit<Snapshot, 'type'>, width?
|
|
|
1582
1627
|
} & {
|
|
1583
1628
|
setHeaderHeight(arg: number): void;
|
|
1584
1629
|
setHideHeader(arg: boolean): void;
|
|
1630
|
+
setEmbeddedMode(arg: boolean): void;
|
|
1585
1631
|
setImportForm(arg: boolean): void;
|
|
1586
1632
|
treeOverviewClick(y: number): void;
|
|
1587
1633
|
setTrackHeight(heightKey: string, height: number): void;
|
|
@@ -1590,7 +1636,7 @@ export declare function createTestModel(snapshot: Omit<Snapshot, 'type'>, width?
|
|
|
1590
1636
|
exportNewick(): void;
|
|
1591
1637
|
setFilter(accession: string, shown: boolean): void;
|
|
1592
1638
|
fit(): void;
|
|
1593
|
-
fitVertically(): void;
|
|
1639
|
+
fitVertically(maxRowHeight?: any): void;
|
|
1594
1640
|
zoomToRegion(region: import("./types.ts").Region): void;
|
|
1595
1641
|
revealRegion(region: import("./types.ts").Region): void;
|
|
1596
1642
|
zoomToSelection(): void;
|
|
@@ -1601,7 +1647,7 @@ export declare function createTestModel(snapshot: Omit<Snapshot, 'type'>, width?
|
|
|
1601
1647
|
col: number;
|
|
1602
1648
|
row?: number;
|
|
1603
1649
|
}): void;
|
|
1604
|
-
fitHorizontally(): void;
|
|
1650
|
+
fitHorizontally(maxColWidth?: any): void;
|
|
1605
1651
|
afterCreate(): void;
|
|
1606
1652
|
}, import("@jbrowse/mobx-state-tree")._NotCustomized, {
|
|
1607
1653
|
bgColor: boolean;
|
|
@@ -1619,16 +1665,19 @@ export declare function createTestModel(snapshot: Omit<Snapshot, 'type'>, width?
|
|
|
1619
1665
|
drawNodeBubbles: boolean;
|
|
1620
1666
|
drawNodeLabels: boolean;
|
|
1621
1667
|
showTreeOverview: boolean;
|
|
1668
|
+
showTreeScaleBar: boolean;
|
|
1622
1669
|
overviewHeight: number;
|
|
1623
1670
|
columnTracks: import("./types.ts").ColumnTrackSpec[];
|
|
1624
1671
|
id: string;
|
|
1625
1672
|
showDomains: boolean;
|
|
1673
|
+
domainFill: boolean;
|
|
1626
1674
|
showDomainLegend: boolean;
|
|
1627
1675
|
hideGaps: boolean;
|
|
1628
1676
|
allowedGappyness: number;
|
|
1629
1677
|
subFeatureRows: boolean;
|
|
1630
1678
|
type: "MsaView";
|
|
1631
1679
|
drawMsaLetters: boolean;
|
|
1680
|
+
embeddedMode: boolean;
|
|
1632
1681
|
scrollZoom: boolean;
|
|
1633
1682
|
scrollZoomAxis: "both" | "horizontal" | "vertical";
|
|
1634
1683
|
height: number;
|
|
@@ -1756,16 +1805,19 @@ export declare function createTestModel(snapshot: Omit<Snapshot, 'type'>, width?
|
|
|
1756
1805
|
drawNodeBubbles: boolean;
|
|
1757
1806
|
drawNodeLabels: boolean;
|
|
1758
1807
|
showTreeOverview: boolean;
|
|
1808
|
+
showTreeScaleBar: boolean;
|
|
1759
1809
|
overviewHeight: number;
|
|
1760
1810
|
columnTracks?: undefined;
|
|
1761
1811
|
id: string;
|
|
1762
1812
|
showDomains: boolean;
|
|
1813
|
+
domainFill: boolean;
|
|
1763
1814
|
showDomainLegend: boolean;
|
|
1764
1815
|
hideGaps: boolean;
|
|
1765
1816
|
allowedGappyness: number;
|
|
1766
1817
|
subFeatureRows: boolean;
|
|
1767
1818
|
type: "MsaView";
|
|
1768
1819
|
drawMsaLetters: boolean;
|
|
1820
|
+
embeddedMode: boolean;
|
|
1769
1821
|
scrollZoom: boolean;
|
|
1770
1822
|
scrollZoomAxis: "both" | "horizontal" | "vertical";
|
|
1771
1823
|
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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"}
|