jbrowse-plugin-msaview 2.2.8 → 2.3.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/AddHighlightModel/index.d.ts +1 -1
- package/dist/AddHighlightModel/index.js.map +1 -1
- package/dist/BgzipFastaMsaAdapter/BgzipFastaMsaAdapter.d.ts +2 -1
- package/dist/BgzipFastaMsaAdapter/BgzipFastaMsaAdapter.js +1 -1
- package/dist/BgzipFastaMsaAdapter/BgzipFastaMsaAdapter.js.map +1 -1
- package/dist/BgzipFastaMsaAdapter/configSchema.d.ts +3 -3
- package/dist/BgzipFastaMsaAdapter/configSchema.js.map +1 -1
- package/dist/BgzipFastaMsaAdapter/index.d.ts +1 -1
- package/dist/BgzipFastaMsaAdapter/index.js.map +1 -1
- package/dist/LaunchMsaView/components/EnsemblGeneTree/EnsemblGeneTree.d.ts +1 -1
- package/dist/LaunchMsaView/components/EnsemblGeneTree/EnsemblGeneTree.js +1 -1
- package/dist/LaunchMsaView/components/EnsemblGeneTree/EnsemblGeneTree.js.map +1 -1
- package/dist/LaunchMsaView/components/EnsemblGeneTree/ensemblGeneTreeUtils.js.map +1 -1
- package/dist/LaunchMsaView/components/LaunchMsaViewDialog.d.ts +1 -1
- package/dist/LaunchMsaView/components/LaunchMsaViewDialog.js.map +1 -1
- package/dist/LaunchMsaView/components/ManualMSALoader/ManualMSALoader.d.ts +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/ManualMSALoader/launchView.d.ts +1 -1
- package/dist/LaunchMsaView/components/ManualMSALoader/launchView.js.map +1 -1
- package/dist/LaunchMsaView/components/NCBIBlastQuery/CachedBlastResults.d.ts +1 -2
- package/dist/LaunchMsaView/components/NCBIBlastQuery/CachedBlastResults.js +21 -14
- package/dist/LaunchMsaView/components/NCBIBlastQuery/CachedBlastResults.js.map +1 -1
- package/dist/LaunchMsaView/components/NCBIBlastQuery/NCBIBlastAutomaticPanel.d.ts +1 -1
- package/dist/LaunchMsaView/components/NCBIBlastQuery/NCBIBlastAutomaticPanel.js +32 -35
- package/dist/LaunchMsaView/components/NCBIBlastQuery/NCBIBlastAutomaticPanel.js.map +1 -1
- package/dist/LaunchMsaView/components/NCBIBlastQuery/NCBIBlastRIDPanel.d.ts +1 -1
- package/dist/LaunchMsaView/components/NCBIBlastQuery/NCBIBlastRIDPanel.js +2 -2
- package/dist/LaunchMsaView/components/NCBIBlastQuery/NCBIBlastRIDPanel.js.map +1 -1
- package/dist/LaunchMsaView/components/NCBIBlastQuery/blastLaunchView.d.ts +1 -1
- package/dist/LaunchMsaView/components/NCBIBlastQuery/blastLaunchView.js.map +1 -1
- package/dist/LaunchMsaView/components/NCBIBlastQuery/consts.d.ts +2 -0
- package/dist/LaunchMsaView/components/NCBIBlastQuery/consts.js +1 -0
- package/dist/LaunchMsaView/components/NCBIBlastQuery/consts.js.map +1 -1
- package/dist/LaunchMsaView/components/PreLoadedMSA/PreLoadedMSADataPanel.d.ts +1 -1
- package/dist/LaunchMsaView/components/PreLoadedMSA/PreLoadedMSADataPanel.js +6 -8
- package/dist/LaunchMsaView/components/PreLoadedMSA/PreLoadedMSADataPanel.js.map +1 -1
- package/dist/LaunchMsaView/components/PreLoadedMSA/fetchMSAData.d.ts +2 -2
- package/dist/LaunchMsaView/components/PreLoadedMSA/fetchMSAData.js.map +1 -1
- package/dist/LaunchMsaView/components/PreLoadedMSA/preCalculatedLaunchView.d.ts +1 -1
- package/dist/LaunchMsaView/components/PreLoadedMSA/preCalculatedLaunchView.js.map +1 -1
- package/dist/LaunchMsaView/components/TranscriptSelector.d.ts +3 -3
- package/dist/LaunchMsaView/components/TranscriptSelector.js +4 -4
- package/dist/LaunchMsaView/components/TranscriptSelector.js.map +1 -1
- package/dist/LaunchMsaView/components/useTranscriptSelection.d.ts +1 -1
- package/dist/LaunchMsaView/components/useTranscriptSelection.js +1 -2
- package/dist/LaunchMsaView/components/useTranscriptSelection.js.map +1 -1
- package/dist/LaunchMsaView/components/util.js +1 -1
- package/dist/LaunchMsaView/components/util.js.map +1 -1
- package/dist/LaunchMsaView/index.d.ts +1 -1
- package/dist/LaunchMsaView/index.js.map +1 -1
- package/dist/LaunchMsaView/util.d.ts +1 -0
- package/dist/LaunchMsaView/util.js +10 -0
- package/dist/LaunchMsaView/util.js.map +1 -1
- package/dist/MsaViewPanel/afterCreateAutoruns.d.ts +10 -0
- package/dist/MsaViewPanel/afterCreateAutoruns.js +258 -0
- package/dist/MsaViewPanel/afterCreateAutoruns.js.map +1 -0
- package/dist/MsaViewPanel/blosum62.d.ts +2 -0
- package/dist/MsaViewPanel/blosum62.js +628 -0
- package/dist/MsaViewPanel/blosum62.js.map +1 -0
- package/dist/MsaViewPanel/components/LoadingBLAST.d.ts +1 -1
- package/dist/MsaViewPanel/components/LoadingBLAST.js.map +1 -1
- package/dist/MsaViewPanel/components/MsaViewPanel.d.ts +1 -1
- package/dist/MsaViewPanel/components/MsaViewPanel.js.map +1 -1
- package/dist/MsaViewPanel/doLaunchBlast.d.ts +1 -1
- package/dist/MsaViewPanel/doLaunchBlast.js.map +1 -1
- package/dist/MsaViewPanel/genomeToMSA.d.ts +1 -1
- package/dist/MsaViewPanel/genomeToMSA.js.map +1 -1
- package/dist/MsaViewPanel/index.d.ts +1 -1
- package/dist/MsaViewPanel/index.js.map +1 -1
- package/dist/MsaViewPanel/model.d.ts +31 -39
- package/dist/MsaViewPanel/model.js +17 -309
- package/dist/MsaViewPanel/model.js.map +1 -1
- package/dist/MsaViewPanel/msaDataStore.d.ts +3 -4
- package/dist/MsaViewPanel/msaDataStore.js +59 -173
- package/dist/MsaViewPanel/msaDataStore.js.map +1 -1
- package/dist/MsaViewPanel/pairwiseAlignment.d.ts +0 -7
- package/dist/MsaViewPanel/pairwiseAlignment.js +1 -636
- package/dist/MsaViewPanel/pairwiseAlignment.js.map +1 -1
- package/dist/MsaViewPanel/structureConnection.js +1 -5
- package/dist/MsaViewPanel/structureConnection.js.map +1 -1
- package/dist/MsaViewPanel/util.d.ts +1 -1
- package/dist/index.d.ts +6 -6
- package/dist/index.js +21 -22
- package/dist/index.js.map +1 -1
- package/dist/jbrowse-plugin-msaview.umd.production.min.js +29 -29
- package/dist/jbrowse-plugin-msaview.umd.production.min.js.map +4 -4
- package/dist/utils/msa.js +35 -77
- package/dist/utils/msa.js.map +1 -1
- package/dist/utils/ncbiBlast.js +1 -10
- package/dist/utils/ncbiBlast.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/version.js.map +1 -1
- package/package.json +33 -30
- package/src/AddHighlightModel/index.tsx +1 -1
- package/src/BgzipFastaMsaAdapter/BgzipFastaMsaAdapter.ts +3 -4
- package/src/BgzipFastaMsaAdapter/configSchema.ts +2 -1
- package/src/BgzipFastaMsaAdapter/index.ts +2 -1
- package/src/LaunchMsaView/components/EnsemblGeneTree/EnsemblGeneTree.tsx +2 -6
- package/src/LaunchMsaView/components/EnsemblGeneTree/ensemblGeneTreeUtils.ts +2 -1
- package/src/LaunchMsaView/components/LaunchMsaViewDialog.tsx +2 -1
- package/src/LaunchMsaView/components/ManualMSALoader/ManualMSALoader.tsx +6 -7
- package/src/LaunchMsaView/components/ManualMSALoader/launchView.ts +5 -2
- package/src/LaunchMsaView/components/NCBIBlastQuery/CachedBlastResults.tsx +22 -17
- package/src/LaunchMsaView/components/NCBIBlastQuery/NCBIBlastAutomaticPanel.tsx +40 -52
- package/src/LaunchMsaView/components/NCBIBlastQuery/NCBIBlastRIDPanel.tsx +6 -13
- package/src/LaunchMsaView/components/NCBIBlastQuery/blastLaunchView.ts +2 -1
- package/src/LaunchMsaView/components/NCBIBlastQuery/consts.ts +2 -0
- package/src/LaunchMsaView/components/PreLoadedMSA/PreLoadedMSADataPanel.tsx +7 -19
- package/src/LaunchMsaView/components/PreLoadedMSA/fetchMSAData.ts +2 -2
- package/src/LaunchMsaView/components/PreLoadedMSA/preCalculatedLaunchView.ts +1 -2
- package/src/LaunchMsaView/components/TranscriptSelector.tsx +7 -6
- package/src/LaunchMsaView/components/useTranscriptSelection.ts +1 -6
- package/src/LaunchMsaView/components/util.ts +1 -1
- package/src/LaunchMsaView/index.ts +6 -5
- package/src/LaunchMsaView/util.ts +11 -0
- package/src/MsaViewPanel/afterCreateAutoruns.ts +299 -0
- package/src/MsaViewPanel/blosum62.ts +628 -0
- package/src/MsaViewPanel/components/LoadingBLAST.tsx +2 -1
- package/src/MsaViewPanel/components/MsaViewPanel.tsx +2 -1
- package/src/MsaViewPanel/doLaunchBlast.ts +1 -1
- package/src/MsaViewPanel/genomeToMSA.ts +2 -1
- package/src/MsaViewPanel/index.ts +2 -1
- package/src/MsaViewPanel/model.ts +30 -392
- package/src/MsaViewPanel/msaDataStore.ts +56 -196
- package/src/MsaViewPanel/pairwiseAlignment.ts +1 -637
- package/src/MsaViewPanel/structureConnection.ts +1 -5
- package/src/MsaViewPanel/util.ts +1 -1
- package/src/index.ts +5 -4
- package/src/utils/msa.ts +45 -100
- package/src/utils/ncbiBlast.ts +3 -13
- package/src/version.ts +1 -1
- package/CHANGELOG.md +0 -101
package/dist/utils/msa.js
CHANGED
|
@@ -1,65 +1,27 @@
|
|
|
1
1
|
import { textfetch, timeout } from './fetch';
|
|
2
2
|
const base = `https://www.ebi.ac.uk/Tools/services/rest`;
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
}),
|
|
26
|
-
});
|
|
27
|
-
await wait({ jobId, algorithm: 'muscle', onProgress });
|
|
28
|
-
return {
|
|
29
|
-
msa: await textfetch(`${base}/muscle/result/${jobId}/fa`),
|
|
30
|
-
tree: await textfetch(`${base}/muscle/result/${jobId}/phylotree`),
|
|
31
|
-
};
|
|
32
|
-
}
|
|
33
|
-
async function runKalign({ sequence, onProgress, }) {
|
|
34
|
-
const jobId = await textfetch(`${base}/kalign/run`, {
|
|
35
|
-
method: 'POST',
|
|
36
|
-
body: new URLSearchParams({
|
|
37
|
-
email: 'colin.diesh@gmail.com',
|
|
38
|
-
stype: 'protein',
|
|
39
|
-
sequence,
|
|
40
|
-
}),
|
|
41
|
-
});
|
|
42
|
-
await wait({ jobId, algorithm: 'kalign', onProgress });
|
|
43
|
-
return {
|
|
44
|
-
msa: await textfetch(`${base}/kalign/result/${jobId}/fa`),
|
|
45
|
-
tree: await textfetch(`${base}/kalign/result/${jobId}/phylotree`),
|
|
46
|
-
};
|
|
47
|
-
}
|
|
48
|
-
async function runMafft({ sequence, onProgress, }) {
|
|
49
|
-
const jobId = await textfetch(`${base}/mafft/run`, {
|
|
50
|
-
method: 'POST',
|
|
51
|
-
body: new URLSearchParams({
|
|
52
|
-
email: 'colin.diesh@gmail.com',
|
|
53
|
-
stype: 'protein',
|
|
54
|
-
sequence,
|
|
55
|
-
}),
|
|
56
|
-
});
|
|
57
|
-
await wait({ jobId, algorithm: 'mafft', onProgress });
|
|
58
|
-
return {
|
|
59
|
-
msa: await textfetch(`${base}/mafft/result/${jobId}/fa`),
|
|
60
|
-
tree: await textfetch(`${base}/mafft/result/${jobId}/phylotree`),
|
|
61
|
-
};
|
|
62
|
-
}
|
|
3
|
+
const algorithms = {
|
|
4
|
+
clustalo: {
|
|
5
|
+
params: { email: 'colin.diesh@gmail.com' },
|
|
6
|
+
msaResult: 'aln-clustal_num',
|
|
7
|
+
treeResult: 'phylotree',
|
|
8
|
+
},
|
|
9
|
+
muscle: {
|
|
10
|
+
params: { email: 'colin.diesh@gmail.com', format: 'clw', tree: 'tree1' },
|
|
11
|
+
msaResult: 'fa',
|
|
12
|
+
treeResult: 'phylotree',
|
|
13
|
+
},
|
|
14
|
+
kalign: {
|
|
15
|
+
params: { email: 'colin.diesh@gmail.com', stype: 'protein' },
|
|
16
|
+
msaResult: 'fa',
|
|
17
|
+
treeResult: 'phylotree',
|
|
18
|
+
},
|
|
19
|
+
mafft: {
|
|
20
|
+
params: { email: 'colin.diesh@gmail.com', stype: 'protein' },
|
|
21
|
+
msaResult: 'fa',
|
|
22
|
+
treeResult: 'phylotree',
|
|
23
|
+
},
|
|
24
|
+
};
|
|
63
25
|
async function wait({ onProgress, jobId, algorithm, }) {
|
|
64
26
|
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
65
27
|
while (true) {
|
|
@@ -77,23 +39,19 @@ async function wait({ onProgress, jobId, algorithm, }) {
|
|
|
77
39
|
}
|
|
78
40
|
}
|
|
79
41
|
export async function launchMSA({ algorithm, sequence, onProgress, }) {
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
return runClustalOmega({ sequence, onProgress });
|
|
84
|
-
}
|
|
85
|
-
case 'muscle': {
|
|
86
|
-
return runMuscle({ sequence, onProgress });
|
|
87
|
-
}
|
|
88
|
-
case 'kalign': {
|
|
89
|
-
return runKalign({ sequence, onProgress });
|
|
90
|
-
}
|
|
91
|
-
case 'mafft': {
|
|
92
|
-
return runMafft({ sequence, onProgress });
|
|
93
|
-
}
|
|
94
|
-
default: {
|
|
95
|
-
throw new Error('unknown algorithm');
|
|
96
|
-
}
|
|
42
|
+
const config = algorithms[algorithm];
|
|
43
|
+
if (!config) {
|
|
44
|
+
throw new Error(`unknown algorithm: ${algorithm}`);
|
|
97
45
|
}
|
|
46
|
+
onProgress(`Launching ${algorithm} MSA...`);
|
|
47
|
+
const jobId = await textfetch(`${base}/${algorithm}/run`, {
|
|
48
|
+
method: 'POST',
|
|
49
|
+
body: new URLSearchParams({ ...config.params, sequence }),
|
|
50
|
+
});
|
|
51
|
+
await wait({ jobId, algorithm, onProgress });
|
|
52
|
+
return {
|
|
53
|
+
msa: await textfetch(`${base}/${algorithm}/result/${jobId}/${config.msaResult}`),
|
|
54
|
+
tree: await textfetch(`${base}/${algorithm}/result/${jobId}/${config.treeResult}`),
|
|
55
|
+
};
|
|
98
56
|
}
|
|
99
57
|
//# sourceMappingURL=msa.js.map
|
package/dist/utils/msa.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"msa.js","sourceRoot":"","sources":["../../src/utils/msa.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAE5C,MAAM,IAAI,GAAG,2CAA2C,CAAA;AAExD,
|
|
1
|
+
{"version":3,"file":"msa.js","sourceRoot":"","sources":["../../src/utils/msa.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAE5C,MAAM,IAAI,GAAG,2CAA2C,CAAA;AAExD,MAAM,UAAU,GAOZ;IACF,QAAQ,EAAE;QACR,MAAM,EAAE,EAAE,KAAK,EAAE,uBAAuB,EAAE;QAC1C,SAAS,EAAE,iBAAiB;QAC5B,UAAU,EAAE,WAAW;KACxB;IACD,MAAM,EAAE;QACN,MAAM,EAAE,EAAE,KAAK,EAAE,uBAAuB,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE;QACxE,SAAS,EAAE,IAAI;QACf,UAAU,EAAE,WAAW;KACxB;IACD,MAAM,EAAE;QACN,MAAM,EAAE,EAAE,KAAK,EAAE,uBAAuB,EAAE,KAAK,EAAE,SAAS,EAAE;QAC5D,SAAS,EAAE,IAAI;QACf,UAAU,EAAE,WAAW;KACxB;IACD,KAAK,EAAE;QACL,MAAM,EAAE,EAAE,KAAK,EAAE,uBAAuB,EAAE,KAAK,EAAE,SAAS,EAAE;QAC5D,SAAS,EAAE,IAAI;QACf,UAAU,EAAE,WAAW;KACxB;CACF,CAAA;AAED,KAAK,UAAU,IAAI,CAAC,EAClB,UAAU,EACV,KAAK,EACL,SAAS,GAKV;IACC,uEAAuE;IACvE,OAAO,IAAI,EAAE,CAAC;QACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5B,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;YACnB,UAAU,CAAC,gCAAgC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAA;QACtD,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,GAAG,IAAI,IAAI,SAAS,WAAW,KAAK,EAAE,CAAC,CAAA;QAEtE,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;YAC1B,MAAK;QACP,CAAC;aAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CAAC,wBAAwB,KAAK,EAAE,CAAC,CAAA;QAClD,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,EAC9B,SAAS,EACT,QAAQ,EACR,UAAU,GAKX;IACC,MAAM,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC,CAAA;IACpC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,sBAAsB,SAAS,EAAE,CAAC,CAAA;IACpD,CAAC;IAED,UAAU,CAAC,aAAa,SAAS,SAAS,CAAC,CAAA;IAE3C,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,GAAG,IAAI,IAAI,SAAS,MAAM,EAAE;QACxD,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,IAAI,eAAe,CAAC,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC;KAC1D,CAAC,CAAA;IACF,MAAM,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAA;IAC5C,OAAO;QACL,GAAG,EAAE,MAAM,SAAS,CAClB,GAAG,IAAI,IAAI,SAAS,WAAW,KAAK,IAAI,MAAM,CAAC,SAAS,EAAE,CAC3D;QACD,IAAI,EAAE,MAAM,SAAS,CACnB,GAAG,IAAI,IAAI,SAAS,WAAW,KAAK,IAAI,MAAM,CAAC,UAAU,EAAE,CAC5D;KACF,CAAA;AACH,CAAC"}
|
package/dist/utils/ncbiBlast.js
CHANGED
|
@@ -21,16 +21,7 @@ export async function queryBlast({ query, blastDatabase, blastProgram, baseUrl,
|
|
|
21
21
|
baseUrl,
|
|
22
22
|
});
|
|
23
23
|
onRid(rid);
|
|
24
|
-
|
|
25
|
-
rid,
|
|
26
|
-
onProgress,
|
|
27
|
-
baseUrl,
|
|
28
|
-
});
|
|
29
|
-
const ret = await jsonfetch(`${baseUrl}?CMD=Get&RID=${rid}&FORMAT_TYPE=JSON2_S&FORMAT_OBJECT=Alignment`);
|
|
30
|
-
return {
|
|
31
|
-
rid,
|
|
32
|
-
hits: ret.BlastOutput2[0]?.report.results.search.hits ?? [],
|
|
33
|
-
};
|
|
24
|
+
return queryBlastFromRid({ rid, baseUrl, onProgress });
|
|
34
25
|
}
|
|
35
26
|
async function initialQuery({ query, blastProgram, blastDatabase, baseUrl, }) {
|
|
36
27
|
const res = await textfetch(baseUrl, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ncbiBlast.js","sourceRoot":"","sources":["../../src/utils/ncbiBlast.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"ncbiBlast.js","sourceRoot":"","sources":["../../src/utils/ncbiBlast.ts"],"names":[],"mappings":"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"}
|
package/dist/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const version = "2.2.
|
|
1
|
+
export declare const version = "2.2.11";
|
package/dist/version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const version = '2.2.
|
|
1
|
+
export const version = '2.2.11';
|
|
2
2
|
//# sourceMappingURL=version.js.map
|
package/dist/version.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "2.2
|
|
2
|
+
"version": "2.3.2",
|
|
3
3
|
"license": "MIT",
|
|
4
4
|
"name": "jbrowse-plugin-msaview",
|
|
5
|
+
"repository": {
|
|
6
|
+
"type": "git",
|
|
7
|
+
"url": "https://github.com/GMOD/jbrowse-plugin-msaview.git"
|
|
8
|
+
},
|
|
5
9
|
"keywords": [
|
|
6
10
|
"jbrowse",
|
|
7
11
|
"jbrowse2"
|
|
@@ -26,51 +30,50 @@
|
|
|
26
30
|
"test:versions": "node scripts/test-versions.mjs run",
|
|
27
31
|
"test:version": "node scripts/test-versions.mjs run",
|
|
28
32
|
"prepack": "yarn build",
|
|
29
|
-
"
|
|
30
|
-
"preversion": "yarn lint"
|
|
31
|
-
"postversion": "git push --follow-tags"
|
|
33
|
+
"postversion": "node -e \"console.log('export const version = \\'' + require('./package.json').version + '\\'')\" > src/version.ts && git add -A src && git diff --cached --quiet || git commit -m '[skip ci] Bump version.ts' && git push --follow-tags",
|
|
34
|
+
"preversion": "yarn lint"
|
|
32
35
|
},
|
|
33
36
|
"dependencies": {
|
|
34
37
|
"@emotion/styled": "^11.14.1",
|
|
35
38
|
"g2p_mapper": "^2.0.0",
|
|
36
39
|
"idb": "^8.0.3",
|
|
37
|
-
"pako-esm2": "^2.0.
|
|
38
|
-
"react-msaview": "^5.0.
|
|
39
|
-
"swr": "^2.
|
|
40
|
+
"pako-esm2": "^2.0.2",
|
|
41
|
+
"react-msaview": "^5.0.13",
|
|
42
|
+
"swr": "^2.4.1"
|
|
40
43
|
},
|
|
41
44
|
"devDependencies": {
|
|
42
45
|
"@emotion/react": "^11.14.0",
|
|
43
|
-
"@eslint/js": "^9.39.
|
|
46
|
+
"@eslint/js": "^9.39.4",
|
|
44
47
|
"@fal-works/esbuild-plugin-global-externals": "^2.1.2",
|
|
45
|
-
"@jbrowse/core": "^4.1.
|
|
46
|
-
"@jbrowse/mobx-state-tree": "^5.
|
|
47
|
-
"@jbrowse/plugin-linear-genome-view": "^4.1.
|
|
48
|
-
"@mui/icons-material": "^7.3.
|
|
49
|
-
"@mui/material": "^7.3.
|
|
50
|
-
"@mui/system": "^7.3.
|
|
51
|
-
"@mui/x-data-grid": "^8.
|
|
52
|
-
"@types/node": "^25.
|
|
53
|
-
"@types/react": "^19.2.
|
|
54
|
-
"esbuild": "^0.
|
|
55
|
-
"eslint": "^9.39.
|
|
48
|
+
"@jbrowse/core": "^4.1.15",
|
|
49
|
+
"@jbrowse/mobx-state-tree": "^5.6.0",
|
|
50
|
+
"@jbrowse/plugin-linear-genome-view": "^4.1.15",
|
|
51
|
+
"@mui/icons-material": "^7.3.10",
|
|
52
|
+
"@mui/material": "^7.3.10",
|
|
53
|
+
"@mui/system": "^7.3.10",
|
|
54
|
+
"@mui/x-data-grid": "^8.28.2",
|
|
55
|
+
"@types/node": "^25.6.0",
|
|
56
|
+
"@types/react": "^19.2.14",
|
|
57
|
+
"esbuild": "^0.28.0",
|
|
58
|
+
"eslint": "^9.39.4",
|
|
56
59
|
"eslint-plugin-import": "^2.32.0",
|
|
57
60
|
"eslint-plugin-react": "^7.37.5",
|
|
58
61
|
"eslint-plugin-react-hooks": "^7.0.1",
|
|
59
|
-
"eslint-plugin-react-refresh": "^0.
|
|
60
|
-
"eslint-plugin-unicorn": "^
|
|
62
|
+
"eslint-plugin-react-refresh": "^0.5.2",
|
|
63
|
+
"eslint-plugin-unicorn": "^64.0.0",
|
|
61
64
|
"mobx": "^6.15.0",
|
|
62
65
|
"mobx-react": "^9.2.1",
|
|
63
|
-
"prettier": "^3.
|
|
66
|
+
"prettier": "^3.8.2",
|
|
64
67
|
"pretty-bytes": "^7.1.0",
|
|
65
|
-
"puppeteer": "^24.
|
|
66
|
-
"react": "^19.2.
|
|
67
|
-
"react-dom": "^19.2.
|
|
68
|
-
"rimraf": "^6.1.
|
|
68
|
+
"puppeteer": "^24.40.0",
|
|
69
|
+
"react": "^19.2.5",
|
|
70
|
+
"react-dom": "^19.2.5",
|
|
71
|
+
"rimraf": "^6.1.3",
|
|
69
72
|
"rxjs": "^7.8.2",
|
|
70
|
-
"serve": "^14.2.
|
|
73
|
+
"serve": "^14.2.6",
|
|
71
74
|
"tss-react": "^4.9.20",
|
|
72
|
-
"typescript": "^
|
|
73
|
-
"typescript-eslint": "^8.
|
|
74
|
-
"vitest": "^4.
|
|
75
|
+
"typescript": "^6.0.2",
|
|
76
|
+
"typescript-eslint": "^8.58.2",
|
|
77
|
+
"vitest": "^4.1.4"
|
|
75
78
|
}
|
|
76
79
|
}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import React from 'react'
|
|
2
2
|
|
|
3
|
-
import PluginManager from '@jbrowse/core/PluginManager'
|
|
4
3
|
import { getSession } from '@jbrowse/core/util'
|
|
5
4
|
|
|
6
5
|
import HighlightComponents from './HighlightComponents'
|
|
7
6
|
|
|
7
|
+
import type PluginManager from '@jbrowse/core/PluginManager'
|
|
8
8
|
import type { LinearGenomeViewModel } from '@jbrowse/plugin-linear-genome-view'
|
|
9
9
|
|
|
10
10
|
export default function AddHighlightComponentsModelF(
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { readConfObject } from '@jbrowse/core/configuration'
|
|
2
|
-
import {
|
|
3
|
-
BaseAdapter,
|
|
4
|
-
BaseFeatureDataAdapter,
|
|
5
|
-
} from '@jbrowse/core/data_adapters/BaseAdapter'
|
|
2
|
+
import { BaseAdapter } from '@jbrowse/core/data_adapters/BaseAdapter'
|
|
6
3
|
import { firstValueFrom, toArray } from 'rxjs'
|
|
7
4
|
|
|
5
|
+
import type { BaseFeatureDataAdapter } from '@jbrowse/core/data_adapters/BaseAdapter'
|
|
6
|
+
|
|
8
7
|
export default class BgzipFastaMsaAdapter extends BaseAdapter {
|
|
9
8
|
configureP: Promise<BaseFeatureDataAdapter> | undefined
|
|
10
9
|
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import PluginManager from '@jbrowse/core/PluginManager'
|
|
2
1
|
import { ConfigurationSchema } from '@jbrowse/core/configuration'
|
|
3
2
|
|
|
3
|
+
import type PluginManager from '@jbrowse/core/PluginManager'
|
|
4
|
+
|
|
4
5
|
export default function configSchemaF(pluginManager: PluginManager) {
|
|
5
6
|
const base = pluginManager.getAdapterType('BgzipFastaAdapter')
|
|
6
7
|
return ConfigurationSchema(
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import PluginManager from '@jbrowse/core/PluginManager'
|
|
2
1
|
import { AdapterType } from '@jbrowse/core/pluggableElementTypes'
|
|
3
2
|
|
|
4
3
|
import configSchemaF from './configSchema'
|
|
5
4
|
|
|
5
|
+
import type PluginManager from '@jbrowse/core/PluginManager'
|
|
6
|
+
|
|
6
7
|
export default function BgzipFastaMsaAdapterF(pluginManager: PluginManager) {
|
|
7
8
|
return pluginManager.addAdapterType(() => {
|
|
8
9
|
return new AdapterType({
|
|
@@ -1,12 +1,7 @@
|
|
|
1
1
|
import React, { useState } from 'react'
|
|
2
2
|
|
|
3
3
|
import { ErrorMessage, LoadingEllipses } from '@jbrowse/core/ui'
|
|
4
|
-
import {
|
|
5
|
-
AbstractTrackModel,
|
|
6
|
-
Feature,
|
|
7
|
-
getContainingView,
|
|
8
|
-
getSession,
|
|
9
|
-
} from '@jbrowse/core/util'
|
|
4
|
+
import { getContainingView, getSession } from '@jbrowse/core/util'
|
|
10
5
|
import { Button, DialogActions, DialogContent, Link } from '@mui/material'
|
|
11
6
|
import { observer } from 'mobx-react'
|
|
12
7
|
import { makeStyles } from 'tss-react/mui'
|
|
@@ -17,6 +12,7 @@ import { getGeneDisplayName } from '../../util'
|
|
|
17
12
|
import TranscriptSelector from '../TranscriptSelector'
|
|
18
13
|
import { useTranscriptSelection } from '../useTranscriptSelection'
|
|
19
14
|
|
|
15
|
+
import type { AbstractTrackModel, Feature } from '@jbrowse/core/util'
|
|
20
16
|
import type { LinearGenomeViewModel } from '@jbrowse/plugin-linear-genome-view'
|
|
21
17
|
|
|
22
18
|
const useStyles = makeStyles()({
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { gatherSequencesFromTree } from './gatherSequencesFromTree'
|
|
2
|
-
import { TreeNode } from './types'
|
|
3
2
|
import { fetchWithLocalStorageCache, jsonfetch, textfetch } from './util'
|
|
4
3
|
|
|
4
|
+
import type { TreeNode } from './types'
|
|
5
|
+
|
|
5
6
|
const base = 'https://rest.ensembl.org'
|
|
6
7
|
|
|
7
8
|
export async function geneTreeFetcher(id2: string) {
|
|
@@ -2,7 +2,7 @@ import React, { useState } from 'react'
|
|
|
2
2
|
|
|
3
3
|
import { readConfObject } from '@jbrowse/core/configuration'
|
|
4
4
|
import { Dialog } from '@jbrowse/core/ui'
|
|
5
|
-
import {
|
|
5
|
+
import { getSession } from '@jbrowse/core/util'
|
|
6
6
|
import { Tab, Tabs } from '@mui/material'
|
|
7
7
|
|
|
8
8
|
import EnsemblGeneTree from './EnsemblGeneTree/EnsemblGeneTree'
|
|
@@ -12,6 +12,7 @@ import PreLoadedMSA from './PreLoadedMSA/PreLoadedMSADataPanel'
|
|
|
12
12
|
import TabPanel from './TabPanel'
|
|
13
13
|
|
|
14
14
|
import type { Dataset } from './PreLoadedMSA/types'
|
|
15
|
+
import type { AbstractTrackModel, Feature } from '@jbrowse/core/util'
|
|
15
16
|
|
|
16
17
|
export default function LaunchMsaViewDialog({
|
|
17
18
|
handleClose,
|
|
@@ -1,13 +1,7 @@
|
|
|
1
1
|
import React, { useState } from 'react'
|
|
2
2
|
|
|
3
3
|
import { ErrorMessage, FileSelector } from '@jbrowse/core/ui'
|
|
4
|
-
import {
|
|
5
|
-
AbstractTrackModel,
|
|
6
|
-
Feature,
|
|
7
|
-
FileLocation,
|
|
8
|
-
getContainingView,
|
|
9
|
-
getSession,
|
|
10
|
-
} from '@jbrowse/core/util'
|
|
4
|
+
import { getContainingView, getSession } from '@jbrowse/core/util'
|
|
11
5
|
import {
|
|
12
6
|
Alert,
|
|
13
7
|
Button,
|
|
@@ -27,6 +21,11 @@ import { getGeneDisplayName } from '../../util'
|
|
|
27
21
|
import TranscriptSelector from '../TranscriptSelector'
|
|
28
22
|
import { useTranscriptSelection } from '../useTranscriptSelection'
|
|
29
23
|
|
|
24
|
+
import type {
|
|
25
|
+
AbstractTrackModel,
|
|
26
|
+
Feature,
|
|
27
|
+
FileLocation,
|
|
28
|
+
} from '@jbrowse/core/util'
|
|
30
29
|
import type { LinearGenomeViewModel } from '@jbrowse/plugin-linear-genome-view'
|
|
31
30
|
|
|
32
31
|
const useStyles = makeStyles()({
|
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import type {
|
|
2
|
+
AbstractSessionModel,
|
|
3
|
+
Feature,
|
|
4
|
+
FileLocation,
|
|
5
|
+
} from '@jbrowse/core/util'
|
|
3
6
|
import type { LinearGenomeViewModel } from '@jbrowse/plugin-linear-genome-view'
|
|
4
7
|
|
|
5
8
|
export function launchView({
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React, { useEffect, useMemo, useState } from 'react'
|
|
2
2
|
|
|
3
|
-
import {
|
|
3
|
+
import { ErrorMessage } from '@jbrowse/core/ui'
|
|
4
|
+
import { getContainingView } from '@jbrowse/core/util'
|
|
4
5
|
import DeleteIcon from '@mui/icons-material/Delete'
|
|
5
6
|
import {
|
|
6
7
|
Button,
|
|
@@ -19,22 +20,12 @@ import {
|
|
|
19
20
|
deleteCachedResult,
|
|
20
21
|
getAllCachedResults,
|
|
21
22
|
} from '../../../utils/blastCache'
|
|
23
|
+
import { getGeneIdentifiers } from '../../util'
|
|
22
24
|
|
|
23
25
|
import type { CachedBlastResult } from '../../../utils/blastCache'
|
|
24
|
-
import type { AbstractTrackModel } from '@jbrowse/core/util'
|
|
26
|
+
import type { AbstractTrackModel, Feature } from '@jbrowse/core/util'
|
|
25
27
|
import type { LinearGenomeViewModel } from '@jbrowse/plugin-linear-genome-view'
|
|
26
28
|
|
|
27
|
-
function getGeneIdentifiers(feature: Feature): string[] {
|
|
28
|
-
const ids = [
|
|
29
|
-
feature.id(),
|
|
30
|
-
feature.get('id'),
|
|
31
|
-
feature.get('name'),
|
|
32
|
-
feature.get('gene_id'),
|
|
33
|
-
feature.get('gene_name'),
|
|
34
|
-
].filter((id): id is string => !!id)
|
|
35
|
-
return [...new Set(ids)]
|
|
36
|
-
}
|
|
37
|
-
|
|
38
29
|
function getResultDisplayName(result: CachedBlastResult): string {
|
|
39
30
|
const parts = []
|
|
40
31
|
if (result.geneName) {
|
|
@@ -60,6 +51,7 @@ const CachedBlastResults = observer(function ({
|
|
|
60
51
|
}) {
|
|
61
52
|
const [results, setResults] = useState<CachedBlastResult[]>([])
|
|
62
53
|
const [loading, setLoading] = useState(true)
|
|
54
|
+
const [error, setError] = useState<unknown>()
|
|
63
55
|
const view = getContainingView(model) as LinearGenomeViewModel
|
|
64
56
|
|
|
65
57
|
const geneIds = useMemo(() => getGeneIdentifiers(feature), [feature])
|
|
@@ -73,18 +65,27 @@ const CachedBlastResults = observer(function ({
|
|
|
73
65
|
setLoading(false)
|
|
74
66
|
} catch (e) {
|
|
75
67
|
console.error(e)
|
|
68
|
+
setError(e)
|
|
76
69
|
}
|
|
77
70
|
})()
|
|
78
71
|
}, [geneIds])
|
|
79
72
|
|
|
80
73
|
const handleDelete = async (id: string) => {
|
|
81
|
-
|
|
82
|
-
|
|
74
|
+
try {
|
|
75
|
+
await deleteCachedResult(id)
|
|
76
|
+
setResults(r => r.filter(result => result.id !== id))
|
|
77
|
+
} catch (e) {
|
|
78
|
+
setError(e)
|
|
79
|
+
}
|
|
83
80
|
}
|
|
84
81
|
|
|
85
82
|
const handleClearAll = async () => {
|
|
86
|
-
|
|
87
|
-
|
|
83
|
+
try {
|
|
84
|
+
await clearAllCachedResults()
|
|
85
|
+
setResults([])
|
|
86
|
+
} catch (e) {
|
|
87
|
+
setError(e)
|
|
88
|
+
}
|
|
88
89
|
}
|
|
89
90
|
|
|
90
91
|
const handleUseCached = (cached: CachedBlastResult) => {
|
|
@@ -96,6 +97,10 @@ const CachedBlastResults = observer(function ({
|
|
|
96
97
|
handleClose()
|
|
97
98
|
}
|
|
98
99
|
|
|
100
|
+
if (error) {
|
|
101
|
+
return <ErrorMessage error={error} />
|
|
102
|
+
}
|
|
103
|
+
|
|
99
104
|
if (loading) {
|
|
100
105
|
return <Typography>Loading cached results...</Typography>
|
|
101
106
|
}
|