jbrowse-plugin-msaview 2.3.8 → 2.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (120) hide show
  1. package/dist/AddHighlightModel/GenomeMouseoverHighlight.js +4 -15
  2. package/dist/AddHighlightModel/GenomeMouseoverHighlight.js.map +1 -1
  3. package/dist/AddHighlightModel/MsaToGenomeHighlight.js +5 -8
  4. package/dist/AddHighlightModel/MsaToGenomeHighlight.js.map +1 -1
  5. package/dist/AddHighlightModel/util.d.ts +3 -0
  6. package/dist/AddHighlightModel/util.js +3 -0
  7. package/dist/AddHighlightModel/util.js.map +1 -1
  8. package/dist/LaunchMsaView/components/LaunchMsaViewDialog.js +3 -8
  9. package/dist/LaunchMsaView/components/LaunchMsaViewDialog.js.map +1 -1
  10. package/dist/LaunchMsaView/components/ManualMSALoader/ManualMSALoader.js +7 -10
  11. package/dist/LaunchMsaView/components/ManualMSALoader/ManualMSALoader.js.map +1 -1
  12. package/dist/LaunchMsaView/components/NCBIBlastQuery/NCBIBlastAutomaticPanel.js +2 -5
  13. package/dist/LaunchMsaView/components/NCBIBlastQuery/NCBIBlastAutomaticPanel.js.map +1 -1
  14. package/dist/LaunchMsaView/components/NCBIBlastQuery/NCBIBlastManualPanel.js +0 -3
  15. package/dist/LaunchMsaView/components/NCBIBlastQuery/NCBIBlastManualPanel.js.map +1 -1
  16. package/dist/LaunchMsaView/components/NCBIBlastQuery/blastLaunchView.d.ts +4 -4
  17. package/dist/LaunchMsaView/components/NCBIBlastQuery/blastLaunchView.js +2 -2
  18. package/dist/LaunchMsaView/components/NCBIBlastQuery/blastLaunchView.js.map +1 -1
  19. package/dist/LaunchMsaView/components/NCBIBlastQuery/consts.d.ts +4 -0
  20. package/dist/LaunchMsaView/components/NCBIBlastQuery/consts.js +2 -0
  21. package/dist/LaunchMsaView/components/NCBIBlastQuery/consts.js.map +1 -1
  22. package/dist/LaunchMsaView/components/PreLoadedMSA/PreLoadedMSADataPanel.js +10 -21
  23. package/dist/LaunchMsaView/components/PreLoadedMSA/PreLoadedMSADataPanel.js.map +1 -1
  24. package/dist/LaunchMsaView/components/PreLoadedMSA/types.d.ts +1 -0
  25. package/dist/LaunchMsaView/components/PreLoadedMSA/types.js +4 -1
  26. package/dist/LaunchMsaView/components/PreLoadedMSA/types.js.map +1 -1
  27. package/dist/LaunchMsaView/components/types.d.ts +0 -3
  28. package/dist/LaunchMsaView/components/useFeatureSequence.d.ts +4 -4
  29. package/dist/LaunchMsaView/components/useFeatureSequence.js +2 -4
  30. package/dist/LaunchMsaView/components/useFeatureSequence.js.map +1 -1
  31. package/dist/LaunchMsaView/components/useSWRFeatureSequence.d.ts +4 -5
  32. package/dist/LaunchMsaView/components/useSWRFeatureSequence.js +11 -30
  33. package/dist/LaunchMsaView/components/useSWRFeatureSequence.js.map +1 -1
  34. package/dist/MsaViewPanel/afterCreateAutoruns.js +4 -13
  35. package/dist/MsaViewPanel/afterCreateAutoruns.js.map +1 -1
  36. package/dist/MsaViewPanel/components/ConnectStructureDialog.js +2 -2
  37. package/dist/MsaViewPanel/components/ConnectStructureDialog.js.map +1 -1
  38. package/dist/MsaViewPanel/components/LoadingBLAST.js +2 -3
  39. package/dist/MsaViewPanel/components/LoadingBLAST.js.map +1 -1
  40. package/dist/MsaViewPanel/model.d.ts +4 -11
  41. package/dist/MsaViewPanel/model.js +6 -20
  42. package/dist/MsaViewPanel/model.js.map +1 -1
  43. package/dist/MsaViewPanel/msaDataStore.d.ts +0 -1
  44. package/dist/MsaViewPanel/msaDataStore.js +0 -9
  45. package/dist/MsaViewPanel/msaDataStore.js.map +1 -1
  46. package/dist/MsaViewPanel/structureConnection.d.ts +6 -4
  47. package/dist/MsaViewPanel/structureConnection.js +6 -6
  48. package/dist/MsaViewPanel/structureConnection.js.map +1 -1
  49. package/dist/MsaViewPanel/structureConnection.test.js +1 -19
  50. package/dist/MsaViewPanel/structureConnection.test.js.map +1 -1
  51. package/dist/jbrowse-plugin-msaview.umd.production.min.js +25 -27
  52. package/dist/jbrowse-plugin-msaview.umd.production.min.js.map +4 -4
  53. package/dist/utils/blastCache.d.ts +7 -13
  54. package/dist/utils/blastCache.js +0 -12
  55. package/dist/utils/blastCache.js.map +1 -1
  56. package/dist/utils/msa.d.ts +2 -1
  57. package/dist/utils/msa.js +0 -3
  58. package/dist/utils/msa.js.map +1 -1
  59. package/dist/utils/ncbiBlast.d.ts +3 -2
  60. package/dist/utils/ncbiBlast.js +1 -1
  61. package/dist/utils/ncbiBlast.js.map +1 -1
  62. package/dist/utils/taxonomyNames.js +9 -4
  63. package/dist/utils/taxonomyNames.js.map +1 -1
  64. package/dist/version.d.ts +1 -1
  65. package/dist/version.js +1 -1
  66. package/package.json +22 -20
  67. package/src/AddHighlightModel/GenomeMouseoverHighlight.tsx +7 -21
  68. package/src/AddHighlightModel/MsaToGenomeHighlight.tsx +10 -10
  69. package/src/AddHighlightModel/util.ts +6 -0
  70. package/src/LaunchMsaView/components/LaunchMsaViewDialog.tsx +3 -16
  71. package/src/LaunchMsaView/components/ManualMSALoader/ManualMSALoader.tsx +8 -12
  72. package/src/LaunchMsaView/components/NCBIBlastQuery/NCBIBlastAutomaticPanel.tsx +6 -15
  73. package/src/LaunchMsaView/components/NCBIBlastQuery/NCBIBlastManualPanel.tsx +0 -9
  74. package/src/LaunchMsaView/components/NCBIBlastQuery/blastLaunchView.ts +6 -6
  75. package/src/LaunchMsaView/components/NCBIBlastQuery/consts.ts +7 -0
  76. package/src/LaunchMsaView/components/PreLoadedMSA/PreLoadedMSADataPanel.tsx +12 -27
  77. package/src/LaunchMsaView/components/PreLoadedMSA/types.ts +6 -0
  78. package/src/LaunchMsaView/components/types.ts +0 -3
  79. package/src/LaunchMsaView/components/useFeatureSequence.ts +1 -7
  80. package/src/LaunchMsaView/components/useSWRFeatureSequence.ts +10 -37
  81. package/src/MsaViewPanel/afterCreateAutoruns.ts +7 -15
  82. package/src/MsaViewPanel/components/ConnectStructureDialog.tsx +2 -2
  83. package/src/MsaViewPanel/components/LoadingBLAST.tsx +4 -3
  84. package/src/MsaViewPanel/model.ts +16 -29
  85. package/src/MsaViewPanel/msaDataStore.ts +0 -9
  86. package/src/MsaViewPanel/structureConnection.test.ts +0 -21
  87. package/src/MsaViewPanel/structureConnection.ts +7 -7
  88. package/src/utils/blastCache.ts +14 -37
  89. package/src/utils/msa.ts +5 -6
  90. package/src/utils/ncbiBlast.ts +9 -5
  91. package/src/utils/taxonomyNames.ts +13 -4
  92. package/src/version.ts +1 -1
  93. package/dist/LaunchMsaView/components/EnsemblGeneTree/EnsemblGeneTree.d.ts +0 -8
  94. package/dist/LaunchMsaView/components/EnsemblGeneTree/EnsemblGeneTree.js +0 -70
  95. package/dist/LaunchMsaView/components/EnsemblGeneTree/EnsemblGeneTree.js.map +0 -1
  96. package/dist/LaunchMsaView/components/EnsemblGeneTree/ensemblGeneTreeLaunchView.d.ts +0 -13
  97. package/dist/LaunchMsaView/components/EnsemblGeneTree/ensemblGeneTreeLaunchView.js +0 -12
  98. package/dist/LaunchMsaView/components/EnsemblGeneTree/ensemblGeneTreeLaunchView.js.map +0 -1
  99. package/dist/LaunchMsaView/components/EnsemblGeneTree/ensemblGeneTreeUtils.d.ts +0 -6
  100. package/dist/LaunchMsaView/components/EnsemblGeneTree/ensemblGeneTreeUtils.js +0 -25
  101. package/dist/LaunchMsaView/components/EnsemblGeneTree/ensemblGeneTreeUtils.js.map +0 -1
  102. package/dist/LaunchMsaView/components/EnsemblGeneTree/gatherSequencesFromTree.d.ts +0 -2
  103. package/dist/LaunchMsaView/components/EnsemblGeneTree/gatherSequencesFromTree.js +0 -20
  104. package/dist/LaunchMsaView/components/EnsemblGeneTree/gatherSequencesFromTree.js.map +0 -1
  105. package/dist/LaunchMsaView/components/EnsemblGeneTree/types.d.ts +0 -24
  106. package/dist/LaunchMsaView/components/EnsemblGeneTree/types.js +0 -2
  107. package/dist/LaunchMsaView/components/EnsemblGeneTree/types.js.map +0 -1
  108. package/dist/LaunchMsaView/components/EnsemblGeneTree/useGeneTree.d.ts +0 -10
  109. package/dist/LaunchMsaView/components/EnsemblGeneTree/useGeneTree.js +0 -11
  110. package/dist/LaunchMsaView/components/EnsemblGeneTree/useGeneTree.js.map +0 -1
  111. package/dist/LaunchMsaView/components/EnsemblGeneTree/util.d.ts +0 -1
  112. package/dist/LaunchMsaView/components/EnsemblGeneTree/util.js +0 -2
  113. package/dist/LaunchMsaView/components/EnsemblGeneTree/util.js.map +0 -1
  114. package/src/LaunchMsaView/components/EnsemblGeneTree/EnsemblGeneTree.tsx +0 -123
  115. package/src/LaunchMsaView/components/EnsemblGeneTree/ensemblGeneTreeLaunchView.ts +0 -30
  116. package/src/LaunchMsaView/components/EnsemblGeneTree/ensemblGeneTreeUtils.ts +0 -47
  117. package/src/LaunchMsaView/components/EnsemblGeneTree/gatherSequencesFromTree.ts +0 -22
  118. package/src/LaunchMsaView/components/EnsemblGeneTree/types.ts +0 -28
  119. package/src/LaunchMsaView/components/EnsemblGeneTree/useGeneTree.ts +0 -17
  120. package/src/LaunchMsaView/components/EnsemblGeneTree/util.ts +0 -6
@@ -1,9 +1,10 @@
1
+ import type { BlastDatabase, BlastProgram, MsaAlgorithm } from '../LaunchMsaView/components/NCBIBlastQuery/consts';
1
2
  export interface CachedBlastResult {
2
3
  id: string;
3
4
  proteinSequence: string;
4
- blastDatabase: string;
5
- blastProgram: string;
6
- msaAlgorithm: string;
5
+ blastDatabase: BlastDatabase;
6
+ blastProgram: BlastProgram;
7
+ msaAlgorithm: MsaAlgorithm;
7
8
  msa: string;
8
9
  tree: string;
9
10
  treeMetadata: string;
@@ -14,17 +15,11 @@ export interface CachedBlastResult {
14
15
  transcriptName?: string;
15
16
  geneName?: string;
16
17
  }
17
- export declare function getCachedBlastResult({ proteinSequence, blastDatabase, blastProgram, transcriptId, }: {
18
- proteinSequence: string;
19
- blastDatabase: string;
20
- blastProgram: string;
21
- transcriptId?: string;
22
- }): Promise<any>;
23
18
  export declare function saveBlastResult({ proteinSequence, blastDatabase, blastProgram, msaAlgorithm, msa, tree, treeMetadata, rid, geneId, transcriptId, transcriptName, geneName, }: {
24
19
  proteinSequence: string;
25
- blastDatabase: string;
26
- blastProgram: string;
27
- msaAlgorithm: string;
20
+ blastDatabase: BlastDatabase;
21
+ blastProgram: BlastProgram;
22
+ msaAlgorithm: MsaAlgorithm;
28
23
  msa: string;
29
24
  tree: string;
30
25
  treeMetadata: string;
@@ -35,6 +30,5 @@ export declare function saveBlastResult({ proteinSequence, blastDatabase, blastP
35
30
  geneName?: string;
36
31
  }): Promise<CachedBlastResult>;
37
32
  export declare function getAllCachedResults(): Promise<any[]>;
38
- export declare function getCachedResultsByGeneId(geneId: string): Promise<any[]>;
39
33
  export declare function deleteCachedResult(id: string): Promise<void>;
40
34
  export declare function clearAllCachedResults(): Promise<void>;
@@ -20,11 +20,6 @@ function createCacheKey(proteinSequence, blastDatabase, blastProgram, transcript
20
20
  }
21
21
  return `${blastDatabase}:${blastProgram}:${proteinSequence}`;
22
22
  }
23
- export async function getCachedBlastResult({ proteinSequence, blastDatabase, blastProgram, transcriptId, }) {
24
- const db = await getDB();
25
- const id = createCacheKey(proteinSequence, blastDatabase, blastProgram, transcriptId);
26
- return db.get(STORE_NAME, id);
27
- }
28
23
  export async function saveBlastResult({ proteinSequence, blastDatabase, blastProgram, msaAlgorithm, msa, tree, treeMetadata, rid, geneId, transcriptId, transcriptName, geneName, }) {
29
24
  const db = await getDB();
30
25
  const id = createCacheKey(proteinSequence, blastDatabase, blastProgram, transcriptId);
@@ -52,13 +47,6 @@ export async function getAllCachedResults() {
52
47
  const results = await db.getAll(STORE_NAME);
53
48
  return results.toSorted((a, b) => b.timestamp - a.timestamp);
54
49
  }
55
- export async function getCachedResultsByGeneId(geneId) {
56
- const db = await getDB();
57
- const results = await db.getAll(STORE_NAME);
58
- return results
59
- .filter(r => r.geneId === geneId)
60
- .toSorted((a, b) => b.timestamp - a.timestamp);
61
- }
62
50
  export async function deleteCachedResult(id) {
63
51
  const db = await getDB();
64
52
  await db.delete(STORE_NAME, id);
@@ -1 +1 @@
1
- {"version":3,"file":"blastCache.js","sourceRoot":"","sources":["../../src/utils/blastCache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"blastCache.js","sourceRoot":"","sources":["../../src/utils/blastCache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,CAAA;AAQ5B,MAAM,OAAO,GAAG,6BAA6B,CAAA;AAC7C,MAAM,UAAU,GAAG,eAAe,CAAA;AAClC,MAAM,UAAU,GAAG,CAAC,CAAA;AAmBpB,KAAK,UAAU,KAAK;IAClB,OAAO,MAAM,CAAC,OAAO,EAAE,UAAU,EAAE;QACjC,OAAO,CAAC,EAAE,EAAE,UAAU;YACpB,IAAI,UAAU,GAAG,CAAC,IAAI,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC/D,EAAE,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAA;YAClC,CAAC;YACD,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC9C,EAAE,CAAC,iBAAiB,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;YACrD,CAAC;QACH,CAAC;KACF,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,cAAc,CACrB,eAAuB,EACvB,aAA4B,EAC5B,YAA0B,EAC1B,YAAqB;IAErB,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,GAAG,aAAa,IAAI,YAAY,IAAI,YAAY,IAAI,eAAe,EAAE,CAAA;IAC9E,CAAC;IACD,OAAO,GAAG,aAAa,IAAI,YAAY,IAAI,eAAe,EAAE,CAAA;AAC9D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,EACpC,eAAe,EACf,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,GAAG,EACH,IAAI,EACJ,YAAY,EACZ,GAAG,EACH,MAAM,EACN,YAAY,EACZ,cAAc,EACd,QAAQ,GAcT;IACC,MAAM,EAAE,GAAG,MAAM,KAAK,EAAE,CAAA;IACxB,MAAM,EAAE,GAAG,cAAc,CACvB,eAAe,EACf,aAAa,EACb,YAAY,EACZ,YAAY,CACb,CAAA;IACD,MAAM,KAAK,GAAsB;QAC/B,EAAE;QACF,eAAe;QACf,aAAa;QACb,YAAY;QACZ,YAAY;QACZ,GAAG;QACH,IAAI;QACJ,YAAY;QACZ,GAAG;QACH,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;QACrB,MAAM;QACN,YAAY;QACZ,cAAc;QACd,QAAQ;KACT,CAAA;IACD,MAAM,EAAE,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,CAAA;IAC/B,OAAO,KAAK,CAAA;AACd,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB;IACvC,MAAM,EAAE,GAAG,MAAM,KAAK,EAAE,CAAA;IACxB,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;IAC3C,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAA;AAC9D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,EAAU;IACjD,MAAM,EAAE,GAAG,MAAM,KAAK,EAAE,CAAA;IACxB,MAAM,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC,CAAA;AACjC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB;IACzC,MAAM,EAAE,GAAG,MAAM,KAAK,EAAE,CAAA;IACxB,MAAM,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;AAC5B,CAAC"}
@@ -1,5 +1,6 @@
1
+ import type { MsaAlgorithm } from '../LaunchMsaView/components/NCBIBlastQuery/consts';
1
2
  export declare function launchMSA({ algorithm, sequence, onProgress, }: {
2
- algorithm: string;
3
+ algorithm: MsaAlgorithm;
3
4
  sequence: string;
4
5
  onProgress: (arg: string) => void;
5
6
  }): Promise<{
package/dist/utils/msa.js CHANGED
@@ -40,9 +40,6 @@ async function wait({ onProgress, jobId, algorithm, }) {
40
40
  }
41
41
  export async function launchMSA({ algorithm, sequence, onProgress, }) {
42
42
  const config = algorithms[algorithm];
43
- if (!config) {
44
- throw new Error(`unknown algorithm: ${algorithm}`);
45
- }
46
43
  onProgress(`Launching ${algorithm} MSA...`);
47
44
  const jobId = await textfetch(`${base}/${algorithm}/run`, {
48
45
  method: 'POST',
@@ -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,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"}
1
+ {"version":3,"file":"msa.js","sourceRoot":"","sources":["../../src/utils/msa.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAI5C,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;IAEpC,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"}
@@ -1,3 +1,4 @@
1
+ import type { BlastDatabase, BlastProgram } from '../LaunchMsaView/components/NCBIBlastQuery/consts';
1
2
  export declare function queryBlastFromRid({ rid, baseUrl, onProgress, }: {
2
3
  rid: string;
3
4
  baseUrl: string;
@@ -13,8 +14,8 @@ export declare function queryBlastFromRid({ rid, baseUrl, onProgress, }: {
13
14
  }>;
14
15
  export declare function queryBlast({ query, blastDatabase, blastProgram, baseUrl, onProgress, onRid, }: {
15
16
  query: string;
16
- blastDatabase: string;
17
- blastProgram: string;
17
+ blastDatabase: BlastDatabase;
18
+ blastProgram: BlastProgram;
18
19
  baseUrl: string;
19
20
  onProgress: (arg: string) => void;
20
21
  onRid: (arg: string) => void;
@@ -31,7 +31,7 @@ async function initialQuery({ query, blastProgram, blastDatabase, baseUrl, }) {
31
31
  PROGRAM: blastProgram === 'quick-blastp' ? 'blastp' : blastProgram,
32
32
  DATABASE: blastDatabase,
33
33
  QUERY: query,
34
- ...(blastDatabase === 'nr_clustered_seq'
34
+ ...(blastDatabase === 'nr_cluster_seq'
35
35
  ? {
36
36
  CLUSTERED_DB: 'on',
37
37
  DB_TYPE: 'Experimental Databases',
@@ -1 +1 @@
1
- {"version":3,"file":"ncbiBlast.js","sourceRoot":"","sources":["../../src/utils/ncbiBlast.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ncbiBlast.js","sourceRoot":"","sources":["../../src/utils/ncbiBlast.ts"],"names":[],"mappings":"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"}
@@ -12,9 +12,12 @@ async function getDB() {
12
12
  },
13
13
  });
14
14
  }
15
- async function getCachedCommonName(taxid) {
15
+ async function getCachedTaxonomies(taxids) {
16
16
  const db = await getDB();
17
- return db.get(STORE_NAME, taxid);
17
+ const tx = db.transaction(STORE_NAME, 'readonly');
18
+ const results = await Promise.all(taxids.map(taxid => tx.store.get(taxid)));
19
+ await tx.done;
20
+ return results;
18
21
  }
19
22
  async function saveTaxonomyCache(entries) {
20
23
  const db = await getDB();
@@ -27,8 +30,10 @@ async function saveTaxonomyCache(entries) {
27
30
  export async function fetchTaxonomyInfo(taxids) {
28
31
  const result = new Map();
29
32
  const uncachedTaxids = [];
30
- for (const taxid of taxids) {
31
- const cached = await getCachedCommonName(taxid);
33
+ const cachedResults = await getCachedTaxonomies(taxids);
34
+ for (let i = 0; i < taxids.length; i++) {
35
+ const taxid = taxids[i];
36
+ const cached = cachedResults[i];
32
37
  if (cached) {
33
38
  result.set(taxid, {
34
39
  sciname: cached.sciname,
@@ -1 +1 @@
1
- {"version":3,"file":"taxonomyNames.js","sourceRoot":"","sources":["../../src/utils/taxonomyNames.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taxonomyNames.js","sourceRoot":"","sources":["../../src/utils/taxonomyNames.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,CAAA;AAE5B,MAAM,OAAO,GAAG,gCAAgC,CAAA;AAChD,MAAM,UAAU,GAAG,cAAc,CAAA;AACjC,MAAM,UAAU,GAAG,CAAC,CAAA;AAQpB,KAAK,UAAU,KAAK;IAClB,OAAO,MAAM,CAAC,OAAO,EAAE,UAAU,EAAE;QACjC,OAAO,CAAC,EAAE;YACR,IAAI,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC7C,EAAE,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAA;YAClC,CAAC;YACD,EAAE,CAAC,iBAAiB,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAA;QACxD,CAAC;KACF,CAAC,CAAA;AACJ,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,MAAgB;IACjD,MAAM,EAAE,GAAG,MAAM,KAAK,EAAE,CAAA;IACxB,MAAM,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA;IACjD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,MAAM,CAAC,GAAG,CACR,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAwC,CACpE,CACF,CAAA;IACD,MAAM,EAAE,CAAC,IAAI,CAAA;IACb,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,OAAyB;IACxD,MAAM,EAAE,GAAG,MAAM,KAAK,EAAE,CAAA;IACxB,MAAM,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,UAAU,EAAE,WAAW,CAAC,CAAA;IAClD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IAC3B,CAAC;IACD,MAAM,EAAE,CAAC,IAAI,CAAA;AACf,CAAC;AAOD,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,MAAgB;IAEhB,MAAM,MAAM,GAAG,IAAI,GAAG,EAAwB,CAAA;IAC9C,MAAM,cAAc,GAAa,EAAE,CAAA;IACnC,MAAM,aAAa,GAAG,MAAM,mBAAmB,CAAC,MAAM,CAAC,CAAA;IAEvD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAE,CAAA;QACxB,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,CAAA;QAC/B,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE;gBAChB,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,UAAU,EAAE,MAAM,CAAC,UAAU;aAC9B,CAAC,CAAA;QACJ,CAAC;aAAM,CAAC;YACN,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC5B,CAAC;IACH,CAAC;IAED,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,OAAO,MAAM,CAAA;IACf,CAAC;IAED,MAAM,SAAS,GAAG,GAAG,CAAA;IACrB,MAAM,OAAO,GAAqB,EAAE,CAAA;IAEpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,IAAI,SAAS,EAAE,CAAC;QAC1D,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,CAAA;QACpD,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAEhC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAC1B,4EAA4E,QAAQ,cAAc,CACnG,CAAA;YACD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;YAElC,iEAAiE;YACjE,uEAAuE;YACvE,2CAA2C;YAC3C,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAA;YAC1C,MAAM,UAAU,GAAG,kCAAkC,CAAA;YACrD,IAAI,KAAK,CAAA;YACT,OAAO,CAAC,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;gBAChD,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;gBACrC,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAA;gBAE5B,+DAA+D;gBAC/D,IAAI,KAAK,GAAG,CAAC,CAAA;gBACb,IAAI,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;gBACvC,OAAO,KAAK,GAAG,CAAC,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;oBACzC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;oBACjD,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;oBACnD,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE,CAAC;wBACtB,MAAK;oBACP,CAAC;oBACD,IAAI,SAAS,KAAK,CAAC,CAAC,IAAI,SAAS,GAAG,UAAU,EAAE,CAAC;wBAC/C,KAAK,EAAE,CAAA;wBACP,MAAM,GAAG,SAAS,GAAG,CAAC,CAAA;oBACxB,CAAC;yBAAM,CAAC;wBACN,KAAK,EAAE,CAAA;wBACP,MAAM,GAAG,UAAU,GAAG,CAAC,CAAA;oBACzB,CAAC;gBACH,CAAC;gBAED,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;gBAC7C,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;gBAC3C,MAAM,YAAY,GAAG,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAA;gBACrD,MAAM,oBAAoB,GAAG,QAAQ,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAA;gBAC9D,IAAI,CAAC,QAAQ,IAAI,CAAC,YAAY,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC;oBACzD,QAAQ,CAAC,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAA;gBACtC,CAAC;YACH,CAAC;YAED,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;gBAC1B,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;gBACpC,IAAI,QAAQ,EAAE,CAAC;oBACb,MAAM,aAAa,GACjB,+CAA+C,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;oBAChE,MAAM,UAAU,GAAG,iCAAiC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;oBACnE,MAAM,OAAO,GAAG,yCAAyC,CAAC,IAAI,CAC5D,QAAQ,CACT,CAAA;oBACD,MAAM,IAAI,GAAG,aAAa,EAAE,CAAC,CAAC,CAAC,IAAI,UAAU,EAAE,CAAC,CAAC,CAAC,CAAA;oBAElD,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;oBAC9B,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAA;oBACrD,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAA;gBACzD,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAA;gBAC7D,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAA;QACxD,CAAC;IACH,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,iBAAiB,CAAC,OAAO,CAAC,CAAA;IAClC,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC"}
package/dist/version.d.ts CHANGED
@@ -1 +1 @@
1
- export declare const version = "2.3.8";
1
+ export declare const version = "2.4.0";
package/dist/version.js CHANGED
@@ -1,2 +1,2 @@
1
- export const version = '2.3.8';
1
+ export const version = '2.4.0';
2
2
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "2.3.8",
2
+ "version": "2.4.0",
3
3
  "license": "MIT",
4
4
  "name": "jbrowse-plugin-msaview",
5
5
  "repository": {
@@ -17,7 +17,7 @@
17
17
  ],
18
18
  "dependencies": {
19
19
  "@emotion/styled": "^11.14.1",
20
- "g2p_mapper": "^2.0.1",
20
+ "g2p_mapper": "^2.0.2",
21
21
  "idb": "^8.0.3",
22
22
  "pako-esm2": "^2.0.2",
23
23
  "react-msaview": "^5.0.16",
@@ -27,37 +27,37 @@
27
27
  "@emotion/react": "^11.14.0",
28
28
  "@eslint/js": "^10.0.1",
29
29
  "@fal-works/esbuild-plugin-global-externals": "^2.1.2",
30
- "@jbrowse/core": "^4.2.0",
30
+ "@jbrowse/core": "^4.2.1",
31
31
  "@jbrowse/mobx-state-tree": "^5.6.0",
32
- "@jbrowse/plugin-linear-genome-view": "^4.2.0",
33
- "@mui/icons-material": "^7.3.10",
34
- "@mui/material": "^7.3.10",
35
- "@mui/system": "^7.3.10",
36
- "@mui/x-data-grid": "^8.28.2",
37
- "@types/node": "^25.6.0",
32
+ "@jbrowse/plugin-linear-genome-view": "^4.2.1",
33
+ "@mui/icons-material": "^7.3.11",
34
+ "@mui/material": "^7.3.11",
35
+ "@mui/system": "^7.3.11",
36
+ "@mui/x-data-grid": "^8.28.5",
37
+ "@types/node": "^25.7.0",
38
38
  "@types/react": "^19.2.14",
39
- "@typescript-eslint/eslint-plugin": "^8.59.1",
40
- "@typescript-eslint/parser": "^8.59.1",
39
+ "@typescript-eslint/eslint-plugin": "^8.59.3",
40
+ "@typescript-eslint/parser": "^8.59.3",
41
41
  "esbuild": "^0.28.0",
42
- "eslint": "^10.2.1",
42
+ "eslint": "^10.3.0",
43
43
  "eslint-plugin-import-x": "^4.16.2",
44
44
  "eslint-plugin-react": "^7.37.5",
45
45
  "eslint-plugin-react-hooks": "^7.1.1",
46
46
  "eslint-plugin-unicorn": "^64.0.0",
47
- "mobx": "^6.15.0",
47
+ "mobx": "^6.15.3",
48
48
  "mobx-react": "^9.2.1",
49
49
  "prettier": "^3.8.3",
50
50
  "pretty-bytes": "^7.1.0",
51
- "puppeteer": "^24.42.0",
52
- "react": "^19.2.5",
53
- "react-dom": "^19.2.5",
51
+ "puppeteer": "^24.43.1",
52
+ "react": "^19.2.6",
53
+ "react-dom": "^19.2.6",
54
54
  "rimraf": "^6.1.3",
55
55
  "rxjs": "^7.8.2",
56
56
  "serve": "^14.2.6",
57
- "tss-react": "^4.9.20",
57
+ "tss-react": "^4.9.21",
58
58
  "typescript": "^6.0.3",
59
- "typescript-eslint": "^8.59.1",
60
- "vitest": "^4.1.5"
59
+ "typescript-eslint": "^8.59.3",
60
+ "vitest": "^4.1.6"
61
61
  },
62
62
  "scripts": {
63
63
  "clean": "rimraf dist",
@@ -73,6 +73,8 @@
73
73
  "test:setup:version": "node scripts/test-versions.mjs setup",
74
74
  "test:versions": "node scripts/test-versions.mjs run",
75
75
  "test:version": "node scripts/test-versions.mjs run",
76
- "release": "node scripts/release.mjs"
76
+ "preversion": "pnpm lint",
77
+ "version": "node -e \"console.log('export const version = \\'' + require('./package.json').version + '\\'')\" > src/version.ts && git add src/version.ts",
78
+ "postversion": "git push --follow-tags"
77
79
  }
78
80
  }
@@ -3,7 +3,7 @@ import React from 'react'
3
3
  import { getSession } from '@jbrowse/core/util'
4
4
  import { observer } from 'mobx-react'
5
5
 
6
- import { useStyles } from './util'
6
+ import { hasHoverPosition, useStyles } from './util'
7
7
 
8
8
  import type { LinearGenomeViewModel } from '@jbrowse/plugin-linear-genome-view'
9
9
 
@@ -12,25 +12,11 @@ const GenomeMouseoverHighlight = observer(function ({
12
12
  }: {
13
13
  model: LinearGenomeViewModel
14
14
  }) {
15
- const session = getSession(model)
16
- const { hovered, views } = session
17
-
18
- // Early return if no MSA view exists
15
+ const { hovered, views } = getSession(model)
19
16
  const hasMsaView = views.some(s => s.type === 'MsaView')
20
- if (!hasMsaView) {
21
- return null
22
- }
23
-
24
- // Early return if no hover position
25
- if (
26
- !hovered ||
27
- typeof hovered !== 'object' ||
28
- !('hoverPosition' in hovered)
29
- ) {
30
- return null
31
- }
32
-
33
- return <GenomeMouseoverHighlightRenderer model={model} hovered={hovered} />
17
+ return hasMsaView && hasHoverPosition(hovered) ? (
18
+ <GenomeMouseoverHighlightRenderer model={model} hovered={hovered} />
19
+ ) : null
34
20
  })
35
21
 
36
22
  const GenomeMouseoverHighlightRenderer = observer(function ({
@@ -38,7 +24,7 @@ const GenomeMouseoverHighlightRenderer = observer(function ({
38
24
  hovered,
39
25
  }: {
40
26
  model: LinearGenomeViewModel
41
- hovered: object & Record<'hoverPosition', unknown>
27
+ hovered: { hoverPosition: unknown }
42
28
  }) {
43
29
  const { classes } = useStyles()
44
30
  const { offsetPx } = model
@@ -48,7 +34,7 @@ const GenomeMouseoverHighlightRenderer = observer(function ({
48
34
  }
49
35
 
50
36
  const s = model.bpToPx({ refName, coord: coord - 1 })
51
- const e = model.bpToPx({ refName, coord: coord })
37
+ const e = model.bpToPx({ refName, coord })
52
38
 
53
39
  if (s && e) {
54
40
  const width = Math.max(Math.abs(e.offsetPx - s.offsetPx), 4)
@@ -3,32 +3,32 @@ import React from 'react'
3
3
  import { getSession } from '@jbrowse/core/util'
4
4
  import { observer } from 'mobx-react'
5
5
 
6
- import { useStyles } from './util'
6
+ import { hasHoverPosition, useStyles } from './util'
7
7
 
8
8
  import type { JBrowsePluginMsaViewModel } from '../MsaViewPanel/model'
9
9
  import type { LinearGenomeViewModel } from '@jbrowse/plugin-linear-genome-view'
10
10
 
11
11
  type LGV = LinearGenomeViewModel
12
12
 
13
- // Outer component: only re-renders when MSA view or highlights change
14
13
  const MsaToGenomeHighlight = observer(function MsaToGenomeHighlight2({
15
14
  model,
16
15
  }: {
17
16
  model: LGV
18
17
  }) {
19
- const { views } = getSession(model)
18
+ const { views, hovered } = getSession(model)
20
19
  const msaView = views.find(f => f.type === 'MsaView') as
21
20
  | JBrowsePluginMsaViewModel
22
21
  | undefined
23
-
24
22
  const highlights = msaView?.connectedHighlights
25
23
 
26
- // Early return if no highlights - avoid all other work
27
- if (!highlights || highlights.length === 0) {
28
- return null
29
- }
30
-
31
- return <MsaToGenomeHighlightRenderer model={model} highlights={highlights} />
24
+ // Suppress codon highlight while hovering the LGV GenomeMouseoverHighlight
25
+ // handles the single-bp display in that case
26
+ return !hasHoverPosition(hovered) && highlights?.length ? (
27
+ <MsaToGenomeHighlightRenderer
28
+ model={model}
29
+ highlights={Array.from(highlights)}
30
+ />
31
+ ) : null
32
32
  })
33
33
 
34
34
  // Inner component: handles the scroll-dependent rendering
@@ -1,5 +1,11 @@
1
1
  import { makeStyles } from 'tss-react/mui'
2
2
 
3
+ export function hasHoverPosition(
4
+ hovered: unknown,
5
+ ): hovered is { hoverPosition: unknown } {
6
+ return !!hovered && typeof hovered === 'object' && 'hoverPosition' in hovered
7
+ }
8
+
3
9
  export const useStyles = makeStyles()({
4
10
  highlight: {
5
11
  height: '100%',
@@ -1,17 +1,15 @@
1
1
  import React, { useState } from 'react'
2
2
 
3
- import { readConfObject } from '@jbrowse/core/configuration'
4
3
  import { Dialog } from '@jbrowse/core/ui'
5
4
  import { getSession } from '@jbrowse/core/util'
6
5
  import { Tab, Tabs } from '@mui/material'
7
6
 
8
- import EnsemblGeneTree from './EnsemblGeneTree/EnsemblGeneTree'
9
7
  import ManualMSALoader from './ManualMSALoader/ManualMSALoader'
10
8
  import NCBIBlastPanel from './NCBIBlastQuery/NCBIBlastPanel'
11
9
  import PreLoadedMSA from './PreLoadedMSA/PreLoadedMSADataPanel'
10
+ import { readMsaDatasets } from './PreLoadedMSA/types'
12
11
  import TabPanel from './TabPanel'
13
12
 
14
- import type { Dataset } from './PreLoadedMSA/types'
15
13
  import type { AbstractTrackModel, Feature } from '@jbrowse/core/util'
16
14
 
17
15
  export default function LaunchMsaViewDialog({
@@ -24,11 +22,8 @@ export default function LaunchMsaViewDialog({
24
22
  model: AbstractTrackModel
25
23
  }) {
26
24
  const session = getSession(model)
27
- const { jbrowse } = session
28
- const datasets = readConfObject(jbrowse, ['msa', 'datasets']) as
29
- | Dataset[]
30
- | undefined
31
- const hasPreloadedDatasets = datasets && datasets.length > 0
25
+ const datasets = readMsaDatasets(session.jbrowse)
26
+ const hasPreloadedDatasets = !!datasets?.length
32
27
 
33
28
  const [value, setValue] = useState('ncbi_blast')
34
29
 
@@ -43,7 +38,6 @@ export default function LaunchMsaViewDialog({
43
38
  {hasPreloadedDatasets ? (
44
39
  <Tab label="Pre-loaded MSA datasets" value="preloaded_msa" />
45
40
  ) : null}
46
- <Tab label="Ensembl GeneTree" value="ensembl_genetree" />
47
41
  <Tab label="Manual upload" value="manual_msa" />
48
42
  </Tabs>
49
43
  <TabPanel value={value} index="ncbi_blast">
@@ -62,13 +56,6 @@ export default function LaunchMsaViewDialog({
62
56
  />
63
57
  </TabPanel>
64
58
  ) : null}
65
- <TabPanel value={value} index="ensembl_genetree">
66
- <EnsemblGeneTree
67
- model={model}
68
- feature={feature}
69
- handleClose={handleClose}
70
- />
71
- </TabPanel>
72
59
  <TabPanel value={value} index="manual_msa">
73
60
  <ManualMSALoader
74
61
  model={model}
@@ -77,10 +77,10 @@ const ManualMSALoader = observer(function PreLoadedMSA2({
77
77
  setSelectedId,
78
78
  selectedTranscript,
79
79
  proteinSequence,
80
- error: error2,
80
+ error,
81
81
  } = useTranscriptSelection({ feature, view })
82
82
 
83
- const e = launchViewError ?? error2
83
+ const e = launchViewError ?? error
84
84
  return (
85
85
  <>
86
86
  <DialogContent className={classes.dialogContent}>
@@ -198,17 +198,13 @@ const ManualMSALoader = observer(function PreLoadedMSA2({
198
198
  }
199
199
  onClick={() => {
200
200
  try {
201
- if (!selectedTranscript) {
202
- return
203
- }
204
-
205
201
  setLaunchViewError(undefined)
206
202
  launchView({
207
203
  session,
208
204
  newViewTitle: getGeneDisplayName(selectedTranscript),
209
205
  view,
210
- feature: selectedTranscript,
211
- querySeqName: querySeqName.trim() || undefined,
206
+ feature: selectedTranscript!,
207
+ querySeqName: querySeqName.trim(),
212
208
  ...(inputMethod === 'file'
213
209
  ? {
214
210
  msaFilehandle: msaFileLocation,
@@ -217,15 +213,15 @@ const ManualMSALoader = observer(function PreLoadedMSA2({
217
213
  : {
218
214
  data: {
219
215
  msa: msaText,
220
- tree: treeText || undefined,
216
+ tree: treeText,
221
217
  },
222
218
  }),
223
219
  })
224
220
 
225
221
  handleClose()
226
- } catch (e) {
227
- console.error(e)
228
- setLaunchViewError(e)
222
+ } catch (err) {
223
+ console.error(err)
224
+ setLaunchViewError(err)
229
225
  }
230
226
  }}
231
227
  >
@@ -18,7 +18,7 @@ import { makeStyles } from 'tss-react/mui'
18
18
 
19
19
  import CachedBlastResults from './CachedBlastResults'
20
20
  import { blastLaunchView } from './blastLaunchView'
21
- import { msaAlgorithms } from './consts'
21
+ import { blastDatabaseOptions, blastPrograms, msaAlgorithms } from './consts'
22
22
  import { useCachedBlastResults } from './useCachedBlastResults'
23
23
  import TextField2 from '../../../components/TextField2'
24
24
  import {
@@ -29,7 +29,7 @@ import {
29
29
  import TranscriptSelector from '../TranscriptSelector'
30
30
  import { useTranscriptSelection } from '../useTranscriptSelection'
31
31
 
32
- import type { MsaAlgorithm } from './consts'
32
+ import type { BlastDatabase, BlastProgram, MsaAlgorithm } from './consts'
33
33
  import type { AbstractTrackModel, Feature } from '@jbrowse/core/util'
34
34
  import type { LinearGenomeViewModel } from '@jbrowse/plugin-linear-genome-view'
35
35
 
@@ -55,12 +55,6 @@ const useStyles = makeStyles()({
55
55
  },
56
56
  })
57
57
 
58
- const blastDatabaseOptions = ['nr', 'nr_cluster_seq'] as const
59
- const blastPrograms = ['blastp', 'quick-blastp'] as const
60
-
61
- type blastDatabaseOptionsT = (typeof blastDatabaseOptions)[number]
62
- type blastProgramsT = (typeof blastPrograms)[number]
63
-
64
58
  const NCBIBlastAutomaticPanel = observer(function ({
65
59
  handleClose,
66
60
  feature,
@@ -78,11 +72,11 @@ const NCBIBlastAutomaticPanel = observer(function ({
78
72
  const view = getContainingView(model) as LinearGenomeViewModel
79
73
  const [launchViewError, setLaunchViewError] = useState<unknown>()
80
74
  const [selectedBlastDatabase, setSelectedBlastDatabase] =
81
- useState<blastDatabaseOptionsT>('nr')
75
+ useState<BlastDatabase>('nr')
82
76
  const [selectedMsaAlgorithm, setSelectedMsaAlgorithm] =
83
77
  useState<MsaAlgorithm>('clustalo')
84
78
  const [selectedBlastProgram, setSelectedBlastProgram] =
85
- useState<blastProgramsT>('quick-blastp')
79
+ useState<BlastProgram>('quick-blastp')
86
80
 
87
81
  const geneIds = useMemo(() => getGeneIdentifiers(feature), [feature])
88
82
  const { results: cachedResults, error: cachedResultsError } =
@@ -109,8 +103,7 @@ const NCBIBlastAutomaticPanel = observer(function ({
109
103
  select
110
104
  value={selectedBlastDatabase}
111
105
  onChange={event => {
112
- const newDb = event.target
113
- .value as (typeof blastDatabaseOptions)[number]
106
+ const newDb = event.target.value as BlastDatabase
114
107
  setSelectedBlastDatabase(newDb)
115
108
  if (newDb === 'nr_cluster_seq') {
116
109
  setSelectedBlastProgram('blastp')
@@ -150,9 +143,7 @@ const NCBIBlastAutomaticPanel = observer(function ({
150
143
  select
151
144
  value={selectedBlastProgram}
152
145
  onChange={event => {
153
- setSelectedBlastProgram(
154
- event.target.value as (typeof blastPrograms)[number],
155
- )
146
+ setSelectedBlastProgram(event.target.value as BlastProgram)
156
147
  }}
157
148
  >
158
149
  {blastPrograms.map(val => (
@@ -96,15 +96,6 @@ const NCBIBlastManualPanel = observer(function ({
96
96
  onClick={() => {
97
97
  handleClose()
98
98
  }}
99
- >
100
- Submit
101
- </Button>
102
- <Button
103
- color="secondary"
104
- variant="contained"
105
- onClick={() => {
106
- handleClose()
107
- }}
108
99
  >
109
100
  Close
110
101
  </Button>
@@ -1,6 +1,6 @@
1
1
  import { getSession } from '@jbrowse/core/util'
2
2
 
3
- import type { JBrowsePluginMsaViewModel } from '../../../MsaViewPanel/model'
3
+ import type { BlastParams } from '../../../MsaViewPanel/model'
4
4
  import type { CachedBlastResult } from '../../../utils/blastCache'
5
5
  import type { Feature } from '@jbrowse/core/util'
6
6
  import type { LinearGenomeViewModel } from '@jbrowse/plugin-linear-genome-view'
@@ -14,9 +14,9 @@ export function blastLaunchView({
14
14
  newViewTitle: string
15
15
  view: LinearGenomeViewModel
16
16
  feature: Feature
17
- blastParams: Record<string, unknown>
17
+ blastParams: BlastParams
18
18
  }) {
19
- return getSession(view).addView('MsaView', {
19
+ getSession(view).addView('MsaView', {
20
20
  type: 'MsaView',
21
21
  displayName: newViewTitle,
22
22
  connectedViewId: view.id,
@@ -25,7 +25,7 @@ export function blastLaunchView({
25
25
  colWidth: 10,
26
26
  rowHeight: 12,
27
27
  blastParams,
28
- }) as JBrowsePluginMsaViewModel
28
+ })
29
29
  }
30
30
 
31
31
  export function blastLaunchViewFromCache({
@@ -37,7 +37,7 @@ export function blastLaunchViewFromCache({
37
37
  view: LinearGenomeViewModel
38
38
  cached: CachedBlastResult
39
39
  }) {
40
- return getSession(view).addView('MsaView', {
40
+ getSession(view).addView('MsaView', {
41
41
  type: 'MsaView',
42
42
  displayName: newViewTitle,
43
43
  connectedViewId: view.id,
@@ -49,5 +49,5 @@ export function blastLaunchViewFromCache({
49
49
  tree: cached.tree,
50
50
  treeMetadata: cached.treeMetadata,
51
51
  },
52
- }) as JBrowsePluginMsaViewModel
52
+ })
53
53
  }