react-msaview 4.0.3 → 4.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundle/index.js +285 -103
- package/dist/colorSchemes.js +1 -1
- package/dist/colorSchemes.js.map +1 -1
- package/dist/components/Checkbox2.js.map +1 -1
- package/dist/components/Loading.js +4 -5
- package/dist/components/Loading.js.map +1 -1
- package/dist/components/MSAView.js +3 -4
- package/dist/components/MSAView.js.map +1 -1
- package/dist/components/ResizeHandles.js.map +1 -1
- package/dist/components/SequenceTextArea.js +1 -2
- package/dist/components/SequenceTextArea.js.map +1 -1
- package/dist/components/TextTrack.d.ts +1 -1
- package/dist/components/TextTrack.js +1 -1
- package/dist/components/TextTrack.js.map +1 -1
- package/dist/components/Track.js +4 -5
- package/dist/components/Track.js.map +1 -1
- package/dist/components/VerticalScrollbar.js +1 -1
- package/dist/components/VerticalScrollbar.js.map +1 -1
- package/dist/components/dialogs/AboutDialog.js +4 -4
- package/dist/components/dialogs/AboutDialog.js.map +1 -1
- package/dist/components/dialogs/AddTrackDialog.js +1 -1
- package/dist/components/dialogs/AddTrackDialog.js.map +1 -1
- package/dist/components/dialogs/DomainDialog.js +1 -2
- package/dist/components/dialogs/DomainDialog.js.map +1 -1
- package/dist/components/dialogs/ExportSVGDialog.js +1 -1
- package/dist/components/dialogs/ExportSVGDialog.js.map +1 -1
- package/dist/components/dialogs/FeatureDialog.js +1 -1
- package/dist/components/dialogs/FeatureDialog.js.map +1 -1
- package/dist/components/dialogs/InterProScanDialog.js +3 -3
- package/dist/components/dialogs/InterProScanDialog.js.map +1 -1
- package/dist/components/dialogs/MetadataDialog.js +3 -3
- package/dist/components/dialogs/MetadataDialog.js.map +1 -1
- package/dist/components/dialogs/SettingsDialog.js +3 -3
- package/dist/components/dialogs/SettingsDialog.js.map +1 -1
- package/dist/components/dialogs/TrackInfoDialog.js +2 -2
- package/dist/components/dialogs/TrackInfoDialog.js.map +1 -1
- package/dist/components/dialogs/TracklistDialog.js +1 -1
- package/dist/components/dialogs/TracklistDialog.js.map +1 -1
- package/dist/components/dialogs/UserProvidedDomainsDialog.js +3 -3
- package/dist/components/dialogs/UserProvidedDomainsDialog.js.map +1 -1
- package/dist/components/header/Header.js +5 -7
- package/dist/components/header/Header.js.map +1 -1
- package/dist/components/header/HeaderInfoArea.js.map +1 -1
- package/dist/components/header/HeaderMenu.js +3 -4
- package/dist/components/header/HeaderMenu.js.map +1 -1
- package/dist/components/header/HeaderMenuExtra.js +8 -9
- package/dist/components/header/HeaderMenuExtra.js.map +1 -1
- package/dist/components/header/HeaderStatusArea.js +1 -1
- package/dist/components/header/HeaderStatusArea.js.map +1 -1
- package/dist/components/header/MultiAlignmentSelector.js +1 -1
- package/dist/components/header/MultiAlignmentSelector.js.map +1 -1
- package/dist/components/header/ZoomControls.js +11 -5
- package/dist/components/header/ZoomControls.js.map +1 -1
- package/dist/components/import/ImportForm.js +19 -15
- package/dist/components/import/ImportForm.js.map +1 -1
- package/dist/components/import/ImportFormExamples.js +2 -2
- package/dist/components/import/ImportFormExamples.js.map +1 -1
- package/dist/components/import/util.d.ts +1 -1
- package/dist/components/minimap/Minimap.js.map +1 -1
- package/dist/components/minimap/MinimapSVG.js.map +1 -1
- package/dist/components/msa/Loading.js +1 -1
- package/dist/components/msa/Loading.js.map +1 -1
- package/dist/components/msa/MSACanvas.js +2 -2
- package/dist/components/msa/MSACanvas.js.map +1 -1
- package/dist/components/msa/MSACanvasBlock.js +12 -5
- package/dist/components/msa/MSACanvasBlock.js.map +1 -1
- package/dist/components/msa/MSAMouseoverCanvas.js +1 -1
- package/dist/components/msa/MSAMouseoverCanvas.js.map +1 -1
- package/dist/components/msa/MSAPanel.js +0 -1
- package/dist/components/msa/MSAPanel.js.map +1 -1
- package/dist/components/msa/renderBoxFeatureCanvasBlock.js.map +1 -1
- package/dist/components/msa/renderMSABlock.d.ts +1 -1
- package/dist/components/msa/renderMSABlock.js.map +1 -1
- package/dist/components/tree/TreeBranchMenu.js.map +1 -1
- package/dist/components/tree/TreeCanvas.js +1 -2
- package/dist/components/tree/TreeCanvas.js.map +1 -1
- package/dist/components/tree/TreeCanvasBlock.js +7 -6
- package/dist/components/tree/TreeCanvasBlock.js.map +1 -1
- package/dist/components/tree/TreeNodeMenu.js.map +1 -1
- package/dist/components/tree/TreePanel.js.map +1 -1
- package/dist/components/tree/TreeRuler.js.map +1 -1
- package/dist/components/tree/dialogs/TreeNodeInfoDialog.js +2 -2
- package/dist/components/tree/dialogs/TreeNodeInfoDialog.js.map +1 -1
- package/dist/components/tree/renderTreeCanvas.d.ts +2 -2
- package/dist/components/tree/renderTreeCanvas.js +6 -8
- package/dist/components/tree/renderTreeCanvas.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js.map +1 -1
- package/dist/launchInterProScan.js.map +1 -1
- package/dist/model/DialogQueue.js.map +1 -1
- package/dist/model.d.ts +20 -20
- package/dist/model.js +42 -30
- package/dist/model.js.map +1 -1
- package/dist/parsers/ClustalMSA.js.map +1 -1
- package/dist/parsers/EmfMSA.js.map +1 -1
- package/dist/parsers/StockholmMSA.js.map +1 -1
- package/dist/renderToSvg.d.ts +1 -1
- package/dist/renderToSvg.js +5 -6
- package/dist/renderToSvg.js.map +1 -1
- package/dist/rowCoordinateCalculations.test.js.map +1 -1
- package/dist/util.d.ts +1 -1
- package/dist/util.js +1 -1
- package/dist/util.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +4 -4
- package/src/colorSchemes.ts +2 -1
- package/src/components/Checkbox2.tsx +1 -0
- package/src/components/Loading.tsx +6 -5
- package/src/components/MSAView.tsx +6 -5
- package/src/components/ResizeHandles.tsx +1 -1
- package/src/components/SequenceTextArea.tsx +2 -2
- package/src/components/TextTrack.tsx +5 -3
- package/src/components/Track.tsx +5 -5
- package/src/components/VerticalScrollbar.tsx +5 -2
- package/src/components/dialogs/AboutDialog.tsx +6 -7
- package/src/components/dialogs/AddTrackDialog.tsx +7 -5
- package/src/components/dialogs/DomainDialog.tsx +3 -2
- package/src/components/dialogs/ExportSVGDialog.tsx +7 -5
- package/src/components/dialogs/FeatureDialog.tsx +4 -3
- package/src/components/dialogs/InterProScanDialog.tsx +6 -5
- package/src/components/dialogs/MetadataDialog.tsx +5 -5
- package/src/components/dialogs/SettingsDialog.tsx +10 -10
- package/src/components/dialogs/TrackInfoDialog.tsx +3 -2
- package/src/components/dialogs/TracklistDialog.tsx +4 -4
- package/src/components/dialogs/UserProvidedDomainsDialog.tsx +7 -6
- package/src/components/header/Header.tsx +8 -11
- package/src/components/header/HeaderInfoArea.tsx +1 -1
- package/src/components/header/HeaderMenu.tsx +4 -6
- package/src/components/header/HeaderMenuExtra.tsx +9 -11
- package/src/components/header/HeaderStatusArea.tsx +2 -2
- package/src/components/header/MultiAlignmentSelector.tsx +3 -3
- package/src/components/header/ZoomControls.tsx +13 -6
- package/src/components/import/ImportForm.tsx +31 -24
- package/src/components/import/ImportFormExamples.tsx +5 -4
- package/src/components/import/util.ts +1 -1
- package/src/components/minimap/Minimap.tsx +2 -0
- package/src/components/minimap/MinimapSVG.tsx +2 -0
- package/src/components/msa/Loading.tsx +2 -1
- package/src/components/msa/MSACanvas.tsx +5 -4
- package/src/components/msa/MSACanvasBlock.tsx +20 -6
- package/src/components/msa/MSAMouseoverCanvas.tsx +4 -3
- package/src/components/msa/MSAPanel.tsx +2 -1
- package/src/components/msa/renderBoxFeatureCanvasBlock.ts +1 -3
- package/src/components/msa/renderMSABlock.ts +3 -4
- package/src/components/tree/TreeBranchMenu.tsx +1 -1
- package/src/components/tree/TreeCanvas.tsx +4 -4
- package/src/components/tree/TreeCanvasBlock.tsx +15 -8
- package/src/components/tree/TreeNodeMenu.tsx +1 -1
- package/src/components/tree/TreePanel.tsx +3 -1
- package/src/components/tree/TreeRuler.tsx +1 -1
- package/src/components/tree/dialogs/TreeNodeInfoDialog.tsx +5 -4
- package/src/components/tree/renderTreeCanvas.ts +7 -13
- package/src/index.ts +1 -1
- package/src/launchInterProScan.ts +2 -0
- package/src/model/DialogQueue.ts +2 -1
- package/src/model.ts +60 -48
- package/src/parsers/ClustalMSA.ts +1 -0
- package/src/parsers/EmfMSA.ts +1 -0
- package/src/parsers/StockholmMSA.ts +1 -1
- package/src/renderToSvg.tsx +7 -9
- package/src/rowCoordinateCalculations.test.ts +1 -0
- package/src/util.ts +4 -3
- package/src/version.ts +1 -1
package/src/model.ts
CHANGED
|
@@ -1,64 +1,53 @@
|
|
|
1
1
|
import React from 'react'
|
|
2
|
-
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
2
|
+
|
|
3
|
+
import { groupBy, notEmpty, sum } from '@jbrowse/core/util'
|
|
4
|
+
import { openLocation } from '@jbrowse/core/util/io'
|
|
5
|
+
import { ElementId, FileLocation } from '@jbrowse/core/util/types/mst'
|
|
6
|
+
import { colord } from 'colord'
|
|
6
7
|
import { ascending } from 'd3-array'
|
|
7
|
-
import
|
|
8
|
+
import { cluster, hierarchy } from 'd3-hierarchy'
|
|
8
9
|
import { saveAs } from 'file-saver'
|
|
9
|
-
import
|
|
10
|
+
import { autorun, transaction } from 'mobx'
|
|
11
|
+
import { addDisposer, cast, types } from 'mobx-state-tree'
|
|
10
12
|
import { ungzip } from 'pako'
|
|
13
|
+
import Stockholm from 'stockholm-js'
|
|
11
14
|
|
|
12
|
-
|
|
13
|
-
import
|
|
14
|
-
import
|
|
15
|
-
import
|
|
16
|
-
import {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
|
|
15
|
+
import { blocksX, blocksY } from './calculateBlocks'
|
|
16
|
+
import colorSchemes from './colorSchemes'
|
|
17
|
+
import TextTrack from './components/TextTrack'
|
|
18
|
+
import palettes from './ggplotPalettes'
|
|
19
|
+
import { measureTextCanvas } from './measureTextCanvas'
|
|
20
|
+
import { DataModelF } from './model/DataModel'
|
|
21
|
+
import { DialogQueueSessionMixin } from './model/DialogQueue'
|
|
22
|
+
import { MSAModelF } from './model/msaModel'
|
|
23
|
+
import { TreeModelF } from './model/treeModel'
|
|
24
|
+
import parseNewick from './parseNewick'
|
|
25
|
+
import ClustalMSA from './parsers/ClustalMSA'
|
|
26
|
+
import EmfMSA from './parsers/EmfMSA'
|
|
27
|
+
import EmfTree from './parsers/EmfTree'
|
|
28
|
+
import FastaMSA from './parsers/FastaMSA'
|
|
29
|
+
import StockholmMSA from './parsers/StockholmMSA'
|
|
30
|
+
import { reparseTree } from './reparseTree'
|
|
31
|
+
import {
|
|
32
|
+
globalCoordToRowSpecificCoord,
|
|
33
|
+
mouseOverCoordToGlobalCoord,
|
|
34
|
+
} from './rowCoordinateCalculations'
|
|
23
35
|
import {
|
|
24
36
|
clamp,
|
|
25
37
|
collapse,
|
|
26
38
|
generateNodeIds,
|
|
39
|
+
len,
|
|
27
40
|
maxLength,
|
|
28
41
|
setBrLength,
|
|
29
42
|
skipBlanks,
|
|
30
|
-
type NodeWithIds,
|
|
31
|
-
type NodeWithIdsAndLength,
|
|
32
|
-
len,
|
|
33
43
|
} from './util'
|
|
34
|
-
import { colord } from 'colord'
|
|
35
|
-
import { reparseTree } from './reparseTree'
|
|
36
|
-
import { blocksX, blocksY } from './calculateBlocks'
|
|
37
|
-
import { measureTextCanvas } from './measureTextCanvas'
|
|
38
|
-
import palettes from './ggplotPalettes'
|
|
39
44
|
|
|
40
|
-
// components
|
|
41
|
-
import TextTrack from './components/TextTrack'
|
|
42
|
-
|
|
43
|
-
// parsers
|
|
44
|
-
import ClustalMSA from './parsers/ClustalMSA'
|
|
45
|
-
import EmfMSA from './parsers/EmfMSA'
|
|
46
|
-
import StockholmMSA from './parsers/StockholmMSA'
|
|
47
|
-
import FastaMSA from './parsers/FastaMSA'
|
|
48
|
-
import parseNewick from './parseNewick'
|
|
49
|
-
import colorSchemes from './colorSchemes'
|
|
50
|
-
|
|
51
|
-
// models
|
|
52
|
-
import { DataModelF } from './model/DataModel'
|
|
53
|
-
import { DialogQueueSessionMixin } from './model/DialogQueue'
|
|
54
|
-
import { TreeModelF } from './model/treeModel'
|
|
55
|
-
import { MSAModelF } from './model/msaModel'
|
|
56
45
|
import type { InterProScanResults } from './launchInterProScan'
|
|
57
|
-
import {
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
} from '
|
|
61
|
-
import
|
|
46
|
+
import type { NodeWithIds, NodeWithIdsAndLength } from './util'
|
|
47
|
+
import type { FileLocation as FileLocationType } from '@jbrowse/core/util/types'
|
|
48
|
+
import type { Theme } from '@mui/material'
|
|
49
|
+
import type { HierarchyNode } from 'd3-hierarchy'
|
|
50
|
+
import type { Instance } from 'mobx-state-tree'
|
|
62
51
|
|
|
63
52
|
export interface Accession {
|
|
64
53
|
accession: string
|
|
@@ -84,6 +73,10 @@ export interface ITextTrack {
|
|
|
84
73
|
|
|
85
74
|
export type BasicTrack = ITextTrack
|
|
86
75
|
|
|
76
|
+
export function isGzip(buf: Uint8Array) {
|
|
77
|
+
return buf[0] === 31 && buf[1] === 139 && buf[2] === 8
|
|
78
|
+
}
|
|
79
|
+
|
|
87
80
|
/**
|
|
88
81
|
* #stateModel MsaView
|
|
89
82
|
* extends
|
|
@@ -256,7 +249,7 @@ function stateModelFactory() {
|
|
|
256
249
|
* high resolution scale factor, helps make canvas look better on hi-dpi
|
|
257
250
|
* screens
|
|
258
251
|
*/
|
|
259
|
-
highResScaleFactor:
|
|
252
|
+
highResScaleFactor: 2,
|
|
260
253
|
/**
|
|
261
254
|
* #volatile
|
|
262
255
|
*/
|
|
@@ -758,6 +751,12 @@ function stateModelFactory() {
|
|
|
758
751
|
.map(leaf => [leaf.data.name, MSA?.getRow(leaf.data.name)] as const)
|
|
759
752
|
.filter((f): f is [string, string] => !!f[1])
|
|
760
753
|
},
|
|
754
|
+
/**
|
|
755
|
+
* #getter
|
|
756
|
+
*/
|
|
757
|
+
get numRows() {
|
|
758
|
+
return this.rows.length
|
|
759
|
+
},
|
|
761
760
|
|
|
762
761
|
/**
|
|
763
762
|
* #getter
|
|
@@ -917,7 +916,11 @@ function stateModelFactory() {
|
|
|
917
916
|
* #getter
|
|
918
917
|
*/
|
|
919
918
|
get showMsaLetters() {
|
|
920
|
-
return
|
|
919
|
+
return (
|
|
920
|
+
self.drawMsaLetters &&
|
|
921
|
+
self.rowHeight >= 5 &&
|
|
922
|
+
self.colWidth > self.rowHeight / 2
|
|
923
|
+
)
|
|
921
924
|
},
|
|
922
925
|
/**
|
|
923
926
|
* #getter
|
|
@@ -1356,6 +1359,15 @@ function stateModelFactory() {
|
|
|
1356
1359
|
setFilter(arg: string, flag: boolean) {
|
|
1357
1360
|
self.featureFilters.set(arg, flag)
|
|
1358
1361
|
},
|
|
1362
|
+
/**
|
|
1363
|
+
* #action
|
|
1364
|
+
*/
|
|
1365
|
+
showEntire() {
|
|
1366
|
+
self.rowHeight = self.msaAreaHeight / self.numRows
|
|
1367
|
+
self.colWidth = self.msaAreaWidth / self.numColumns
|
|
1368
|
+
self.scrollX = 0
|
|
1369
|
+
self.scrollY = 0
|
|
1370
|
+
},
|
|
1359
1371
|
|
|
1360
1372
|
afterCreate() {
|
|
1361
1373
|
addDisposer(
|
package/src/parsers/EmfMSA.ts
CHANGED
package/src/renderToSvg.tsx
CHANGED
|
@@ -1,18 +1,17 @@
|
|
|
1
1
|
/* eslint-disable react-refresh/only-export-components */
|
|
2
2
|
import React from 'react'
|
|
3
|
-
|
|
4
|
-
import { when } from 'mobx'
|
|
3
|
+
|
|
5
4
|
import { renderToStaticMarkup } from '@jbrowse/core/util'
|
|
6
|
-
import
|
|
5
|
+
import { when } from 'mobx'
|
|
7
6
|
|
|
8
|
-
|
|
9
|
-
import
|
|
10
|
-
import { renderTreeCanvas } from './components/tree/renderTreeCanvas'
|
|
7
|
+
import MinimapSVG from './components/minimap/MinimapSVG'
|
|
8
|
+
import { renderBoxFeatureCanvasBlock } from './components/msa/renderBoxFeatureCanvasBlock'
|
|
11
9
|
import { renderMSABlock } from './components/msa/renderMSABlock'
|
|
10
|
+
import { renderTreeCanvas } from './components/tree/renderTreeCanvas'
|
|
12
11
|
import { colorContrast } from './util'
|
|
13
12
|
|
|
14
|
-
import
|
|
15
|
-
import {
|
|
13
|
+
import type { MsaViewModel } from './model'
|
|
14
|
+
import type { Theme } from '@mui/material'
|
|
16
15
|
|
|
17
16
|
export async function renderToSvg(
|
|
18
17
|
model: MsaViewModel,
|
|
@@ -81,7 +80,6 @@ async function render({
|
|
|
81
80
|
/>
|
|
82
81
|
</Wrapper>
|
|
83
82
|
</SvgWrapper>,
|
|
84
|
-
createRoot,
|
|
85
83
|
)
|
|
86
84
|
}
|
|
87
85
|
|
package/src/util.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import type { HierarchyNode } from 'd3-hierarchy'
|
|
2
|
-
import { max } from 'd3-array'
|
|
3
|
-
import type { Theme } from '@mui/material'
|
|
4
1
|
import { colord, extend } from 'colord'
|
|
5
2
|
import namesPlugin from 'colord/plugins/names'
|
|
3
|
+
import { max } from 'd3-array'
|
|
4
|
+
|
|
5
|
+
import type { Theme } from '@mui/material'
|
|
6
|
+
import type { HierarchyNode } from 'd3-hierarchy'
|
|
6
7
|
|
|
7
8
|
extend([namesPlugin])
|
|
8
9
|
|
package/src/version.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const version = '4.
|
|
1
|
+
export const version = '4.1.1'
|