react-msaview 9.0.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/README.md +19 -10
- 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 +2 -3
- package/dist/colorSchemes.js.map +1 -1
- package/dist/columnCounts.d.ts +0 -1
- package/dist/columnCounts.js +1 -1
- package/dist/columnCounts.js.map +1 -1
- package/dist/components/Loading.d.ts +3 -2
- package/dist/components/Loading.js +7 -7
- 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 +1941 -4
- package/dist/components/MSAViewer.js +144 -201
- package/dist/components/MSAViewer.js.map +1 -1
- 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/ResizeHandles.js +3 -2
- package/dist/components/ResizeHandles.js.map +1 -1
- package/dist/components/Track.js +8 -1
- package/dist/components/Track.js.map +1 -1
- package/dist/components/controls.d.ts +11 -0
- package/dist/components/controls.js +49 -0
- package/dist/components/controls.js.map +1 -0
- package/dist/components/dialogs/AnnotationFileDialog.js +12 -18
- package/dist/components/dialogs/AnnotationFileDialog.js.map +1 -1
- package/dist/components/dialogs/ExportSVGDialog.js +5 -7
- package/dist/components/dialogs/ExportSVGDialog.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/TreeSettingsMenu.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/HelpDialog.d.ts +6 -0
- package/dist/components/dialogs/HelpDialog.js +30 -0
- package/dist/components/dialogs/HelpDialog.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 -34
- package/dist/components/header/Header.js.map +1 -1
- package/dist/components/header/HiddenColumnsChip.d.ts +6 -0
- package/dist/components/header/HiddenColumnsChip.js +15 -0
- package/dist/components/header/HiddenColumnsChip.js.map +1 -0
- package/dist/components/header/{FileMenu.d.ts → MenuBar.d.ts} +3 -3
- 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 +12 -48
- 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/import/data/seq2.d.ts +0 -1
- package/dist/components/import/data/seq2.js +0 -17
- package/dist/components/import/data/seq2.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 +28 -10
- package/dist/components/msa/MSACanvas.js.map +1 -1
- package/dist/components/msa/MSACanvasBlock.js +17 -16
- 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/drawFeatureSpans.d.ts +50 -11
- package/dist/components/msa/drawFeatureSpans.js +99 -56
- package/dist/components/msa/drawFeatureSpans.js.map +1 -1
- package/dist/components/msa/msaKeys.js +3 -0
- package/dist/components/msa/msaKeys.js.map +1 -1
- package/dist/components/msa/msaRaster.d.ts +14 -2
- package/dist/components/msa/msaRaster.js +20 -10
- package/dist/components/msa/msaRaster.js.map +1 -1
- package/dist/components/msa/renderBoxFeatureCanvasBlock.d.ts +9 -0
- package/dist/components/msa/renderBoxFeatureCanvasBlock.js +39 -8
- package/dist/components/msa/renderBoxFeatureCanvasBlock.js.map +1 -1
- package/dist/components/msa/renderHighlights.d.ts +2 -5
- package/dist/components/msa/renderHighlights.js +5 -6
- 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/renderMSAMouseover.js +2 -1
- package/dist/components/msa/renderMSAMouseover.js.map +1 -1
- package/dist/components/msa/tileColor.js +7 -0
- package/dist/components/msa/tileColor.js.map +1 -1
- package/dist/components/renderCtx.d.ts +1 -1
- package/dist/components/rowpanels/RowPanelBlock.js +2 -2
- package/dist/components/rowpanels/RowPanelBlock.js.map +1 -1
- package/dist/components/rowpanels/renderFeaturePanel.d.ts +5 -1
- package/dist/components/rowpanels/renderFeaturePanel.js +12 -5
- package/dist/components/rowpanels/renderFeaturePanel.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/ZoomMenu.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/tracks/drawTracks.d.ts +1 -53
- package/dist/components/tracks/drawTracks.js +5 -5
- package/dist/components/tracks/drawTracks.js.map +1 -1
- package/dist/components/tree/CladeLabels.d.ts +1 -1
- package/dist/components/tree/CladeLabels.js +22 -34
- package/dist/components/tree/CladeLabels.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/components/tree/cladeBrackets.d.ts +17 -10
- package/dist/components/tree/cladeBrackets.js +33 -3
- package/dist/components/tree/cladeBrackets.js.map +1 -1
- package/dist/components/tree/renderTreeCanvas.js +2 -8
- package/dist/components/tree/renderTreeCanvas.js.map +1 -1
- package/dist/components/tree/renderTreeOverview.js +4 -11
- package/dist/components/tree/renderTreeOverview.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 +25 -53
- package/dist/element.js.map +1 -1
- package/dist/exportLayout.d.ts +39 -0
- package/dist/exportLayout.js +78 -0
- package/dist/exportLayout.js.map +1 -0
- 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/headlessRenderEnv.d.ts +12 -39
- package/dist/headlessRenderEnv.js +18 -12
- package/dist/headlessRenderEnv.js.map +1 -1
- package/dist/hierarchy.d.ts +5 -8
- package/dist/hierarchy.js +5 -79
- package/dist/hierarchy.js.map +1 -1
- package/dist/index.d.ts +6 -1
- package/dist/index.js +6 -1
- package/dist/index.js.map +1 -1
- package/dist/measureTextCanvas.d.ts +7 -0
- package/dist/measureTextCanvas.js +8 -6
- package/dist/measureTextCanvas.js.map +1 -1
- package/dist/model/treeModel.d.ts +6 -2
- package/dist/model/treeModel.js +8 -4
- package/dist/model/treeModel.js.map +1 -1
- package/dist/model.d.ts +180 -76
- package/dist/model.js +358 -618
- package/dist/model.js.map +1 -1
- package/dist/neighborJoining.js +1 -40
- package/dist/neighborJoining.js.map +1 -1
- package/dist/renderToSvg.d.ts +2 -7
- package/dist/renderToSvg.js +33 -133
- 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 +74 -32
- 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 -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/viewerSnapshot.d.ts +169 -0
- package/dist/viewerSnapshot.js +100 -0
- package/dist/viewerSnapshot.js.map +1 -0
- 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 +2 -4
- package/src/columnCounts.ts +1 -1
- package/src/components/Loading.tsx +25 -14
- package/src/components/MSAView.tsx +22 -5
- package/src/components/MSAViewer.tsx +275 -251
- package/src/components/MetadataTable.tsx +83 -26
- package/src/components/ResizeHandles.tsx +9 -2
- package/src/components/Track.tsx +15 -1
- package/src/components/controls.ts +62 -0
- package/src/components/dialogs/AnnotationFileDialog.tsx +16 -21
- package/src/components/dialogs/ExportSVGDialog.tsx +8 -19
- 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/HelpDialog.tsx +79 -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 -44
- 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 +23 -74
- 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/import/data/seq2.ts +0 -18
- 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 +24 -4
- package/src/components/msa/MSACanvasBlock.tsx +20 -17
- package/src/components/msa/MSAMouseoverCanvas.tsx +2 -2
- package/src/components/msa/WheelZoomHint.tsx +56 -0
- package/src/components/msa/drawFeatureSpans.ts +160 -79
- package/src/components/msa/msaKeys.ts +3 -0
- package/src/components/msa/msaRaster.ts +26 -10
- package/src/components/msa/renderBoxFeatureCanvasBlock.ts +62 -24
- package/src/components/msa/renderHighlights.ts +5 -6
- package/src/components/msa/renderMSABlock.ts +51 -15
- package/src/components/msa/renderMSAMouseover.ts +5 -1
- package/src/components/msa/tileColor.ts +7 -0
- package/src/components/renderCtx.ts +0 -1
- package/src/components/rowpanels/RowPanelBlock.tsx +2 -2
- package/src/components/rowpanels/renderFeaturePanel.ts +26 -7
- 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/tracks/drawTracks.ts +5 -5
- package/src/components/tree/CladeLabels.tsx +30 -54
- 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/components/tree/cladeBrackets.ts +50 -3
- package/src/components/tree/renderTreeCanvas.ts +2 -13
- package/src/components/tree/renderTreeOverview.ts +7 -14
- package/src/constants.ts +9 -1
- package/src/darkReader.ts +57 -0
- package/src/element.ts +37 -64
- package/src/exportLayout.ts +134 -0
- package/src/featurePanels.ts +269 -0
- package/src/filehandleLoader.ts +136 -0
- package/src/headlessRenderEnv.ts +24 -11
- package/src/hierarchy.ts +5 -88
- package/src/index.ts +9 -5
- package/src/measureTextCanvas.ts +8 -6
- package/src/model/treeModel.ts +9 -3
- package/src/model.ts +452 -807
- package/src/neighborJoining.ts +1 -42
- package/src/renderToSvg.tsx +56 -207
- 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 -4
- package/src/useWheelScroll.ts +43 -22
- package/src/util.ts +3 -0
- package/src/version.ts +1 -1
- package/src/viewerSnapshot.ts +147 -0
- 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 -66
- 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.d.ts +0 -6
- 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 -42
- package/dist/components/header/TreeSettingsMenu.js.map +0 -1
- package/dist/components/header/ZoomMenu.js +0 -37
- package/dist/components/header/ZoomMenu.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 -4
- package/dist/components/header/settingsMenuItems.js +0 -127
- package/dist/components/header/settingsMenuItems.js.map +0 -1
- package/src/components/header/ColorSchemeMenu.tsx +0 -56
- package/src/components/header/FileMenu.tsx +0 -81
- package/src/components/header/MSASettingsMenu.tsx +0 -26
- package/src/components/header/ScrollZoomIcons.tsx +0 -52
- package/src/components/header/TreeSettingsMenu.tsx +0 -60
- package/src/components/header/ZoomMenu.tsx +0 -48
- package/src/components/header/settingsMenuItems.ts +0 -157
|
@@ -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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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -21,11 +21,9 @@ export type ColorScheme = string | Required<Pick<ScaleSpec, 'map'>>;
|
|
|
21
21
|
export interface BasicTrackModel {
|
|
22
22
|
id: string;
|
|
23
23
|
name: string;
|
|
24
|
-
associatedRowName?: string;
|
|
25
24
|
height: number;
|
|
26
25
|
kind: TrackKind;
|
|
27
26
|
heightKey?: string;
|
|
28
|
-
defaultOff?: boolean;
|
|
29
27
|
}
|
|
30
28
|
export interface TextTrackModel extends BasicTrackModel {
|
|
31
29
|
customColorScheme?: Record<string, string>;
|
|
@@ -44,7 +42,6 @@ export interface ArcTrackModel extends BasicTrackModel {
|
|
|
44
42
|
arcColor?: string;
|
|
45
43
|
}
|
|
46
44
|
export interface BasicTrack {
|
|
47
|
-
ReactComponent: React.FC<any>;
|
|
48
45
|
model: TextTrackModel & BarTrackModel & ArcTrackModel;
|
|
49
46
|
}
|
|
50
47
|
export interface ArcSpec {
|
|
@@ -171,6 +168,12 @@ export interface MappedStructure {
|
|
|
171
168
|
id: string;
|
|
172
169
|
kind?: 'experimental' | 'predicted';
|
|
173
170
|
asymId?: string;
|
|
171
|
+
/**
|
|
172
|
+
* which id `asymId` is, the file's `label_asym_id` or the author's
|
|
173
|
+
* `auth_asym_id`. Unset reads as either, label first, which is right for the
|
|
174
|
+
* common entry whose two ids agree and wrong where they collide.
|
|
175
|
+
*/
|
|
176
|
+
asymIdKind?: 'label' | 'auth';
|
|
174
177
|
url?: string;
|
|
175
178
|
}
|
|
176
179
|
/**
|
package/dist/useWheelScroll.d.ts
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
export declare function useWheelScroll({ ref, onScrollX, onScrollY, onZoom, scrollZoom, }: {
|
|
1
|
+
export declare function useWheelScroll({ ref, onScrollX, onScrollY, onZoom, onZoomSettle, onWheelScroll, scrollZoom, }: {
|
|
2
2
|
ref: React.RefObject<HTMLDivElement | null>;
|
|
3
3
|
onScrollX?: (delta: number) => void;
|
|
4
4
|
onScrollY?: (delta: number) => void;
|
|
5
5
|
onZoom?: (scaleFactor: number, offsetX: number, offsetY: number) => void;
|
|
6
|
+
onZoomSettle?: () => void;
|
|
7
|
+
onWheelScroll?: (event: WheelEvent) => void;
|
|
6
8
|
scrollZoom?: boolean;
|
|
7
9
|
}): {
|
|
8
10
|
onMouseDown: (event: React.MouseEvent) => void;
|
package/dist/useWheelScroll.js
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { useEffect, useRef, useState } from 'react';
|
|
2
|
-
import {
|
|
3
|
-
|
|
2
|
+
import { WheelZoomSmoother } from './wheelZoom.js';
|
|
3
|
+
const zoomSettleMs = 150;
|
|
4
|
+
export function useWheelScroll({ ref, onScrollX, onScrollY, onZoom, onZoomSettle, onWheelScroll, scrollZoom, }) {
|
|
4
5
|
const scheduled = useRef(false);
|
|
5
|
-
const
|
|
6
|
+
const zoomFrame = useRef(undefined);
|
|
7
|
+
const zoomSettle = useRef(undefined);
|
|
6
8
|
const deltaX = useRef(0);
|
|
7
9
|
const deltaY = useRef(0);
|
|
8
|
-
const
|
|
10
|
+
const zoomSmoother = useRef(new WheelZoomSmoother());
|
|
9
11
|
const zoomX = useRef(0);
|
|
10
12
|
const zoomY = useRef(0);
|
|
11
13
|
const lastZoomTime = useRef(null);
|
|
@@ -26,23 +28,26 @@ export function useWheelScroll({ ref, onScrollX, onScrollY, onZoom, scrollZoom,
|
|
|
26
28
|
!event.shiftKey &&
|
|
27
29
|
Math.abs(event.deltaY) >= Math.abs(event.deltaX);
|
|
28
30
|
if (onZoom && (isCtrlZoom || isScrollZoom)) {
|
|
31
|
+
const zoom = onZoom;
|
|
29
32
|
const rect = curr.getBoundingClientRect();
|
|
30
|
-
|
|
31
|
-
// factor so fine pinches and coarse notches feel consistent
|
|
32
|
-
const dY = normalizeWheelDelta(event.deltaY, event.deltaMode);
|
|
33
|
-
const divisor = isCtrlZoom ? getZoomNormalizer(dY) : SCROLL_ZOOM_DIVISOR;
|
|
34
|
-
zoomAccum.current += dY / divisor;
|
|
33
|
+
zoomSmoother.current.add(event.deltaY, event.deltaMode, isCtrlZoom);
|
|
35
34
|
zoomX.current = event.clientX - rect.left;
|
|
36
35
|
zoomY.current = event.clientY - rect.top;
|
|
37
|
-
if (
|
|
38
|
-
|
|
39
|
-
|
|
36
|
+
if (zoomFrame.current === undefined) {
|
|
37
|
+
lastZoomTime.current = null;
|
|
38
|
+
const frame = (now) => {
|
|
40
39
|
const elapsed = lastZoomTime.current === null ? 16.67 : now - lastZoomTime.current;
|
|
41
40
|
lastZoomTime.current = now;
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
41
|
+
zoom(zoomSmoother.current.step(Math.min(100, elapsed)), zoomX.current, zoomY.current);
|
|
42
|
+
clearTimeout(zoomSettle.current);
|
|
43
|
+
zoomSettle.current = setTimeout(() => {
|
|
44
|
+
onZoomSettle?.();
|
|
45
|
+
}, zoomSettleMs);
|
|
46
|
+
zoomFrame.current = zoomSmoother.current.idle
|
|
47
|
+
? undefined
|
|
48
|
+
: requestAnimationFrame(frame);
|
|
49
|
+
};
|
|
50
|
+
zoomFrame.current = requestAnimationFrame(frame);
|
|
46
51
|
}
|
|
47
52
|
event.preventDefault();
|
|
48
53
|
event.stopPropagation();
|
|
@@ -53,6 +58,7 @@ export function useWheelScroll({ ref, onScrollX, onScrollY, onZoom, scrollZoom,
|
|
|
53
58
|
const consumeX = !!onScrollX && event.deltaX !== 0;
|
|
54
59
|
const consumeY = !!onScrollY && event.deltaY !== 0;
|
|
55
60
|
if (consumeX || consumeY) {
|
|
61
|
+
onWheelScroll?.(event);
|
|
56
62
|
if (onScrollX) {
|
|
57
63
|
deltaX.current += event.deltaX;
|
|
58
64
|
}
|
|
@@ -80,8 +86,21 @@ export function useWheelScroll({ ref, onScrollX, onScrollY, onZoom, scrollZoom,
|
|
|
80
86
|
curr.addEventListener('wheel', onWheel, { passive: false });
|
|
81
87
|
return () => {
|
|
82
88
|
curr.removeEventListener('wheel', onWheel);
|
|
89
|
+
if (zoomFrame.current !== undefined) {
|
|
90
|
+
cancelAnimationFrame(zoomFrame.current);
|
|
91
|
+
zoomFrame.current = undefined;
|
|
92
|
+
}
|
|
93
|
+
clearTimeout(zoomSettle.current);
|
|
83
94
|
};
|
|
84
|
-
}, [
|
|
95
|
+
}, [
|
|
96
|
+
ref,
|
|
97
|
+
onScrollX,
|
|
98
|
+
onScrollY,
|
|
99
|
+
onZoom,
|
|
100
|
+
onZoomSettle,
|
|
101
|
+
onWheelScroll,
|
|
102
|
+
scrollZoom,
|
|
103
|
+
]);
|
|
85
104
|
useEffect(() => {
|
|
86
105
|
if (!mouseDragging) {
|
|
87
106
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useWheelScroll.js","sourceRoot":"","sources":["../src/useWheelScroll.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEnD,OAAO,
|
|
1
|
+
{"version":3,"file":"useWheelScroll.js","sourceRoot":"","sources":["../src/useWheelScroll.ts"],"names":[],"mappings":"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"}
|
package/dist/util.d.ts
CHANGED
package/dist/util.js
CHANGED
|
@@ -127,4 +127,6 @@ export function computeRowInsertions(blanks, seq) {
|
|
|
127
127
|
export function len(a) {
|
|
128
128
|
return a.end - a.start;
|
|
129
129
|
}
|
|
130
|
+
/** reads computeds so a reaction observes them, which keeps them cached */
|
|
131
|
+
export function readComputed(..._values) { }
|
|
130
132
|
//# sourceMappingURL=util.js.map
|
package/dist/util.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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"}
|
package/dist/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const version = "9.
|
|
1
|
+
export declare const version = "9.1.1";
|
package/dist/version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const version = '9.
|
|
1
|
+
export const version = '9.1.1';
|
|
2
2
|
//# sourceMappingURL=version.js.map
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
import type { MSAViewerProps } from './components/MSAViewer.tsx';
|
|
2
|
+
import type { ColorScheme, Highlight } from './types.ts';
|
|
3
|
+
export declare function colorSchemeSnapshot(scheme: ColorScheme | undefined): {
|
|
4
|
+
colorSchemeName: string;
|
|
5
|
+
customColorScheme?: undefined;
|
|
6
|
+
} | {
|
|
7
|
+
colorSchemeName?: undefined;
|
|
8
|
+
customColorScheme: Record<string, string>;
|
|
9
|
+
} | {
|
|
10
|
+
colorSchemeName?: undefined;
|
|
11
|
+
customColorScheme?: undefined;
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* The `highlightColumns` prop as `highlights`: one `{start, end}` per run of
|
|
15
|
+
* adjacent 1-based alignment columns
|
|
16
|
+
*/
|
|
17
|
+
export declare function columnHighlights(columns?: number[]): {
|
|
18
|
+
start: number;
|
|
19
|
+
end: number;
|
|
20
|
+
}[];
|
|
21
|
+
export declare function viewerHighlights({ highlights, highlightColumns, }: Pick<MSAViewerProps, 'highlights' | 'highlightColumns'>): Highlight[];
|
|
22
|
+
/** each filehandle prop, or the URL prop standing in for it */
|
|
23
|
+
export declare function fileLocations({ msaFilehandle, treeFilehandle, gffFilehandle, msaUrl, treeUrl, gffUrl, }: MSAViewerProps): {
|
|
24
|
+
msaFilehandle: import("@jbrowse/core/util").BlobLocation | import("@jbrowse/core/util").FileHandleLocation | import("@jbrowse/core/util").LocalPathLocation | {
|
|
25
|
+
uri: string;
|
|
26
|
+
locationType: 'UriLocation';
|
|
27
|
+
} | undefined;
|
|
28
|
+
treeFilehandle: import("@jbrowse/core/util").BlobLocation | import("@jbrowse/core/util").FileHandleLocation | import("@jbrowse/core/util").LocalPathLocation | {
|
|
29
|
+
uri: string;
|
|
30
|
+
locationType: 'UriLocation';
|
|
31
|
+
} | undefined;
|
|
32
|
+
gffFilehandle: import("@jbrowse/core/util").BlobLocation | import("@jbrowse/core/util").FileHandleLocation | import("@jbrowse/core/util").LocalPathLocation | {
|
|
33
|
+
uri: string;
|
|
34
|
+
locationType: 'UriLocation';
|
|
35
|
+
} | undefined;
|
|
36
|
+
};
|
|
37
|
+
export declare function resolveTheme(theme: MSAViewerProps['theme']): import("@mui/material").Theme;
|
|
38
|
+
/**
|
|
39
|
+
* The model snapshot `MSAViewer` creates from its props. The CLI's `--props`
|
|
40
|
+
* reads the same JSON the R and Python widgets send, so a figure exported
|
|
41
|
+
* headlessly draws what the widget drew.
|
|
42
|
+
*/
|
|
43
|
+
export declare function viewerSnapshot(props: MSAViewerProps): {
|
|
44
|
+
colorSchemeName: string;
|
|
45
|
+
customColorScheme?: undefined;
|
|
46
|
+
type: 'MsaView';
|
|
47
|
+
data?: {
|
|
48
|
+
msa: string;
|
|
49
|
+
tree: string;
|
|
50
|
+
gff: string | undefined;
|
|
51
|
+
treeMetadata?: string | undefined;
|
|
52
|
+
} | undefined;
|
|
53
|
+
msaFilehandle?: import("@jbrowse/core/util").BlobLocation | import("@jbrowse/core/util").FileHandleLocation | import("@jbrowse/core/util").LocalPathLocation | {
|
|
54
|
+
uri: string;
|
|
55
|
+
locationType: 'UriLocation';
|
|
56
|
+
} | undefined;
|
|
57
|
+
treeFilehandle?: import("@jbrowse/core/util").BlobLocation | import("@jbrowse/core/util").FileHandleLocation | import("@jbrowse/core/util").LocalPathLocation | {
|
|
58
|
+
uri: string;
|
|
59
|
+
locationType: 'UriLocation';
|
|
60
|
+
} | undefined;
|
|
61
|
+
gffFilehandle?: import("@jbrowse/core/util").BlobLocation | import("@jbrowse/core/util").FileHandleLocation | import("@jbrowse/core/util").LocalPathLocation | {
|
|
62
|
+
uri: string;
|
|
63
|
+
locationType: 'UriLocation';
|
|
64
|
+
} | undefined;
|
|
65
|
+
height?: number | undefined;
|
|
66
|
+
colWidth?: number | undefined;
|
|
67
|
+
rowHeight?: number | undefined;
|
|
68
|
+
allowedGappyness?: number | undefined;
|
|
69
|
+
highlights?: Highlight[] | undefined;
|
|
70
|
+
features?: import("./types.ts").Feature[] | undefined;
|
|
71
|
+
selection?: import("./types.ts").MsaSelection | undefined;
|
|
72
|
+
clades?: import("./types.ts").Clade[] | undefined;
|
|
73
|
+
relativeTo?: string | undefined;
|
|
74
|
+
columnTracks?: import("./types.ts").ColumnTrackSpec[] | undefined;
|
|
75
|
+
residueMappings?: import("./types.ts").ResidueMapping[] | undefined;
|
|
76
|
+
encodings?: import("./types.ts").Encoding[] | undefined;
|
|
77
|
+
rowPanels?: import("./types.ts").RowPanelSpec[] | undefined;
|
|
78
|
+
drawTree?: boolean | undefined;
|
|
79
|
+
treeAreaWidth?: number | undefined;
|
|
80
|
+
showBranchLen?: boolean | undefined;
|
|
81
|
+
treeOrder?: import("./types.ts").TreeOrder | undefined;
|
|
82
|
+
treeRoot?: import("./types.ts").TreeRoot | undefined;
|
|
83
|
+
region?: import("./types.ts").Region | undefined;
|
|
84
|
+
bgColor?: boolean | undefined;
|
|
85
|
+
} | {
|
|
86
|
+
colorSchemeName?: undefined;
|
|
87
|
+
customColorScheme: Record<string, string>;
|
|
88
|
+
type: 'MsaView';
|
|
89
|
+
data?: {
|
|
90
|
+
msa: string;
|
|
91
|
+
tree: string;
|
|
92
|
+
gff: string | undefined;
|
|
93
|
+
treeMetadata?: string | undefined;
|
|
94
|
+
} | undefined;
|
|
95
|
+
msaFilehandle?: import("@jbrowse/core/util").BlobLocation | import("@jbrowse/core/util").FileHandleLocation | import("@jbrowse/core/util").LocalPathLocation | {
|
|
96
|
+
uri: string;
|
|
97
|
+
locationType: 'UriLocation';
|
|
98
|
+
} | undefined;
|
|
99
|
+
treeFilehandle?: import("@jbrowse/core/util").BlobLocation | import("@jbrowse/core/util").FileHandleLocation | import("@jbrowse/core/util").LocalPathLocation | {
|
|
100
|
+
uri: string;
|
|
101
|
+
locationType: 'UriLocation';
|
|
102
|
+
} | undefined;
|
|
103
|
+
gffFilehandle?: import("@jbrowse/core/util").BlobLocation | import("@jbrowse/core/util").FileHandleLocation | import("@jbrowse/core/util").LocalPathLocation | {
|
|
104
|
+
uri: string;
|
|
105
|
+
locationType: 'UriLocation';
|
|
106
|
+
} | undefined;
|
|
107
|
+
height?: number | undefined;
|
|
108
|
+
colWidth?: number | undefined;
|
|
109
|
+
rowHeight?: number | undefined;
|
|
110
|
+
allowedGappyness?: number | undefined;
|
|
111
|
+
highlights?: Highlight[] | undefined;
|
|
112
|
+
features?: import("./types.ts").Feature[] | undefined;
|
|
113
|
+
selection?: import("./types.ts").MsaSelection | undefined;
|
|
114
|
+
clades?: import("./types.ts").Clade[] | undefined;
|
|
115
|
+
relativeTo?: string | undefined;
|
|
116
|
+
columnTracks?: import("./types.ts").ColumnTrackSpec[] | undefined;
|
|
117
|
+
residueMappings?: import("./types.ts").ResidueMapping[] | undefined;
|
|
118
|
+
encodings?: import("./types.ts").Encoding[] | undefined;
|
|
119
|
+
rowPanels?: import("./types.ts").RowPanelSpec[] | undefined;
|
|
120
|
+
drawTree?: boolean | undefined;
|
|
121
|
+
treeAreaWidth?: number | undefined;
|
|
122
|
+
showBranchLen?: boolean | undefined;
|
|
123
|
+
treeOrder?: import("./types.ts").TreeOrder | undefined;
|
|
124
|
+
treeRoot?: import("./types.ts").TreeRoot | undefined;
|
|
125
|
+
region?: import("./types.ts").Region | undefined;
|
|
126
|
+
bgColor?: boolean | undefined;
|
|
127
|
+
} | {
|
|
128
|
+
colorSchemeName?: undefined;
|
|
129
|
+
customColorScheme?: undefined;
|
|
130
|
+
type: 'MsaView';
|
|
131
|
+
data?: {
|
|
132
|
+
msa: string;
|
|
133
|
+
tree: string;
|
|
134
|
+
gff: string | undefined;
|
|
135
|
+
treeMetadata?: string | undefined;
|
|
136
|
+
} | undefined;
|
|
137
|
+
msaFilehandle?: import("@jbrowse/core/util").BlobLocation | import("@jbrowse/core/util").FileHandleLocation | import("@jbrowse/core/util").LocalPathLocation | {
|
|
138
|
+
uri: string;
|
|
139
|
+
locationType: 'UriLocation';
|
|
140
|
+
} | undefined;
|
|
141
|
+
treeFilehandle?: import("@jbrowse/core/util").BlobLocation | import("@jbrowse/core/util").FileHandleLocation | import("@jbrowse/core/util").LocalPathLocation | {
|
|
142
|
+
uri: string;
|
|
143
|
+
locationType: 'UriLocation';
|
|
144
|
+
} | undefined;
|
|
145
|
+
gffFilehandle?: import("@jbrowse/core/util").BlobLocation | import("@jbrowse/core/util").FileHandleLocation | import("@jbrowse/core/util").LocalPathLocation | {
|
|
146
|
+
uri: string;
|
|
147
|
+
locationType: 'UriLocation';
|
|
148
|
+
} | undefined;
|
|
149
|
+
height?: number | undefined;
|
|
150
|
+
colWidth?: number | undefined;
|
|
151
|
+
rowHeight?: number | undefined;
|
|
152
|
+
allowedGappyness?: number | undefined;
|
|
153
|
+
highlights?: Highlight[] | undefined;
|
|
154
|
+
features?: import("./types.ts").Feature[] | undefined;
|
|
155
|
+
selection?: import("./types.ts").MsaSelection | undefined;
|
|
156
|
+
clades?: import("./types.ts").Clade[] | undefined;
|
|
157
|
+
relativeTo?: string | undefined;
|
|
158
|
+
columnTracks?: import("./types.ts").ColumnTrackSpec[] | undefined;
|
|
159
|
+
residueMappings?: import("./types.ts").ResidueMapping[] | undefined;
|
|
160
|
+
encodings?: import("./types.ts").Encoding[] | undefined;
|
|
161
|
+
rowPanels?: import("./types.ts").RowPanelSpec[] | undefined;
|
|
162
|
+
drawTree?: boolean | undefined;
|
|
163
|
+
treeAreaWidth?: number | undefined;
|
|
164
|
+
showBranchLen?: boolean | undefined;
|
|
165
|
+
treeOrder?: import("./types.ts").TreeOrder | undefined;
|
|
166
|
+
treeRoot?: import("./types.ts").TreeRoot | undefined;
|
|
167
|
+
region?: import("./types.ts").Region | undefined;
|
|
168
|
+
bgColor?: boolean | undefined;
|
|
169
|
+
};
|