jbrowse-plugin-msaview 2.2.0 → 2.2.2
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/dist/BgzipFastaMsaAdapter/BgzipFastaMsaAdapter.d.ts +10 -0
- package/dist/BgzipFastaMsaAdapter/BgzipFastaMsaAdapter.js +64 -0
- package/dist/BgzipFastaMsaAdapter/BgzipFastaMsaAdapter.js.map +1 -0
- package/dist/BgzipFastaMsaAdapter/configSchema.d.ts +7 -0
- package/dist/BgzipFastaMsaAdapter/configSchema.js +13 -0
- package/dist/BgzipFastaMsaAdapter/configSchema.js.map +1 -0
- package/dist/BgzipFastaMsaAdapter/index.d.ts +2 -0
- package/dist/BgzipFastaMsaAdapter/index.js +15 -0
- package/dist/BgzipFastaMsaAdapter/index.js.map +1 -0
- package/dist/LaunchMsaView/components/EnsemblGeneTree/EnsemblGeneTree.js.map +1 -1
- package/dist/LaunchMsaView/components/EnsemblGeneTree/useGeneTree.d.ts +1 -1
- package/dist/LaunchMsaView/components/EnsemblGeneTree/useGeneTree.js +3 -23
- package/dist/LaunchMsaView/components/EnsemblGeneTree/useGeneTree.js.map +1 -1
- package/dist/LaunchMsaView/components/EnsemblGeneTree/util.d.ts +1 -4
- package/dist/LaunchMsaView/components/EnsemblGeneTree/util.js +1 -37
- package/dist/LaunchMsaView/components/EnsemblGeneTree/util.js.map +1 -1
- package/dist/LaunchMsaView/components/LaunchMsaViewDialog.d.ts +1 -1
- package/dist/LaunchMsaView/components/LaunchMsaViewDialog.js +21 -16
- package/dist/LaunchMsaView/components/LaunchMsaViewDialog.js.map +1 -1
- package/dist/LaunchMsaView/components/ManualMSALoader/ManualMSALoader.js +1 -1
- package/dist/LaunchMsaView/components/ManualMSALoader/ManualMSALoader.js.map +1 -1
- package/dist/LaunchMsaView/components/NCBIBlastQuery/NCBIBlastAutomaticPanel.js +12 -8
- package/dist/LaunchMsaView/components/NCBIBlastQuery/NCBIBlastAutomaticPanel.js.map +1 -1
- package/dist/LaunchMsaView/components/NCBIBlastQuery/NCBIBlastManualPanel.js +1 -1
- package/dist/LaunchMsaView/components/NCBIBlastQuery/NCBIBlastManualPanel.js.map +1 -1
- package/dist/LaunchMsaView/components/NCBIBlastQuery/NCBIBlastPanel.js +8 -7
- package/dist/LaunchMsaView/components/NCBIBlastQuery/NCBIBlastPanel.js.map +1 -1
- package/dist/LaunchMsaView/components/NCBIBlastQuery/NCBISettingsDialog.js +1 -1
- package/dist/LaunchMsaView/components/NCBIBlastQuery/NCBISettingsDialog.js.map +1 -1
- package/dist/LaunchMsaView/components/PreLoadedMSA/PreLoadedMSADataPanel.js +87 -63
- package/dist/LaunchMsaView/components/PreLoadedMSA/PreLoadedMSADataPanel.js.map +1 -1
- package/dist/LaunchMsaView/components/PreLoadedMSA/consts.d.ts +7 -0
- package/dist/LaunchMsaView/components/PreLoadedMSA/consts.js +8 -0
- package/dist/LaunchMsaView/components/PreLoadedMSA/consts.js.map +1 -0
- package/dist/LaunchMsaView/components/PreLoadedMSA/fetchMSAData.d.ts +12 -0
- package/dist/LaunchMsaView/components/PreLoadedMSA/fetchMSAData.js +12 -0
- package/dist/LaunchMsaView/components/PreLoadedMSA/fetchMSAData.js.map +1 -0
- package/dist/LaunchMsaView/components/PreLoadedMSA/findValidTranscriptId.d.ts +5 -0
- package/dist/LaunchMsaView/components/PreLoadedMSA/findValidTranscriptId.js +16 -0
- package/dist/LaunchMsaView/components/PreLoadedMSA/findValidTranscriptId.js.map +1 -0
- package/dist/LaunchMsaView/components/PreLoadedMSA/preCalculatedLaunchView.d.ts +6 -3
- package/dist/LaunchMsaView/components/PreLoadedMSA/preCalculatedLaunchView.js +3 -20
- package/dist/LaunchMsaView/components/PreLoadedMSA/preCalculatedLaunchView.js.map +1 -1
- package/dist/LaunchMsaView/components/PreLoadedMSA/types.d.ts +7 -0
- package/dist/LaunchMsaView/components/PreLoadedMSA/types.js +2 -0
- package/dist/LaunchMsaView/components/PreLoadedMSA/types.js.map +1 -0
- package/dist/LaunchMsaView/components/TranscriptSelector.js +2 -2
- package/dist/LaunchMsaView/components/TranscriptSelector.js.map +1 -1
- package/dist/LaunchMsaView/components/calculateProteinSequence.d.ts +2 -2
- package/dist/LaunchMsaView/components/calculateProteinSequence.js +2 -2
- package/dist/LaunchMsaView/components/calculateProteinSequence.js.map +1 -1
- package/dist/LaunchMsaView/components/types.d.ts +1 -0
- package/dist/LaunchMsaView/components/useFeatureSequence.d.ts +3 -7
- package/dist/LaunchMsaView/components/useFeatureSequence.js +9 -62
- package/dist/LaunchMsaView/components/useFeatureSequence.js.map +1 -1
- package/dist/LaunchMsaView/components/useSWRFeatureSequence.d.ts +13 -0
- package/dist/LaunchMsaView/components/useSWRFeatureSequence.js +53 -0
- package/dist/LaunchMsaView/components/useSWRFeatureSequence.js.map +1 -0
- package/dist/LaunchMsaView/index.js +3 -1
- package/dist/LaunchMsaView/index.js.map +1 -1
- package/dist/MsaViewPanel/components/RIDLink.js +1 -1
- package/dist/MsaViewPanel/components/RIDLink.js.map +1 -1
- package/dist/MsaViewPanel/genomeToMSA.js +2 -2
- package/dist/MsaViewPanel/genomeToMSA.js.map +1 -1
- package/dist/MsaViewPanel/model.d.ts +13 -84
- package/dist/MsaViewPanel/model.js +6 -2
- package/dist/MsaViewPanel/model.js.map +1 -1
- package/dist/MsaViewPanel/msaCoordToGenomeCoord.js +39 -14
- package/dist/MsaViewPanel/msaCoordToGenomeCoord.js.map +1 -1
- package/dist/MsaViewPanel/util.js +2 -2
- package/dist/MsaViewPanel/util.js.map +1 -1
- package/dist/components/ExternalLink.js.map +1 -0
- package/dist/components/ReadOnlyTextField2.js.map +1 -0
- package/dist/components/TextField2.js.map +1 -0
- package/dist/index.d.ts +9 -5
- package/dist/index.js +24 -15
- package/dist/index.js.map +1 -1
- package/dist/jbrowse-plugin-msaview.umd.production.min.js +46 -33
- package/dist/jbrowse-plugin-msaview.umd.production.min.js.map +4 -4
- package/dist/out.js +55367 -0
- package/dist/utils/fetch.d.ts +3 -1
- package/dist/utils/fetch.js +24 -3
- package/dist/utils/fetch.js.map +1 -1
- package/package.json +7 -6
- package/src/BgzipFastaMsaAdapter/BgzipFastaMsaAdapter.ts +78 -0
- package/src/BgzipFastaMsaAdapter/configSchema.ts +18 -0
- package/src/BgzipFastaMsaAdapter/index.ts +18 -0
- package/src/LaunchMsaView/components/EnsemblGeneTree/EnsemblGeneTree.tsx +0 -1
- package/src/LaunchMsaView/components/EnsemblGeneTree/useGeneTree.ts +6 -24
- package/src/LaunchMsaView/components/EnsemblGeneTree/util.ts +6 -45
- package/src/LaunchMsaView/components/LaunchMsaViewDialog.tsx +23 -24
- package/src/LaunchMsaView/components/ManualMSALoader/ManualMSALoader.tsx +1 -1
- package/src/LaunchMsaView/components/NCBIBlastQuery/NCBIBlastAutomaticPanel.tsx +13 -8
- package/src/LaunchMsaView/components/NCBIBlastQuery/NCBIBlastManualPanel.tsx +1 -1
- package/src/LaunchMsaView/components/NCBIBlastQuery/NCBIBlastPanel.tsx +20 -29
- package/src/LaunchMsaView/components/NCBIBlastQuery/NCBISettingsDialog.tsx +1 -1
- package/src/LaunchMsaView/components/PreLoadedMSA/PreLoadedMSADataPanel.tsx +154 -68
- package/src/LaunchMsaView/components/PreLoadedMSA/consts.ts +7 -0
- package/src/LaunchMsaView/components/PreLoadedMSA/fetchMSAData.ts +33 -0
- package/src/LaunchMsaView/components/PreLoadedMSA/findValidTranscriptId.ts +25 -0
- package/src/LaunchMsaView/components/PreLoadedMSA/preCalculatedLaunchView.ts +7 -26
- package/src/LaunchMsaView/components/PreLoadedMSA/types.ts +8 -0
- package/src/LaunchMsaView/components/TranscriptSelector.tsx +2 -2
- package/src/LaunchMsaView/components/calculateProteinSequence.ts +3 -3
- package/src/LaunchMsaView/components/types.ts +1 -0
- package/src/LaunchMsaView/components/useFeatureSequence.ts +10 -71
- package/src/LaunchMsaView/components/useSWRFeatureSequence.ts +90 -0
- package/src/LaunchMsaView/index.ts +4 -1
- package/src/MsaViewPanel/components/RIDLink.tsx +1 -1
- package/src/MsaViewPanel/genomeToMSA.ts +2 -2
- package/src/MsaViewPanel/model.ts +6 -2
- package/src/MsaViewPanel/msaCoordToGenomeCoord.ts +43 -16
- package/src/MsaViewPanel/util.ts +2 -2
- package/src/index.ts +26 -18
- package/src/utils/fetch.ts +31 -3
- package/dist/ExternalLink.js.map +0 -1
- package/dist/LaunchMsaView/components/PreLoadedMSA/fetchGeneList.d.ts +0 -1
- package/dist/LaunchMsaView/components/PreLoadedMSA/fetchGeneList.js +0 -12
- package/dist/LaunchMsaView/components/PreLoadedMSA/fetchGeneList.js.map +0 -1
- package/dist/ReadOnlyTextField2.js.map +0 -1
- package/dist/TextField2.js.map +0 -1
- package/src/LaunchMsaView/components/PreLoadedMSA/fetchGeneList.ts +0 -13
- /package/dist/{ExternalLink.d.ts → components/ExternalLink.d.ts} +0 -0
- /package/dist/{ExternalLink.js → components/ExternalLink.js} +0 -0
- /package/dist/{ReadOnlyTextField2.d.ts → components/ReadOnlyTextField2.d.ts} +0 -0
- /package/dist/{ReadOnlyTextField2.js → components/ReadOnlyTextField2.js} +0 -0
- /package/dist/{TextField2.d.ts → components/TextField2.d.ts} +0 -0
- /package/dist/{TextField2.js → components/TextField2.js} +0 -0
- /package/src/{ExternalLink.tsx → components/ExternalLink.tsx} +0 -0
- /package/src/{ReadOnlyTextField2.tsx → components/ReadOnlyTextField2.tsx} +0 -0
- /package/src/{TextField2.tsx → components/TextField2.tsx} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useSWRFeatureSequence.js","sourceRoot":"","sources":["../../../src/LaunchMsaView/components/useSWRFeatureSequence.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,MAAM,MAAM,KAAK,CAAA;AAExB,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAKrC,MAAM,OAAO,GAAG,OAAO,CAAA;AAEvB,KAAK,UAAU,sBAAsB,CAAC,EACpC,OAAO,EACP,YAAY,EACZ,QAAQ,EACR,IAAI,EACJ,SAAS,GAOV;IACC,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;IAChC,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,MAAM,EAI7C,CAAA;IAED,MAAM,CAAC,GAAG,KAAK,GAAG,QAAQ,CAAA;IAC1B,MAAM,CAAC,GAAG,GAAG,GAAG,QAAQ,CAAA;IACxB,MAAM,CAAC,GAAG,EAAE,QAAQ,EAAE,UAAU,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACpD,QAAQ,CAAC;YACP,KAAK;YACL,GAAG;YACH,OAAO;YACP,YAAY;YACZ,OAAO;SACR,CAAC;QACF,QAAQ,CAAC;YACP,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;YACrB,GAAG,EAAE,KAAK;YACV,OAAO;YACP,YAAY;YACZ,OAAO;SACR,CAAC;QACF,QAAQ,CAAC;YACP,KAAK,EAAE,GAAG;YACV,GAAG,EAAE,CAAC;YACN,OAAO;YACP,YAAY;YACZ,OAAO;SACR,CAAC;KACH,CAAC,CAAA;IACF,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAA;AACtC,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,EACpC,IAAI,EACJ,OAAO,EACP,QAAQ,GAAG,CAAC,EACZ,SAAS,GAAG,IAAI,GAMjB;IACC,MAAM,YAAY,GAAG,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,CAAA;IAC7C,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM;IAC5B,uEAAuE;IACvE,OAAO,IAAI,YAAY,IAAI,IAAI;QAC7B,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,kBAAkB,CAAC;QACvE,CAAC,CAAC,IAAI,EACR,GAAG,EAAE,CACH,sBAAsB,CAAC;QACrB,OAAO,EAAE,OAAQ;QACjB,YAAY,EAAE,YAAa;QAC3B,QAAQ;QACR,IAAI,EAAE,IAAK;QACX,SAAS;KACV,CAAC,CACL,CAAA;IAED,OAAO;QACL,QAAQ,EAAE,IAAI;QACd,KAAK;KACN,CAAA;AACH,CAAC"}
|
|
@@ -11,9 +11,11 @@ function extendStateModel(stateModel) {
|
|
|
11
11
|
contextMenuItems() {
|
|
12
12
|
const feature = self.contextMenuFeature;
|
|
13
13
|
const track = getContainingTrack(self);
|
|
14
|
+
const featureType = feature?.get('type');
|
|
15
|
+
const showMsaMenuItem = feature && ['gene', 'mRNA', 'transcript'].includes(featureType);
|
|
14
16
|
return [
|
|
15
17
|
...superContextMenuItems(),
|
|
16
|
-
...(
|
|
18
|
+
...(showMsaMenuItem
|
|
17
19
|
? [
|
|
18
20
|
{
|
|
19
21
|
label: 'Launch MSA view',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/LaunchMsaView/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAW,kBAAkB,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC5E,OAAO,OAAO,MAAM,yBAAyB,CAAA;AAE7C,OAAO,mBAAmB,MAAM,kCAAkC,CAAA;AAIlE,SAAS,SAAS,CAAC,GAAqB;IACtC,OAAO,GAAG,CAAC,IAAI,KAAK,oBAAoB,CAAA;AAC1C,CAAC;AAED,SAAS,gBAAgB,CAAC,UAAyB;IACjD,OAAO,UAAU,CAAC,KAAK,CACrB,CAAC,IAGA,EAAE,EAAE;QACH,MAAM,qBAAqB,GAAG,IAAI,CAAC,gBAAgB,CAAA;QACnD,OAAO;YACL,gBAAgB;gBACd,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAA;gBACvC,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAA;gBACtC,OAAO;oBACL,GAAG,qBAAqB,EAAE;oBAC1B,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/LaunchMsaView/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAW,kBAAkB,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC5E,OAAO,OAAO,MAAM,yBAAyB,CAAA;AAE7C,OAAO,mBAAmB,MAAM,kCAAkC,CAAA;AAIlE,SAAS,SAAS,CAAC,GAAqB;IACtC,OAAO,GAAG,CAAC,IAAI,KAAK,oBAAoB,CAAA;AAC1C,CAAC;AAED,SAAS,gBAAgB,CAAC,UAAyB;IACjD,OAAO,UAAU,CAAC,KAAK,CACrB,CAAC,IAGA,EAAE,EAAE;QACH,MAAM,qBAAqB,GAAG,IAAI,CAAC,gBAAgB,CAAA;QACnD,OAAO;YACL,gBAAgB;gBACd,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAA;gBACvC,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAA;gBACtC,MAAM,WAAW,GAAG,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;gBACxC,MAAM,eAAe,GACnB,OAAO,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;gBACjE,OAAO;oBACL,GAAG,qBAAqB,EAAE;oBAC1B,GAAG,CAAC,eAAe;wBACjB,CAAC,CAAC;4BACE;gCACE,KAAK,EAAE,iBAAiB;gCACxB,IAAI,EAAE,OAAO;gCACb,OAAO,EAAE,GAAG,EAAE;oCACZ,UAAU,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC;wCAC3C,mBAAmB;wCACnB;4CACE,KAAK,EAAE,KAAK;4CACZ,WAAW;4CACX,OAAO;yCACR;qCACF,CAAC,CAAA;gCACJ,CAAC;6BACF;yBACF;wBACH,CAAC,CAAC,EAAE,CAAC;iBACR,CAAA;YACH,CAAC;SACF,CAAA;IACH,CAAC,CACF,CAAA;AACH,CAAC;AAED,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,aAA4B;IACjE,aAAa,CAAC,mBAAmB,CAC/B,6BAA6B,EAC7B,CAAC,GAAyB,EAAE,EAAE;QAC5B,IAAI,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;YACnB,GAAG,CAAC,UAAU,GAAG,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;QACnD,CAAC;QACD,OAAO,GAAG,CAAA;IACZ,CAAC,CACF,CAAA;AACH,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { Typography } from '@mui/material';
|
|
3
|
-
import ExternalLink from '../../ExternalLink';
|
|
3
|
+
import ExternalLink from '../../components/ExternalLink';
|
|
4
4
|
function RIDLink({ baseUrl, rid }) {
|
|
5
5
|
return (React.createElement(Typography, null,
|
|
6
6
|
"RID ",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RIDLink.js","sourceRoot":"","sources":["../../../src/MsaViewPanel/components/RIDLink.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAE1C,OAAO,YAAY,MAAM,
|
|
1
|
+
{"version":3,"file":"RIDLink.js","sourceRoot":"","sources":["../../../src/MsaViewPanel/components/RIDLink.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAE1C,OAAO,YAAY,MAAM,+BAA+B,CAAA;AAExD,SAAS,OAAO,CAAC,EAAE,OAAO,EAAE,GAAG,EAAoC;IACjE,OAAO,CACL,oBAAC,UAAU;;QACJ,GAAG;;QACR,oBAAC,YAAY,IAAC,IAAI,EAAE,GAAG,OAAO,gBAAgB,GAAG,EAAE,iBAEpC;YAEJ,CACd,CAAA;AACH,CAAC;AAED,eAAe,OAAO,CAAA"}
|
|
@@ -2,7 +2,7 @@ import { getSession } from '@jbrowse/core/util';
|
|
|
2
2
|
import { checkHovered } from './util';
|
|
3
3
|
export function genomeToMSA({ model }) {
|
|
4
4
|
const { hovered } = getSession(model);
|
|
5
|
-
const { transcriptToMsaMap, connectedView } = model;
|
|
5
|
+
const { querySeqName, transcriptToMsaMap, connectedView } = model;
|
|
6
6
|
if (connectedView?.initialized &&
|
|
7
7
|
transcriptToMsaMap &&
|
|
8
8
|
checkHovered(hovered)) {
|
|
@@ -10,7 +10,7 @@ export function genomeToMSA({ model }) {
|
|
|
10
10
|
const { g2p } = transcriptToMsaMap;
|
|
11
11
|
const ret = g2p[hoverCoord];
|
|
12
12
|
if (ret !== undefined) {
|
|
13
|
-
return model.seqCoordToRowSpecificGlobalCoord(
|
|
13
|
+
return model.seqCoordToRowSpecificGlobalCoord(querySeqName, ret + 1);
|
|
14
14
|
}
|
|
15
15
|
}
|
|
16
16
|
return undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"genomeToMSA.js","sourceRoot":"","sources":["../../src/MsaViewPanel/genomeToMSA.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAG/C,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AAErC,MAAM,UAAU,WAAW,CAAC,EAAE,KAAK,EAAwC;IACzE,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;IACrC,MAAM,EAAE,kBAAkB,EAAE,aAAa,EAAE,GAAG,KAAK,CAAA;
|
|
1
|
+
{"version":3,"file":"genomeToMSA.js","sourceRoot":"","sources":["../../src/MsaViewPanel/genomeToMSA.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAG/C,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AAErC,MAAM,UAAU,WAAW,CAAC,EAAE,KAAK,EAAwC;IACzE,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;IACrC,MAAM,EAAE,YAAY,EAAE,kBAAkB,EAAE,aAAa,EAAE,GAAG,KAAK,CAAA;IACjE,IACE,aAAa,EAAE,WAAW;QAC1B,kBAAkB;QAClB,YAAY,CAAC,OAAO,CAAC,EACrB,CAAC;QACD,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,aAAa,CAAA;QACnD,MAAM,EAAE,GAAG,EAAE,GAAG,kBAAkB,CAAA;QAClC,MAAM,GAAG,GAAG,GAAG,CAAC,UAAU,CAAC,CAAA;QAC3B,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,OAAO,KAAK,CAAC,gCAAgC,CAAC,YAAY,EAAE,GAAG,GAAG,CAAC,CAAC,CAAA;QACtE,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC"}
|
|
@@ -233,6 +233,7 @@ export default function stateModelFactory(): import("mobx-state-tree").IModelTyp
|
|
|
233
233
|
end: import("mobx-state-tree").ISimpleType<number>;
|
|
234
234
|
}, {}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
|
|
235
235
|
blastParams: import("mobx-state-tree").IType<BlastParams | undefined, BlastParams | undefined, BlastParams | undefined>;
|
|
236
|
+
querySeqName: import("mobx-state-tree").IType<string | undefined, string, string>;
|
|
236
237
|
zoomToBaseLevel: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
|
|
237
238
|
}, {
|
|
238
239
|
width: number;
|
|
@@ -279,6 +280,10 @@ export default function stateModelFactory(): import("mobx-state-tree").IModelTyp
|
|
|
279
280
|
mouseCol: number | undefined;
|
|
280
281
|
mouseClickRow: number | undefined;
|
|
281
282
|
mouseClickCol: number | undefined;
|
|
283
|
+
hoveredTreeNode: {
|
|
284
|
+
nodeId: string;
|
|
285
|
+
descendantNames: string[];
|
|
286
|
+
} | undefined;
|
|
282
287
|
nref: number;
|
|
283
288
|
minimapHeight: number;
|
|
284
289
|
marginLeft: number;
|
|
@@ -289,7 +294,7 @@ export default function stateModelFactory(): import("mobx-state-tree").IModelTyp
|
|
|
289
294
|
} | undefined;
|
|
290
295
|
interProAnnotations: undefined | Record<string, import("react-msaview/dist/launchInterProScan").InterProScanResults>;
|
|
291
296
|
} & {
|
|
292
|
-
drawRelativeTo(id: string): void;
|
|
297
|
+
drawRelativeTo(id: string | undefined): void;
|
|
293
298
|
setHideGaps(arg: boolean): void;
|
|
294
299
|
setAllowedGappyness(arg: number): void;
|
|
295
300
|
setContrastLettering(arg: boolean): void;
|
|
@@ -300,6 +305,7 @@ export default function stateModelFactory(): import("mobx-state-tree").IModelTyp
|
|
|
300
305
|
setHeight(height: number): void;
|
|
301
306
|
setError(error?: unknown): void;
|
|
302
307
|
setMousePos(col?: number, row?: number): void;
|
|
308
|
+
setHoveredTreeNode(nodeId?: string): void;
|
|
303
309
|
setShowDomains(arg: boolean): void;
|
|
304
310
|
setSubFeatureRows(arg: boolean): void;
|
|
305
311
|
setMouseClickPos(col?: number, row?: number): void;
|
|
@@ -353,9 +359,7 @@ export default function stateModelFactory(): import("mobx-state-tree").IModelTyp
|
|
|
353
359
|
readonly columns2d: string[];
|
|
354
360
|
readonly fontSize: number;
|
|
355
361
|
readonly colStats: Record<string, number>[];
|
|
356
|
-
readonly colStatsSums:
|
|
357
|
-
[k: string]: number;
|
|
358
|
-
};
|
|
362
|
+
readonly colStatsSums: number[];
|
|
359
363
|
readonly hierarchy: HierarchyNode<import("react-msaview/dist/types").NodeWithIdsAndLength>;
|
|
360
364
|
readonly totalHeight: number;
|
|
361
365
|
readonly leaves: HierarchyNode<import("react-msaview/dist/types").NodeWithIdsAndLength>[];
|
|
@@ -400,8 +404,9 @@ export default function stateModelFactory(): import("mobx-state-tree").IModelTyp
|
|
|
400
404
|
readonly turnedOnTracks: import("react-msaview/dist/types").ITextTrack[];
|
|
401
405
|
readonly showHorizontalScrollbar: boolean;
|
|
402
406
|
readonly rowNamesSet: Map<string, number>;
|
|
403
|
-
mouseOverCoordToRowLetter(rowName: string,
|
|
407
|
+
mouseOverCoordToRowLetter(rowName: string, pos: number): string | undefined;
|
|
404
408
|
mouseOverCoordToGapRemovedRowCoord(rowName: string, position: number): number | undefined;
|
|
409
|
+
mouseOverCoordToGapRemovedRowCoordOneBased(rowName: string, position: number): number | undefined;
|
|
405
410
|
seqCoordToRowSpecificGlobalCoord(rowName: string, position: number): number;
|
|
406
411
|
} & {
|
|
407
412
|
readonly msaAreaHeight: number;
|
|
@@ -458,7 +463,9 @@ export default function stateModelFactory(): import("mobx-state-tree").IModelTyp
|
|
|
458
463
|
incrementRef(): void;
|
|
459
464
|
initFilter(arg: string): void;
|
|
460
465
|
setFilter(arg: string, flag: boolean): void;
|
|
461
|
-
|
|
466
|
+
fit(): void;
|
|
467
|
+
fitVertically(): void;
|
|
468
|
+
fitHorizontally(): void;
|
|
462
469
|
afterCreate(): void;
|
|
463
470
|
} & {
|
|
464
471
|
/**
|
|
@@ -561,84 +568,6 @@ export default function stateModelFactory(): import("mobx-state-tree").IModelTyp
|
|
|
561
568
|
} & {
|
|
562
569
|
afterCreate(): void;
|
|
563
570
|
}, import("mobx-state-tree")._NotCustomized, {
|
|
564
|
-
drawLabels: boolean;
|
|
565
|
-
labelsAlignRight: boolean;
|
|
566
|
-
treeAreaWidth: number;
|
|
567
|
-
treeWidth: number;
|
|
568
|
-
treeWidthMatchesArea: boolean;
|
|
569
|
-
showBranchLen: boolean;
|
|
570
|
-
drawTree: boolean;
|
|
571
|
-
drawNodeBubbles: boolean;
|
|
572
|
-
bgColor: boolean;
|
|
573
|
-
colorSchemeName: string;
|
|
574
|
-
id: string;
|
|
575
|
-
showDomains: boolean;
|
|
576
|
-
hideGaps: boolean;
|
|
577
|
-
allowedGappyness: number;
|
|
578
|
-
contrastLettering: boolean;
|
|
579
|
-
subFeatureRows: boolean;
|
|
580
|
-
drawMsaLetters: boolean;
|
|
581
|
-
rowHeight: number;
|
|
582
|
-
scrollY: number;
|
|
583
|
-
scrollX: number;
|
|
584
|
-
colWidth: number;
|
|
585
|
-
currentAlignment: number;
|
|
586
|
-
type: "MsaView";
|
|
587
|
-
height: number;
|
|
588
|
-
treeFilehandle: {
|
|
589
|
-
locationType: "UriLocation";
|
|
590
|
-
uri: string;
|
|
591
|
-
internetAccountId: string | undefined;
|
|
592
|
-
internetAccountPreAuthorization: import("mobx-state-tree").ModelSnapshotType<{
|
|
593
|
-
internetAccountType: import("mobx-state-tree").ISimpleType<string>;
|
|
594
|
-
authInfo: import("mobx-state-tree").IType<any, any, any>;
|
|
595
|
-
}> | undefined;
|
|
596
|
-
} | import("mobx-state-tree").ModelSnapshotType<{
|
|
597
|
-
locationType: import("mobx-state-tree").ISimpleType<"BlobLocation">;
|
|
598
|
-
name: import("mobx-state-tree").ISimpleType<string>;
|
|
599
|
-
blobId: import("mobx-state-tree").ISimpleType<string>;
|
|
600
|
-
}> | import("mobx-state-tree").ModelSnapshotType<{
|
|
601
|
-
locationType: import("mobx-state-tree").ISimpleType<"LocalPathLocation">;
|
|
602
|
-
localPath: import("mobx-state-tree").ISimpleType<string>;
|
|
603
|
-
}> | undefined;
|
|
604
|
-
msaFilehandle: {
|
|
605
|
-
locationType: "UriLocation";
|
|
606
|
-
uri: string;
|
|
607
|
-
internetAccountId: string | undefined;
|
|
608
|
-
internetAccountPreAuthorization: import("mobx-state-tree").ModelSnapshotType<{
|
|
609
|
-
internetAccountType: import("mobx-state-tree").ISimpleType<string>;
|
|
610
|
-
authInfo: import("mobx-state-tree").IType<any, any, any>;
|
|
611
|
-
}> | undefined;
|
|
612
|
-
} | import("mobx-state-tree").ModelSnapshotType<{
|
|
613
|
-
locationType: import("mobx-state-tree").ISimpleType<"BlobLocation">;
|
|
614
|
-
name: import("mobx-state-tree").ISimpleType<string>;
|
|
615
|
-
blobId: import("mobx-state-tree").ISimpleType<string>;
|
|
616
|
-
}> | import("mobx-state-tree").ModelSnapshotType<{
|
|
617
|
-
locationType: import("mobx-state-tree").ISimpleType<"LocalPathLocation">;
|
|
618
|
-
localPath: import("mobx-state-tree").ISimpleType<string>;
|
|
619
|
-
}> | undefined;
|
|
620
|
-
treeMetadataFilehandle: {
|
|
621
|
-
locationType: "UriLocation";
|
|
622
|
-
uri: string;
|
|
623
|
-
internetAccountId: string | undefined;
|
|
624
|
-
internetAccountPreAuthorization: import("mobx-state-tree").ModelSnapshotType<{
|
|
625
|
-
internetAccountType: import("mobx-state-tree").ISimpleType<string>;
|
|
626
|
-
authInfo: import("mobx-state-tree").IType<any, any, any>;
|
|
627
|
-
}> | undefined;
|
|
628
|
-
} | import("mobx-state-tree").ModelSnapshotType<{
|
|
629
|
-
locationType: import("mobx-state-tree").ISimpleType<"BlobLocation">;
|
|
630
|
-
name: import("mobx-state-tree").ISimpleType<string>;
|
|
631
|
-
blobId: import("mobx-state-tree").ISimpleType<string>;
|
|
632
|
-
}> | import("mobx-state-tree").ModelSnapshotType<{
|
|
633
|
-
locationType: import("mobx-state-tree").ISimpleType<"LocalPathLocation">;
|
|
634
|
-
localPath: import("mobx-state-tree").ISimpleType<string>;
|
|
635
|
-
}> | undefined;
|
|
636
|
-
collapsed: string[];
|
|
637
|
-
collapsedLeaves: string[];
|
|
638
|
-
showOnly: string | undefined;
|
|
639
|
-
turnedOffTracks: import("mobx").IKeyValueMap<boolean>;
|
|
640
|
-
featureFilters: import("mobx").IKeyValueMap<boolean>;
|
|
641
|
-
relativeTo: string | undefined;
|
|
642
571
|
data: {
|
|
643
572
|
treeMetadata?: string | undefined;
|
|
644
573
|
msa?: string | undefined;
|
|
@@ -35,6 +35,10 @@ export default function stateModelFactory() {
|
|
|
35
35
|
* #property
|
|
36
36
|
*/
|
|
37
37
|
blastParams: types.frozen(),
|
|
38
|
+
/**
|
|
39
|
+
* #property
|
|
40
|
+
*/
|
|
41
|
+
querySeqName: 'QUERY',
|
|
38
42
|
/**
|
|
39
43
|
* #property
|
|
40
44
|
*/
|
|
@@ -200,12 +204,12 @@ export default function stateModelFactory() {
|
|
|
200
204
|
if (self.blastParams) {
|
|
201
205
|
try {
|
|
202
206
|
self.setProgress('Submitting query');
|
|
207
|
+
self.setError(undefined);
|
|
203
208
|
const data = await doLaunchBlast({
|
|
204
|
-
self
|
|
209
|
+
self,
|
|
205
210
|
});
|
|
206
211
|
self.setData(data);
|
|
207
212
|
self.setBlastParams(undefined);
|
|
208
|
-
self.setProgress('');
|
|
209
213
|
}
|
|
210
214
|
catch (e) {
|
|
211
215
|
self.setError(e);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/MsaViewPanel/model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAA;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,EAAE,4BAA4B,EAAE,MAAM,YAAY,CAAA;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAC9B,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAEzC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAyB/D;;;;GAIG;AACH,MAAM,CAAC,OAAO,UAAU,iBAAiB;IACvC,OAAO,KAAK;SACT,OAAO,CACN,aAAa,EACb,SAAS,EAAE,EACX,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE;QACrB;;WAEG;QACH,eAAe,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;QAC1C;;WAEG;QACH,gBAAgB,EAAE,KAAK,CAAC,MAAM,EAAE;QAChC;;WAEG;QACH,mBAAmB,EAAE,KAAK,CAAC,KAAK,CAC9B,KAAK,CAAC,KAAK,CAAC;YACV,OAAO,EAAE,KAAK,CAAC,MAAM;YACrB,KAAK,EAAE,KAAK,CAAC,MAAM;YACnB,GAAG,EAAE,KAAK,CAAC,MAAM;SAClB,CAAC,CACH;QACD;;WAEG;QACH,WAAW,EAAE,KAAK,CAAC,MAAM,EAA2B;
|
|
1
|
+
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/MsaViewPanel/model.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,20 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Convert gapped MSA column coordinate to ungapped sequence coordinate
|
|
3
|
+
* This is the inverse of ungappedCoordMap
|
|
4
|
+
*/
|
|
5
|
+
function gappedToUngappedCoord(seq, gappedPos) {
|
|
6
|
+
let ungappedPos = 0;
|
|
7
|
+
for (let i = 0; i < gappedPos && i < seq.length; i++) {
|
|
8
|
+
if (seq[i] !== '-') {
|
|
9
|
+
ungappedPos++;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
return ungappedPos;
|
|
13
|
+
}
|
|
1
14
|
export function msaCoordToGenomeCoord({ model, coord: mouseCol, }) {
|
|
2
|
-
const { transcriptToMsaMap } = model;
|
|
15
|
+
const { querySeqName, transcriptToMsaMap } = model;
|
|
3
16
|
if (transcriptToMsaMap === undefined) {
|
|
4
|
-
return;
|
|
17
|
+
return undefined;
|
|
5
18
|
}
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
return s !== undefined && e !== undefined
|
|
13
|
-
? {
|
|
14
|
-
refName,
|
|
15
|
-
start: Math.min(s, e),
|
|
16
|
-
end: Math.max(s, e),
|
|
19
|
+
else {
|
|
20
|
+
// Get the query sequence
|
|
21
|
+
const queryRow = model.rows.find(f => f[0] === querySeqName);
|
|
22
|
+
const querySeq = queryRow?.[1];
|
|
23
|
+
if (!querySeq) {
|
|
24
|
+
return undefined;
|
|
17
25
|
}
|
|
18
|
-
|
|
26
|
+
// Check if the position in the query sequence is a gap
|
|
27
|
+
if (querySeq[mouseCol] === '-') {
|
|
28
|
+
return undefined;
|
|
29
|
+
}
|
|
30
|
+
// Convert gapped MSA column to ungapped sequence coordinate
|
|
31
|
+
const ungappedPos = gappedToUngappedCoord(querySeq, mouseCol);
|
|
32
|
+
// Use the ungapped position to look up in the p2g map
|
|
33
|
+
const { refName, p2g } = transcriptToMsaMap;
|
|
34
|
+
const s = p2g[ungappedPos];
|
|
35
|
+
const e = p2g[ungappedPos + 1];
|
|
36
|
+
return s !== undefined && e !== undefined
|
|
37
|
+
? {
|
|
38
|
+
refName,
|
|
39
|
+
start: Math.min(s, e),
|
|
40
|
+
end: Math.max(s, e),
|
|
41
|
+
}
|
|
42
|
+
: undefined;
|
|
43
|
+
}
|
|
19
44
|
}
|
|
20
45
|
//# sourceMappingURL=msaCoordToGenomeCoord.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"msaCoordToGenomeCoord.js","sourceRoot":"","sources":["../../src/MsaViewPanel/msaCoordToGenomeCoord.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,qBAAqB,CAAC,EACpC,KAAK,EACL,KAAK,EAAE,QAAQ,GAIhB;IACC,MAAM,EAAE,kBAAkB,EAAE,GAAG,KAAK,CAAA;
|
|
1
|
+
{"version":3,"file":"msaCoordToGenomeCoord.js","sourceRoot":"","sources":["../../src/MsaViewPanel/msaCoordToGenomeCoord.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,SAAS,qBAAqB,CAAC,GAAW,EAAE,SAAiB;IAC3D,IAAI,WAAW,GAAG,CAAC,CAAA;IACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrD,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YACnB,WAAW,EAAE,CAAA;QACf,CAAC;IACH,CAAC;IACD,OAAO,WAAW,CAAA;AACpB,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,EACpC,KAAK,EACL,KAAK,EAAE,QAAQ,GAIhB;IACC,MAAM,EAAE,YAAY,EAAE,kBAAkB,EAAE,GAAG,KAAK,CAAA;IAClD,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;QACrC,OAAO,SAAS,CAAA;IAClB,CAAC;SAAM,CAAC;QACN,yBAAyB;QACzB,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,YAAY,CAAC,CAAA;QAC5D,MAAM,QAAQ,GAAG,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAA;QAC9B,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,SAAS,CAAA;QAClB,CAAC;QAED,uDAAuD;QACvD,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,GAAG,EAAE,CAAC;YAC/B,OAAO,SAAS,CAAA;QAClB,CAAC;QAED,4DAA4D;QAC5D,MAAM,WAAW,GAAG,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;QAE7D,sDAAsD;QACtD,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,kBAAkB,CAAA;QAC3C,MAAM,CAAC,GAAG,GAAG,CAAC,WAAW,CAAC,CAAA;QAC1B,MAAM,CAAC,GAAG,GAAG,CAAC,WAAW,GAAG,CAAC,CAAC,CAAA;QAC9B,OAAO,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,SAAS;YACvC,CAAC,CAAC;gBACE,OAAO;gBACP,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;gBACrB,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;aACpB;YACH,CAAC,CAAC,SAAS,CAAA;IACf,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/MsaViewPanel/util.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,YAAY,CAAC,OAAgB;IAI3C,OAAO,CACL,
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/MsaViewPanel/util.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,YAAY,CAAC,OAAgB;IAI3C,OAAO,CACL,OAAO,OAAO,KAAK,QAAQ;QAC3B,OAAO,KAAK,IAAI;QAChB,cAAc,IAAI,OAAO;QACzB,eAAe,IAAI,OAAO,CAC3B,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExternalLink.js","sourceRoot":"","sources":["../../src/components/ExternalLink.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,aAAa,MAAM,+BAA+B,CAAA;AACzD,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AAIpC,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,KAAgB;IACnD,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAA;IACnC,OAAO,CACL,oBAAC,IAAI,OAAK,IAAI,EAAE,MAAM,EAAC,QAAQ,EAAC,GAAG,EAAC,YAAY;QAC7C,QAAQ;;QAAE,oBAAC,aAAa,IAAC,QAAQ,EAAC,OAAO,GAAG,CACxC,CACR,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReadOnlyTextField2.js","sourceRoot":"","sources":["../../src/components/ReadOnlyTextField2.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAE1C,OAAO,UAAU,MAAM,cAAc,CAAA;AAErC,MAAM,SAAS,GAAG,UAAU,EAAE,CAAC;IAC7B,YAAY,EAAE;QACZ,UAAU,EAAE,aAAa;KAC1B;CACF,CAAC,CAAA;AAEF,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,EAAE,KAAK,EAAqB;IACrE,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,EAAE,CAAA;IAC/B,OAAO,CACL,oBAAC,UAAU,IACT,OAAO,EAAC,UAAU,EAClB,SAAS,QACT,OAAO,EAAE,CAAC,EACV,OAAO,EAAE,EAAE,EACX,SAAS,QACT,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE;YACT,KAAK,EAAE;gBACL,QAAQ,EAAE,IAAI;gBACd,OAAO,EAAE;oBACP,KAAK,EAAE,OAAO,CAAC,YAAY;iBAC5B;aACF;SACF,GACD,CACH,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TextField2.js","sourceRoot":"","sources":["../../src/components/TextField2.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAIzC,SAAS,UAAU,CAAC,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAkB;IACvD,OAAO,CACL;QACE,oBAAC,SAAS,OAAK,IAAI,IAAG,QAAQ,CAAa,CACvC,CACP,CAAA;AACH,CAAC;AAED,eAAe,UAAU,CAAA"}
|
package/dist/index.d.ts
CHANGED
|
@@ -5,18 +5,22 @@ export default class MsaViewPlugin extends Plugin {
|
|
|
5
5
|
version: any;
|
|
6
6
|
install(pluginManager: PluginManager): void;
|
|
7
7
|
configure(pluginManager: PluginManager): void;
|
|
8
|
-
rootConfigurationSchema: {
|
|
8
|
+
rootConfigurationSchema(pluginManager: PluginManager): {
|
|
9
9
|
msa: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
|
|
10
10
|
datasets: import("mobx-state-tree").IMaybe<import("mobx-state-tree").IArrayType<import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
|
|
11
|
-
|
|
11
|
+
datasetId: {
|
|
12
|
+
type: string;
|
|
13
|
+
defaultValue: string;
|
|
14
|
+
};
|
|
15
|
+
description: {
|
|
12
16
|
type: string;
|
|
13
17
|
defaultValue: string;
|
|
14
18
|
};
|
|
15
|
-
|
|
19
|
+
name: {
|
|
16
20
|
type: string;
|
|
17
|
-
|
|
18
|
-
defaultValue: {};
|
|
21
|
+
defaultValue: string;
|
|
19
22
|
};
|
|
23
|
+
adapter: import("mobx-state-tree").IAnyModelType;
|
|
20
24
|
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined>>>>;
|
|
21
25
|
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined>>;
|
|
22
26
|
};
|
package/dist/index.js
CHANGED
|
@@ -5,6 +5,7 @@ import GridOn from '@mui/icons-material/GridOn';
|
|
|
5
5
|
import { types } from 'mobx-state-tree';
|
|
6
6
|
import { version } from '../package.json';
|
|
7
7
|
import AddHighlightModelF from './AddHighlightModel';
|
|
8
|
+
import BgzipFastaMsaAdapterF from './BgzipFastaMsaAdapter';
|
|
8
9
|
import LaunchMsaViewF from './LaunchMsaView';
|
|
9
10
|
import MsaViewF from './MsaViewPanel';
|
|
10
11
|
export default class MsaViewPlugin extends Plugin {
|
|
@@ -12,26 +13,12 @@ export default class MsaViewPlugin extends Plugin {
|
|
|
12
13
|
super(...arguments);
|
|
13
14
|
this.name = 'MsaViewPlugin';
|
|
14
15
|
this.version = version;
|
|
15
|
-
this.rootConfigurationSchema = {
|
|
16
|
-
msa: ConfigurationSchema('MSA', {
|
|
17
|
-
datasets: types.maybe(types.array(ConfigurationSchema('MSAEntry', {
|
|
18
|
-
name: {
|
|
19
|
-
type: 'string',
|
|
20
|
-
defaultValue: '',
|
|
21
|
-
},
|
|
22
|
-
adapter: {
|
|
23
|
-
type: 'frozen',
|
|
24
|
-
description: 'This can be a data adapter config for a IndexedFasta for example, which has a special way of being interpreted',
|
|
25
|
-
defaultValue: {},
|
|
26
|
-
},
|
|
27
|
-
}))),
|
|
28
|
-
}),
|
|
29
|
-
};
|
|
30
16
|
}
|
|
31
17
|
install(pluginManager) {
|
|
32
18
|
MsaViewF(pluginManager);
|
|
33
19
|
LaunchMsaViewF(pluginManager);
|
|
34
20
|
AddHighlightModelF(pluginManager);
|
|
21
|
+
BgzipFastaMsaAdapterF(pluginManager);
|
|
35
22
|
}
|
|
36
23
|
configure(pluginManager) {
|
|
37
24
|
if (isAbstractMenuManager(pluginManager.rootModel)) {
|
|
@@ -44,5 +31,27 @@ export default class MsaViewPlugin extends Plugin {
|
|
|
44
31
|
});
|
|
45
32
|
}
|
|
46
33
|
}
|
|
34
|
+
// @ts-expect-error
|
|
35
|
+
rootConfigurationSchema(pluginManager) {
|
|
36
|
+
return {
|
|
37
|
+
msa: ConfigurationSchema('MSA', {
|
|
38
|
+
datasets: types.maybe(types.array(ConfigurationSchema('MSAEntry', {
|
|
39
|
+
datasetId: {
|
|
40
|
+
type: 'string',
|
|
41
|
+
defaultValue: '',
|
|
42
|
+
},
|
|
43
|
+
description: {
|
|
44
|
+
type: 'string',
|
|
45
|
+
defaultValue: '',
|
|
46
|
+
},
|
|
47
|
+
name: {
|
|
48
|
+
type: 'string',
|
|
49
|
+
defaultValue: '',
|
|
50
|
+
},
|
|
51
|
+
adapter: pluginManager.pluggableConfigSchemaType('adapter'),
|
|
52
|
+
}))),
|
|
53
|
+
}),
|
|
54
|
+
};
|
|
55
|
+
}
|
|
47
56
|
}
|
|
48
57
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,sBAAsB,CAAA;AAEzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AACjE,OAAO,EAAwB,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAChF,OAAO,MAAM,MAAM,4BAA4B,CAAA;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAEvC,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AACzC,OAAO,kBAAkB,MAAM,qBAAqB,CAAA;AACpD,OAAO,cAAc,MAAM,iBAAiB,CAAA;AAC5C,OAAO,QAAQ,MAAM,gBAAgB,CAAA;AAErC,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,MAAM;IAAjD;;QACE,SAAI,GAAG,eAAe,CAAA;QACtB,YAAO,GAAG,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,sBAAsB,CAAA;AAEzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AACjE,OAAO,EAAwB,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAChF,OAAO,MAAM,MAAM,4BAA4B,CAAA;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAEvC,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AACzC,OAAO,kBAAkB,MAAM,qBAAqB,CAAA;AACpD,OAAO,qBAAqB,MAAM,wBAAwB,CAAA;AAC1D,OAAO,cAAc,MAAM,iBAAiB,CAAA;AAC5C,OAAO,QAAQ,MAAM,gBAAgB,CAAA;AAErC,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,MAAM;IAAjD;;QACE,SAAI,GAAG,eAAe,CAAA;QACtB,YAAO,GAAG,OAAO,CAAA;IA+CnB,CAAC;IA7CC,OAAO,CAAC,aAA4B;QAClC,QAAQ,CAAC,aAAa,CAAC,CAAA;QACvB,cAAc,CAAC,aAAa,CAAC,CAAA;QAC7B,kBAAkB,CAAC,aAAa,CAAC,CAAA;QACjC,qBAAqB,CAAC,aAAa,CAAC,CAAA;IACtC,CAAC;IAED,SAAS,CAAC,aAA4B;QACpC,IAAI,qBAAqB,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE,CAAC;YACnD,aAAa,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,EAAE;gBAC/C,KAAK,EAAE,kCAAkC;gBACzC,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,CAAC,OAA6B,EAAE,EAAE;oBACzC,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAA;gBAChC,CAAC;aACF,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED,mBAAmB;IACnB,uBAAuB,CAAC,aAA4B;QAClD,OAAO;YACL,GAAG,EAAE,mBAAmB,CAAC,KAAK,EAAE;gBAC9B,QAAQ,EAAE,KAAK,CAAC,KAAK,CACnB,KAAK,CAAC,KAAK,CACT,mBAAmB,CAAC,UAAU,EAAE;oBAC9B,SAAS,EAAE;wBACT,IAAI,EAAE,QAAQ;wBACd,YAAY,EAAE,EAAE;qBACjB;oBACD,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,YAAY,EAAE,EAAE;qBACjB;oBACD,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ;wBACd,YAAY,EAAE,EAAE;qBACjB;oBACD,OAAO,EAAE,aAAa,CAAC,yBAAyB,CAAC,SAAS,CAAC;iBAC5D,CAAC,CACH,CACF;aACF,CAAC;SACH,CAAA;IACH,CAAC;CACF"}
|