jbrowse-plugin-msaview 2.2.1 → 2.2.3

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 (132) hide show
  1. package/dist/BgzipFastaMsaAdapter/BgzipFastaMsaAdapter.d.ts +10 -0
  2. package/dist/BgzipFastaMsaAdapter/BgzipFastaMsaAdapter.js +64 -0
  3. package/dist/BgzipFastaMsaAdapter/BgzipFastaMsaAdapter.js.map +1 -0
  4. package/dist/BgzipFastaMsaAdapter/configSchema.d.ts +7 -0
  5. package/dist/BgzipFastaMsaAdapter/configSchema.js +13 -0
  6. package/dist/BgzipFastaMsaAdapter/configSchema.js.map +1 -0
  7. package/dist/BgzipFastaMsaAdapter/index.d.ts +2 -0
  8. package/dist/BgzipFastaMsaAdapter/index.js +15 -0
  9. package/dist/BgzipFastaMsaAdapter/index.js.map +1 -0
  10. package/dist/LaunchMsaView/components/EnsemblGeneTree/EnsemblGeneTree.js.map +1 -1
  11. package/dist/LaunchMsaView/components/EnsemblGeneTree/useGeneTree.d.ts +1 -1
  12. package/dist/LaunchMsaView/components/EnsemblGeneTree/useGeneTree.js +3 -23
  13. package/dist/LaunchMsaView/components/EnsemblGeneTree/useGeneTree.js.map +1 -1
  14. package/dist/LaunchMsaView/components/EnsemblGeneTree/util.d.ts +1 -4
  15. package/dist/LaunchMsaView/components/EnsemblGeneTree/util.js +1 -37
  16. package/dist/LaunchMsaView/components/EnsemblGeneTree/util.js.map +1 -1
  17. package/dist/LaunchMsaView/components/LaunchMsaViewDialog.d.ts +1 -1
  18. package/dist/LaunchMsaView/components/LaunchMsaViewDialog.js +21 -16
  19. package/dist/LaunchMsaView/components/LaunchMsaViewDialog.js.map +1 -1
  20. package/dist/LaunchMsaView/components/ManualMSALoader/ManualMSALoader.js +1 -1
  21. package/dist/LaunchMsaView/components/ManualMSALoader/ManualMSALoader.js.map +1 -1
  22. package/dist/LaunchMsaView/components/NCBIBlastQuery/NCBIBlastAutomaticPanel.js +12 -8
  23. package/dist/LaunchMsaView/components/NCBIBlastQuery/NCBIBlastAutomaticPanel.js.map +1 -1
  24. package/dist/LaunchMsaView/components/NCBIBlastQuery/NCBIBlastManualPanel.js +1 -1
  25. package/dist/LaunchMsaView/components/NCBIBlastQuery/NCBIBlastManualPanel.js.map +1 -1
  26. package/dist/LaunchMsaView/components/NCBIBlastQuery/NCBIBlastPanel.js +8 -7
  27. package/dist/LaunchMsaView/components/NCBIBlastQuery/NCBIBlastPanel.js.map +1 -1
  28. package/dist/LaunchMsaView/components/NCBIBlastQuery/NCBISettingsDialog.js +1 -1
  29. package/dist/LaunchMsaView/components/NCBIBlastQuery/NCBISettingsDialog.js.map +1 -1
  30. package/dist/LaunchMsaView/components/PreLoadedMSA/PreLoadedMSADataPanel.js +87 -63
  31. package/dist/LaunchMsaView/components/PreLoadedMSA/PreLoadedMSADataPanel.js.map +1 -1
  32. package/dist/LaunchMsaView/components/PreLoadedMSA/consts.d.ts +7 -0
  33. package/dist/LaunchMsaView/components/PreLoadedMSA/consts.js +8 -0
  34. package/dist/LaunchMsaView/components/PreLoadedMSA/consts.js.map +1 -0
  35. package/dist/LaunchMsaView/components/PreLoadedMSA/fetchMSAData.d.ts +12 -0
  36. package/dist/LaunchMsaView/components/PreLoadedMSA/fetchMSAData.js +12 -0
  37. package/dist/LaunchMsaView/components/PreLoadedMSA/fetchMSAData.js.map +1 -0
  38. package/dist/LaunchMsaView/components/PreLoadedMSA/findValidTranscriptId.d.ts +5 -0
  39. package/dist/LaunchMsaView/components/PreLoadedMSA/findValidTranscriptId.js +16 -0
  40. package/dist/LaunchMsaView/components/PreLoadedMSA/findValidTranscriptId.js.map +1 -0
  41. package/dist/LaunchMsaView/components/PreLoadedMSA/preCalculatedLaunchView.d.ts +6 -3
  42. package/dist/LaunchMsaView/components/PreLoadedMSA/preCalculatedLaunchView.js +3 -20
  43. package/dist/LaunchMsaView/components/PreLoadedMSA/preCalculatedLaunchView.js.map +1 -1
  44. package/dist/LaunchMsaView/components/PreLoadedMSA/types.d.ts +7 -0
  45. package/dist/LaunchMsaView/components/PreLoadedMSA/types.js +2 -0
  46. package/dist/LaunchMsaView/components/PreLoadedMSA/types.js.map +1 -0
  47. package/dist/LaunchMsaView/components/TranscriptSelector.js +2 -2
  48. package/dist/LaunchMsaView/components/TranscriptSelector.js.map +1 -1
  49. package/dist/LaunchMsaView/components/calculateProteinSequence.d.ts +2 -2
  50. package/dist/LaunchMsaView/components/calculateProteinSequence.js +2 -2
  51. package/dist/LaunchMsaView/components/calculateProteinSequence.js.map +1 -1
  52. package/dist/LaunchMsaView/components/types.d.ts +1 -0
  53. package/dist/LaunchMsaView/components/useFeatureSequence.d.ts +3 -7
  54. package/dist/LaunchMsaView/components/useFeatureSequence.js +9 -62
  55. package/dist/LaunchMsaView/components/useFeatureSequence.js.map +1 -1
  56. package/dist/LaunchMsaView/components/useSWRFeatureSequence.d.ts +13 -0
  57. package/dist/LaunchMsaView/components/useSWRFeatureSequence.js +53 -0
  58. package/dist/LaunchMsaView/components/useSWRFeatureSequence.js.map +1 -0
  59. package/dist/LaunchMsaView/index.js +3 -1
  60. package/dist/LaunchMsaView/index.js.map +1 -1
  61. package/dist/MsaViewPanel/components/RIDLink.js +1 -1
  62. package/dist/MsaViewPanel/components/RIDLink.js.map +1 -1
  63. package/dist/MsaViewPanel/genomeToMSA.js +2 -2
  64. package/dist/MsaViewPanel/genomeToMSA.js.map +1 -1
  65. package/dist/MsaViewPanel/model.d.ts +23 -84
  66. package/dist/MsaViewPanel/model.js +42 -22
  67. package/dist/MsaViewPanel/model.js.map +1 -1
  68. package/dist/MsaViewPanel/msaCoordToGenomeCoord.d.ts +6 -3
  69. package/dist/MsaViewPanel/msaCoordToGenomeCoord.js +39 -14
  70. package/dist/MsaViewPanel/msaCoordToGenomeCoord.js.map +1 -1
  71. package/dist/MsaViewPanel/util.js +2 -2
  72. package/dist/MsaViewPanel/util.js.map +1 -1
  73. package/dist/components/ExternalLink.js.map +1 -0
  74. package/dist/components/ReadOnlyTextField2.js.map +1 -0
  75. package/dist/components/TextField2.js.map +1 -0
  76. package/dist/index.d.ts +19 -0
  77. package/dist/index.js +26 -0
  78. package/dist/index.js.map +1 -1
  79. package/dist/jbrowse-plugin-msaview.umd.production.min.js +46 -33
  80. package/dist/jbrowse-plugin-msaview.umd.production.min.js.map +4 -4
  81. package/dist/out.js +55381 -0
  82. package/dist/utils/fetch.d.ts +3 -1
  83. package/dist/utils/fetch.js +24 -3
  84. package/dist/utils/fetch.js.map +1 -1
  85. package/package.json +7 -6
  86. package/src/BgzipFastaMsaAdapter/BgzipFastaMsaAdapter.ts +78 -0
  87. package/src/BgzipFastaMsaAdapter/configSchema.ts +18 -0
  88. package/src/BgzipFastaMsaAdapter/index.ts +18 -0
  89. package/src/LaunchMsaView/components/EnsemblGeneTree/EnsemblGeneTree.tsx +0 -1
  90. package/src/LaunchMsaView/components/EnsemblGeneTree/useGeneTree.ts +6 -24
  91. package/src/LaunchMsaView/components/EnsemblGeneTree/util.ts +6 -45
  92. package/src/LaunchMsaView/components/LaunchMsaViewDialog.tsx +23 -24
  93. package/src/LaunchMsaView/components/ManualMSALoader/ManualMSALoader.tsx +1 -1
  94. package/src/LaunchMsaView/components/NCBIBlastQuery/NCBIBlastAutomaticPanel.tsx +13 -8
  95. package/src/LaunchMsaView/components/NCBIBlastQuery/NCBIBlastManualPanel.tsx +1 -1
  96. package/src/LaunchMsaView/components/NCBIBlastQuery/NCBIBlastPanel.tsx +20 -29
  97. package/src/LaunchMsaView/components/NCBIBlastQuery/NCBISettingsDialog.tsx +1 -1
  98. package/src/LaunchMsaView/components/PreLoadedMSA/PreLoadedMSADataPanel.tsx +154 -68
  99. package/src/LaunchMsaView/components/PreLoadedMSA/consts.ts +7 -0
  100. package/src/LaunchMsaView/components/PreLoadedMSA/fetchMSAData.ts +33 -0
  101. package/src/LaunchMsaView/components/PreLoadedMSA/findValidTranscriptId.ts +25 -0
  102. package/src/LaunchMsaView/components/PreLoadedMSA/preCalculatedLaunchView.ts +7 -26
  103. package/src/LaunchMsaView/components/PreLoadedMSA/types.ts +8 -0
  104. package/src/LaunchMsaView/components/TranscriptSelector.tsx +2 -2
  105. package/src/LaunchMsaView/components/calculateProteinSequence.ts +3 -3
  106. package/src/LaunchMsaView/components/types.ts +1 -0
  107. package/src/LaunchMsaView/components/useFeatureSequence.ts +10 -71
  108. package/src/LaunchMsaView/components/useSWRFeatureSequence.ts +90 -0
  109. package/src/LaunchMsaView/index.ts +4 -1
  110. package/src/MsaViewPanel/components/RIDLink.tsx +1 -1
  111. package/src/MsaViewPanel/genomeToMSA.ts +2 -2
  112. package/src/MsaViewPanel/model.ts +45 -29
  113. package/src/MsaViewPanel/msaCoordToGenomeCoord.ts +43 -18
  114. package/src/MsaViewPanel/util.ts +2 -2
  115. package/src/index.ts +31 -0
  116. package/src/utils/fetch.ts +31 -3
  117. package/dist/ExternalLink.js.map +0 -1
  118. package/dist/LaunchMsaView/components/PreLoadedMSA/fetchGeneList.d.ts +0 -1
  119. package/dist/LaunchMsaView/components/PreLoadedMSA/fetchGeneList.js +0 -12
  120. package/dist/LaunchMsaView/components/PreLoadedMSA/fetchGeneList.js.map +0 -1
  121. package/dist/ReadOnlyTextField2.js.map +0 -1
  122. package/dist/TextField2.js.map +0 -1
  123. package/src/LaunchMsaView/components/PreLoadedMSA/fetchGeneList.ts +0 -13
  124. /package/dist/{ExternalLink.d.ts → components/ExternalLink.d.ts} +0 -0
  125. /package/dist/{ExternalLink.js → components/ExternalLink.js} +0 -0
  126. /package/dist/{ReadOnlyTextField2.d.ts → components/ReadOnlyTextField2.d.ts} +0 -0
  127. /package/dist/{ReadOnlyTextField2.js → components/ReadOnlyTextField2.js} +0 -0
  128. /package/dist/{TextField2.d.ts → components/TextField2.d.ts} +0 -0
  129. /package/dist/{TextField2.js → components/TextField2.js} +0 -0
  130. /package/src/{ExternalLink.tsx → components/ExternalLink.tsx} +0 -0
  131. /package/src/{ReadOnlyTextField2.tsx → components/ReadOnlyTextField2.tsx} +0 -0
  132. /package/src/{TextField2.tsx → components/TextField2.tsx} +0 -0
@@ -1,15 +1,19 @@
1
- import React, { useEffect, useState } from 'react';
2
- import { ErrorMessage } from '@jbrowse/core/ui';
3
- import { getContainingView, getSession, } from '@jbrowse/core/util';
4
- import { Button, DialogActions, DialogContent, Typography } from '@mui/material';
1
+ import React, { useEffect, useMemo, useState } from 'react';
2
+ import { readConfObject } from '@jbrowse/core/configuration';
3
+ import { ErrorMessage, LoadingEllipses, SanitizedHTML } from '@jbrowse/core/ui';
4
+ import { getContainingView, getEnv, getSession, } from '@jbrowse/core/util';
5
+ import { Button, DialogActions, DialogContent, MenuItem } from '@mui/material';
5
6
  import { observer } from 'mobx-react';
7
+ import useSWR from 'swr';
6
8
  import { makeStyles } from 'tss-react/mui';
7
- import { fetchGeneList } from './fetchGeneList';
8
- import { preCalculatedLaunchView } from './preCalculatedLaunchView';
9
- import ExternalLink from '../../../ExternalLink';
9
+ import TextField2 from '../../../components/TextField2';
10
10
  import { getGeneDisplayName, getId, getTranscriptFeatures } from '../../util';
11
11
  import TranscriptSelector from '../TranscriptSelector';
12
12
  import { useFeatureSequence } from '../useFeatureSequence';
13
+ import { swrFlags } from './consts';
14
+ import { fetchMSA, fetchMSAList } from './fetchMSAData';
15
+ import { findValidTranscriptId } from './findValidTranscriptId';
16
+ import { preCalculatedLaunchView } from './preCalculatedLaunchView';
13
17
  const useStyles = makeStyles()({
14
18
  dialogContent: {
15
19
  width: '80em',
@@ -19,70 +23,90 @@ const PreLoadedMSA = observer(function PreLoadedMSA2({ model, feature, handleClo
19
23
  const session = getSession(model);
20
24
  const view = getContainingView(model);
21
25
  const { classes } = useStyles();
22
- const [error1, setError] = useState();
23
- const [geneNameList, setGeneNameList] = useState();
24
- useEffect(() => {
25
- // eslint-disable-next-line @typescript-eslint/no-floating-promises
26
- ;
27
- (async () => {
28
- try {
29
- const data = await fetchGeneList();
30
- setGeneNameList(data);
31
- const set = new Set(data);
32
- const options = getTranscriptFeatures(feature);
33
- const ret = options.find(val => set.has(getId(val)));
34
- if (ret) {
35
- setUserSelection(getId(ret));
36
- }
37
- }
38
- catch (e) {
39
- console.error(e);
40
- setError(e);
41
- }
42
- })();
43
- }, [feature]);
44
- const validSet = new Set(geneNameList);
45
- const options = getTranscriptFeatures(feature);
46
- const ret = options.find(val => validSet.has(getId(val)));
47
- const [userSelection, setUserSelection] = useState(getId(options[0]));
48
- const selectedTranscript = options.find(val => getId(val) === userSelection);
49
- const { proteinSequence, error: error2 } = useFeatureSequence({
26
+ const { pluginManager } = getEnv(model);
27
+ const { assemblyNames } = view;
28
+ const transcripts = getTranscriptFeatures(feature);
29
+ const [selectedTranscriptId, setSelectedTranscriptId] = useState(getId(transcripts[0]));
30
+ const [viewError, setViewError] = useState();
31
+ const selectedTranscript = selectedTranscriptId
32
+ ? transcripts.find(val => getId(val) === selectedTranscriptId)
33
+ : undefined;
34
+ const { proteinSequence, error: proteinSequenceError } = useFeatureSequence({
50
35
  view,
51
36
  feature: selectedTranscript,
52
37
  });
53
- const e = error1 ?? error2;
38
+ const { jbrowse } = session;
39
+ const datasets = readConfObject(jbrowse, ['msa', 'datasets']);
40
+ const [selectedDatasetId, setSelectedDatasetId] = useState(datasets?.[0]?.datasetId);
41
+ const selectedDataset = datasets?.find(d => d.datasetId === selectedDatasetId);
42
+ const { data: msaList, isLoading: msaListLoading, error: msaListFetchError, } = useSWR(selectedDatasetId ? `${selectedDatasetId}-msa-list` : 'none-msa-list', () => selectedDataset
43
+ ? fetchMSAList({
44
+ config: selectedDataset.adapter,
45
+ pluginManager,
46
+ })
47
+ : undefined, swrFlags);
48
+ const { data: msaData, isLoading: msaDataLoading, error: msaDataFetchError, } = useSWR(selectedTranscriptId && selectedDatasetId
49
+ ? `${selectedTranscriptId}-${selectedTranscriptId}-${msaList?.length}-msa`
50
+ : 'none-msa', () => selectedTranscriptId && selectedDataset && msaList
51
+ ? fetchMSA({
52
+ msaId: selectedTranscriptId,
53
+ config: selectedDataset.adapter,
54
+ pluginManager,
55
+ })
56
+ : undefined, swrFlags);
57
+ const validSet = useMemo(() => new Set(msaList), [msaList]);
58
+ // Update selectedTranscriptId when msaList changes
59
+ useEffect(() => {
60
+ if (msaList && msaList.length > 0) {
61
+ const validId = findValidTranscriptId({
62
+ transcriptsList: transcripts,
63
+ validMsaList: msaList,
64
+ });
65
+ if (validId && validId !== selectedTranscriptId) {
66
+ setSelectedTranscriptId(validId);
67
+ }
68
+ }
69
+ }, [msaList, transcripts, selectedTranscriptId]);
70
+ const e = msaListFetchError ?? msaDataFetchError ?? proteinSequenceError ?? viewError;
71
+ if (e) {
72
+ console.error(e);
73
+ }
54
74
  return (React.createElement(React.Fragment, null,
55
75
  React.createElement(DialogContent, { className: classes.dialogContent },
56
76
  e ? React.createElement(ErrorMessage, { error: e }) : null,
57
- React.createElement(Typography, null,
58
- "The source data for these multiple sequence alignments is from",
59
- ' ',
60
- React.createElement(ExternalLink, { href: "https://hgdownload.soe.ucsc.edu/goldenPath/hg38/multiz100way/alignments/" }, "knownCanonical.multiz100way.protAA.fa.gz")),
61
- geneNameList && !ret ? (React.createElement(Typography, { color: "error" }, "No MSA data for this gene found")) : null,
62
- React.createElement(TranscriptSelector, { feature: feature, options: options, selectedTranscriptId: userSelection, onTranscriptChange: setUserSelection, proteinSequence: proteinSequence, validSet: validSet })),
77
+ React.createElement(TextField2, { select: true, label: "Select MSA dataset", value: selectedDatasetId, onChange: event => {
78
+ setSelectedDatasetId(event.target.value);
79
+ } }, datasets && datasets.length > 0 ? (datasets.map(d => (React.createElement(MenuItem, { key: d.datasetId, value: d.datasetId }, d.name)))) : (React.createElement(MenuItem, null, "No MSA datasets found"))),
80
+ selectedDataset ? (React.createElement("div", { style: { marginTop: 50 } },
81
+ !msaListLoading && msaDataLoading ? (React.createElement(LoadingEllipses, { variant: "h6", message: `Loading MSA for (${selectedTranscriptId})` })) : null,
82
+ msaListLoading ? (React.createElement(LoadingEllipses, { variant: "h6", message: `Loading available MSAs for (${selectedDataset.name})` })) : null,
83
+ msaList ? (React.createElement("div", null,
84
+ React.createElement(SanitizedHTML, { html: selectedDataset.description }),
85
+ React.createElement(TranscriptSelector, { feature: feature, options: transcripts, selectedTranscriptId: selectedTranscriptId, onTranscriptChange: setSelectedTranscriptId, proteinSequence: proteinSequence, validSet: validSet }))) : null)) : null),
63
86
  React.createElement(DialogActions, null,
64
- React.createElement(Button, { color: "primary", variant: "contained", onClick: () => {
65
- // eslint-disable-next-line @typescript-eslint/no-floating-promises
66
- ;
67
- (async () => {
68
- try {
69
- if (!ret) {
70
- return;
71
- }
72
- await preCalculatedLaunchView({
73
- userSelection,
74
- session,
75
- newViewTitle: getGeneDisplayName(ret),
76
- view,
77
- feature: ret,
78
- });
79
- handleClose();
80
- }
81
- catch (e) {
82
- console.error(e);
83
- setError(e);
87
+ React.createElement(Button, { color: "primary", variant: "contained", disabled: !selectedTranscript || !msaData?.length, onClick: () => {
88
+ try {
89
+ if (!selectedTranscript || !msaData) {
90
+ return;
84
91
  }
85
- })();
92
+ const querySeqName = `${selectedTranscriptId}_${assemblyNames[0]}`;
93
+ preCalculatedLaunchView({
94
+ session,
95
+ newViewTitle: getGeneDisplayName(selectedTranscript),
96
+ view,
97
+ querySeqName,
98
+ feature: selectedTranscript,
99
+ data: {
100
+ msa: msaData
101
+ .map(r => `>${r.get('refName')}\n${r.get('seq')}`)
102
+ .join('\n'),
103
+ },
104
+ });
105
+ handleClose();
106
+ }
107
+ catch (e) {
108
+ setViewError(e);
109
+ }
86
110
  } }, "Submit"),
87
111
  React.createElement(Button, { color: "secondary", variant: "contained", onClick: () => {
88
112
  handleClose();
@@ -1 +1 @@
1
- {"version":3,"file":"PreLoadedMSADataPanel.js","sourceRoot":"","sources":["../../../../src/LaunchMsaView/components/PreLoadedMSA/PreLoadedMSADataPanel.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PreLoadedMSADataPanel.js","sourceRoot":"","sources":["../../../../src/LaunchMsaView/components/PreLoadedMSA/PreLoadedMSADataPanel.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export declare const swrFlags: {
2
+ revalidateOnFocus: boolean;
3
+ revalidateOnReconnect: boolean;
4
+ refreshWhenHidden: boolean;
5
+ refreshWhenOffline: boolean;
6
+ shouldRetryOnError: boolean;
7
+ };
@@ -0,0 +1,8 @@
1
+ export const swrFlags = {
2
+ revalidateOnFocus: false,
3
+ revalidateOnReconnect: false,
4
+ refreshWhenHidden: false,
5
+ refreshWhenOffline: false,
6
+ shouldRetryOnError: false,
7
+ };
8
+ //# sourceMappingURL=consts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consts.js","sourceRoot":"","sources":["../../../../src/LaunchMsaView/components/PreLoadedMSA/consts.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,iBAAiB,EAAE,KAAK;IACxB,qBAAqB,EAAE,KAAK;IAC5B,iBAAiB,EAAE,KAAK;IACxB,kBAAkB,EAAE,KAAK;IACzB,kBAAkB,EAAE,KAAK;CAC1B,CAAA"}
@@ -0,0 +1,12 @@
1
+ import { AnyConfigurationModel } from '@jbrowse/core/configuration';
2
+ import { Feature } from '@jbrowse/core/util';
3
+ import type PluginManager from '@jbrowse/core/PluginManager';
4
+ export declare function fetchMSAList({ config, pluginManager, }: {
5
+ config: AnyConfigurationModel;
6
+ pluginManager: PluginManager;
7
+ }): Promise<string[]>;
8
+ export declare function fetchMSA({ config, pluginManager, msaId, }: {
9
+ config: AnyConfigurationModel;
10
+ pluginManager: PluginManager;
11
+ msaId: string;
12
+ }): Promise<Feature[]>;
@@ -0,0 +1,12 @@
1
+ import { getAdapter } from '@jbrowse/core/data_adapters/dataAdapterCache';
2
+ export async function fetchMSAList({ config, pluginManager, }) {
3
+ const result = await getAdapter(pluginManager, 'msa', config);
4
+ // @ts-expect-error
5
+ return result.dataAdapter.getMSAList();
6
+ }
7
+ export async function fetchMSA({ config, pluginManager, msaId, }) {
8
+ const result = await getAdapter(pluginManager, 'msa', config);
9
+ // @ts-expect-error
10
+ return result.dataAdapter.getMSA(msaId);
11
+ }
12
+ //# sourceMappingURL=fetchMSAData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetchMSAData.js","sourceRoot":"","sources":["../../../../src/LaunchMsaView/components/PreLoadedMSA/fetchMSAData.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,8CAA8C,CAAA;AAKzE,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,EACjC,MAAM,EACN,aAAa,GAId;IACC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,aAAa,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;IAE7D,mBAAmB;IACnB,OAAO,MAAM,CAAC,WAAW,CAAC,UAAU,EAAE,CAAA;AACxC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,EAC7B,MAAM,EACN,aAAa,EACb,KAAK,GAKN;IACC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,aAAa,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;IAE7D,mBAAmB;IACnB,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AACzC,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { Feature } from '@jbrowse/core/util';
2
+ export declare function findValidTranscriptId({ transcriptsList, validMsaList, }: {
3
+ transcriptsList: Feature[];
4
+ validMsaList?: string[];
5
+ }): string | null;
@@ -0,0 +1,16 @@
1
+ import { getId } from '../../util';
2
+ // Function to find a valid transcript ID that exists in the MSA list
3
+ export function findValidTranscriptId({ transcriptsList, validMsaList, }) {
4
+ if (!validMsaList || validMsaList.length === 0) {
5
+ return null;
6
+ }
7
+ // Try to find a transcript ID that exists in the MSA list
8
+ for (const transcript of transcriptsList) {
9
+ const id = getId(transcript);
10
+ if (id && validMsaList.includes(id)) {
11
+ return id;
12
+ }
13
+ }
14
+ return null;
15
+ }
16
+ //# sourceMappingURL=findValidTranscriptId.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"findValidTranscriptId.js","sourceRoot":"","sources":["../../../../src/LaunchMsaView/components/PreLoadedMSA/findValidTranscriptId.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAIlC,qEAAqE;AACrE,MAAM,UAAU,qBAAqB,CAAC,EACpC,eAAe,EACf,YAAY,GAIb;IACC,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/C,OAAO,IAAI,CAAA;IACb,CAAC;IAED,0DAA0D;IAC1D,KAAK,MAAM,UAAU,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC,CAAA;QAC5B,IAAI,EAAE,IAAI,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;YACpC,OAAO,EAAE,CAAA;QACX,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC"}
@@ -1,9 +1,12 @@
1
1
  import { AbstractSessionModel, Feature } from '@jbrowse/core/util';
2
2
  import type { LinearGenomeViewModel } from '@jbrowse/plugin-linear-genome-view';
3
- export declare function preCalculatedLaunchView({ userSelection, session, newViewTitle, view, feature, }: {
3
+ export declare function preCalculatedLaunchView({ session, newViewTitle, view, feature, data, querySeqName, }: {
4
+ data: {
5
+ msa: string;
6
+ };
4
7
  session: AbstractSessionModel;
5
- userSelection: string;
6
8
  newViewTitle: string;
7
9
  view: LinearGenomeViewModel;
8
10
  feature: Feature;
9
- }): Promise<void>;
11
+ querySeqName: string;
12
+ }): void;
@@ -1,18 +1,9 @@
1
- import { ungzip } from 'pako';
2
- async function myfetch(url) {
3
- const res = await fetch(url);
4
- if (!res.ok) {
5
- throw new Error(`HTTP ${res.status} fetching ${await res.text()}`);
6
- }
7
- const data = await res.arrayBuffer();
8
- return new TextDecoder().decode(ungzip(data));
9
- }
10
- export async function preCalculatedLaunchView({ userSelection, session, newViewTitle, view, feature, }) {
11
- const d = await myfetch(`https://jbrowse.org/demos/msaview/knownCanonical/${userSelection}.mfa.gz`);
1
+ export function preCalculatedLaunchView({ session, newViewTitle, view, feature, data, querySeqName, }) {
12
2
  session.addView('MsaView', {
13
3
  type: 'MsaView',
14
4
  displayName: newViewTitle,
15
5
  treeAreaWidth: 200,
6
+ querySeqName,
16
7
  treeWidth: 100,
17
8
  drawNodeBubbles: false,
18
9
  labelsAlignRight: true,
@@ -20,15 +11,7 @@ export async function preCalculatedLaunchView({ userSelection, session, newViewT
20
11
  colWidth: 10,
21
12
  rowHeight: 12,
22
13
  colorSchemeName: 'percent_identity_dynamic',
23
- treeFilehandle: {
24
- uri: 'https://hgdownload.soe.ucsc.edu/goldenPath/hg38/multiz100way/hg38.100way.nh',
25
- },
26
- treeMetadataFilehandle: {
27
- uri: 'https://s3.amazonaws.com/jbrowse.org/demos/app/species.json',
28
- },
29
- data: {
30
- msa: d,
31
- },
14
+ data,
32
15
  connectedViewId: view.id,
33
16
  connectedFeature: feature.toJSON(),
34
17
  });
@@ -1 +1 @@
1
- {"version":3,"file":"preCalculatedLaunchView.js","sourceRoot":"","sources":["../../../../src/LaunchMsaView/components/PreLoadedMSA/preCalculatedLaunchView.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAI7B,KAAK,UAAU,OAAO,CAAC,GAAW;IAChC,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAA;IAC5B,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,QAAQ,GAAG,CAAC,MAAM,aAAa,MAAM,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;IACpE,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,WAAW,EAAE,CAAA;IACpC,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;AAC/C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,EAC5C,aAAa,EACb,OAAO,EACP,YAAY,EACZ,IAAI,EACJ,OAAO,GAOR;IACC,MAAM,CAAC,GAAG,MAAM,OAAO,CACrB,oDAAoD,aAAa,SAAS,CAC3E,CAAA;IAED,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE;QACzB,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,YAAY;QACzB,aAAa,EAAE,GAAG;QAClB,SAAS,EAAE,GAAG;QACd,eAAe,EAAE,KAAK;QACtB,gBAAgB,EAAE,IAAI;QACtB,aAAa,EAAE,KAAK;QACpB,QAAQ,EAAE,EAAE;QACZ,SAAS,EAAE,EAAE;QACb,eAAe,EAAE,0BAA0B;QAC3C,cAAc,EAAE;YACd,GAAG,EAAE,6EAA6E;SACnF;QACD,sBAAsB,EAAE;YACtB,GAAG,EAAE,6DAA6D;SACnE;QACD,IAAI,EAAE;YACJ,GAAG,EAAE,CAAC;SACP;QACD,eAAe,EAAE,IAAI,CAAC,EAAE;QACxB,gBAAgB,EAAE,OAAO,CAAC,MAAM,EAAE;KACnC,CAAC,CAAA;AACJ,CAAC"}
1
+ {"version":3,"file":"preCalculatedLaunchView.js","sourceRoot":"","sources":["../../../../src/LaunchMsaView/components/PreLoadedMSA/preCalculatedLaunchView.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,uBAAuB,CAAC,EACtC,OAAO,EACP,YAAY,EACZ,IAAI,EACJ,OAAO,EACP,IAAI,EACJ,YAAY,GAQb;IACC,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE;QACzB,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,YAAY;QACzB,aAAa,EAAE,GAAG;QAClB,YAAY;QACZ,SAAS,EAAE,GAAG;QACd,eAAe,EAAE,KAAK;QACtB,gBAAgB,EAAE,IAAI;QACtB,aAAa,EAAE,KAAK;QACpB,QAAQ,EAAE,EAAE;QACZ,SAAS,EAAE,EAAE;QACb,eAAe,EAAE,0BAA0B;QAC3C,IAAI;QACJ,eAAe,EAAE,IAAI,CAAC,EAAE;QACxB,gBAAgB,EAAE,OAAO,CAAC,MAAM,EAAE;KACnC,CAAC,CAAA;AACJ,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { AnyConfigurationModel } from '@jbrowse/core/configuration';
2
+ export interface Dataset {
3
+ datasetId: string;
4
+ name: string;
5
+ description?: string;
6
+ adapter: AnyConfigurationModel;
7
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/LaunchMsaView/components/PreLoadedMSA/types.ts"],"names":[],"mappings":""}
@@ -1,8 +1,8 @@
1
1
  import React, { useState } from 'react';
2
2
  import { Button, MenuItem } from '@mui/material';
3
3
  import { makeStyles } from 'tss-react/mui';
4
- import ReadOnlyTextField2 from '../../ReadOnlyTextField2';
5
- import TextField2 from '../../TextField2';
4
+ import ReadOnlyTextField2 from '../../components/ReadOnlyTextField2';
5
+ import TextField2 from '../../components/TextField2';
6
6
  import { getGeneDisplayName, getId, getTranscriptDisplayName, getTranscriptLength, } from '../util';
7
7
  const useStyles = makeStyles()({
8
8
  flex: {
@@ -1 +1 @@
1
- {"version":3,"file":"TranscriptSelector.js","sourceRoot":"","sources":["../../../src/LaunchMsaView/components/TranscriptSelector.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TranscriptSelector.js","sourceRoot":"","sources":["../../../src/LaunchMsaView/components/TranscriptSelector.tsx"],"names":[],"mappings":"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"}
@@ -11,7 +11,7 @@ export declare function revlist(list: Feat[], seqlen: number): {
11
11
  end: number;
12
12
  type?: string;
13
13
  }[];
14
- export declare function getProteinSequenceFromFeature({ selectedTranscript, seq, }: {
14
+ export declare function getProteinSequenceFromFeature({ feature, seq, }: {
15
15
  seq: string;
16
- selectedTranscript: Feature;
16
+ feature: Feature;
17
17
  }): string;
@@ -20,8 +20,8 @@ export function revlist(list, seqlen) {
20
20
  }))
21
21
  .toSorted((a, b) => a.start - b.start);
22
22
  }
23
- export function getProteinSequenceFromFeature({ selectedTranscript, seq, }) {
24
- const { subfeatures, start, strand } = selectedTranscript.toJSON();
23
+ export function getProteinSequenceFromFeature({ feature, seq, }) {
24
+ const { subfeatures, start, strand } = feature.toJSON();
25
25
  const cds = dedupe(subfeatures
26
26
  ?.toSorted((a, b) => a.start - b.start)
27
27
  .map(sub => ({
@@ -1 +1 @@
1
- {"version":3,"file":"calculateProteinSequence.js","sourceRoot":"","sources":["../../../src/LaunchMsaView/components/calculateProteinSequence.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,iBAAiB,EACjB,kBAAkB,EAClB,MAAM,GACP,MAAM,oBAAoB,CAAA;AAK3B,MAAM,UAAU,MAAM,CAAC,QAAgB,EAAE,QAAgB;IACvD,OAAO,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AACzE,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,EACvC,GAAG,EACH,QAAQ,EACR,UAAU,GAKX;IACC,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;IACjC,IAAI,OAAO,GAAG,EAAE,CAAA;IAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACvC,qDAAqD;QACrD,OAAO,IAAI,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,CAAA;IACnD,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,IAAY,EAAE,MAAc;IAClD,OAAO,IAAI;SACR,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACX,GAAG,GAAG;QACN,KAAK,EAAE,MAAM,GAAG,GAAG,CAAC,GAAG;QACvB,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC,KAAK;KACxB,CAAC,CAAC;SACF,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAA;AAC1C,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,EAC5C,kBAAkB,EAClB,GAAG,GAIJ;IACC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,kBAAkB,CAAC,MAAM,EAAE,CAAA;IAClE,MAAM,GAAG,GAAG,MAAM,CAChB,WAAW;QACT,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;SACtC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACX,GAAG,GAAG;QACN,KAAK,EAAE,GAAG,CAAC,KAAK,GAAG,KAAK;QACxB,GAAG,EAAE,GAAG,CAAC,GAAG,GAAG,KAAK;KACrB,CAAC,CAAC;SACF,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,EAAE,EACxD,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,EAAE,CACpC,CAAA;IAED,OAAO,wBAAwB,CAAC;QAC9B,GAAG,EAAE,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG;QACnD,QAAQ,EAAE,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG;QAC3C,UAAU,EAAE,kBAAkB,CAAC,iBAAiB,CAAC;KAClD,CAAC,CAAA;AACJ,CAAC"}
1
+ {"version":3,"file":"calculateProteinSequence.js","sourceRoot":"","sources":["../../../src/LaunchMsaView/components/calculateProteinSequence.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,iBAAiB,EACjB,kBAAkB,EAClB,MAAM,GACP,MAAM,oBAAoB,CAAA;AAK3B,MAAM,UAAU,MAAM,CAAC,QAAgB,EAAE,QAAgB;IACvD,OAAO,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AACzE,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,EACvC,GAAG,EACH,QAAQ,EACR,UAAU,GAKX;IACC,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;IACjC,IAAI,OAAO,GAAG,EAAE,CAAA;IAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACvC,qDAAqD;QACrD,OAAO,IAAI,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,CAAA;IACnD,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,IAAY,EAAE,MAAc;IAClD,OAAO,IAAI;SACR,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACX,GAAG,GAAG;QACN,KAAK,EAAE,MAAM,GAAG,GAAG,CAAC,GAAG;QACvB,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC,KAAK;KACxB,CAAC,CAAC;SACF,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAA;AAC1C,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,EAC5C,OAAO,EACP,GAAG,GAIJ;IACC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAA;IACvD,MAAM,GAAG,GAAG,MAAM,CAChB,WAAW;QACT,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;SACtC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACX,GAAG,GAAG;QACN,KAAK,EAAE,GAAG,CAAC,KAAK,GAAG,KAAK;QACxB,GAAG,EAAE,GAAG,CAAC,GAAG,GAAG,KAAK;KACrB,CAAC,CAAC;SACF,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,EAAE,EACxD,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,EAAE,CACpC,CAAA;IAED,OAAO,wBAAwB,CAAC;QAC9B,GAAG,EAAE,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG;QACnD,QAAQ,EAAE,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG;QAC3C,UAAU,EAAE,kBAAkB,CAAC,iBAAiB,CAAC;KAClD,CAAC,CAAA;AACJ,CAAC"}
@@ -7,4 +7,5 @@ export interface SeqState {
7
7
  seq: string;
8
8
  upstream?: string;
9
9
  downstream?: string;
10
+ error?: unknown;
10
11
  }
@@ -1,17 +1,13 @@
1
- import type { SeqState } from './types';
2
1
  import type { Feature } from '@jbrowse/core/util';
3
- export interface ErrorState {
4
- error: string;
5
- }
6
2
  export declare function useFeatureSequence({ view, feature, upDownBp, forceLoad, }: {
7
3
  view: {
8
4
  assemblyNames?: string[];
9
5
  } | undefined;
10
- feature: Feature;
6
+ feature?: Feature;
11
7
  upDownBp?: number;
12
8
  forceLoad?: boolean;
13
9
  }): {
14
10
  proteinSequence: string;
15
- sequence: SeqState | ErrorState | undefined;
16
- error: unknown;
11
+ sequence: import("./types").SeqState | undefined;
12
+ error: any;
17
13
  };
@@ -1,69 +1,16 @@
1
- import { useEffect, useState } from 'react';
2
- import { getSession } from '@jbrowse/core/util';
3
1
  import { getProteinSequenceFromFeature } from './calculateProteinSequence';
4
- import { fetchSeq } from './fetchSeq';
5
- const BPLIMIT = 500_000;
2
+ import { useSWRFeatureSequence } from './useSWRFeatureSequence';
6
3
  export function useFeatureSequence({ view, feature, upDownBp = 0, forceLoad = true, }) {
7
- const [sequence, setSequence] = useState();
8
- const [error, setError] = useState();
9
- const assemblyName = view?.assemblyNames?.[0];
10
- useEffect(() => {
11
- if (view) {
12
- // eslint-disable-next-line @typescript-eslint/no-floating-promises
13
- ;
14
- (async () => {
15
- try {
16
- setError(undefined);
17
- setSequence(undefined);
18
- const session = getSession(view);
19
- const { start, end, refName } = feature.toJSON();
20
- if (!assemblyName) {
21
- throw new Error('No assembly found');
22
- }
23
- if (!forceLoad && end - start > BPLIMIT) {
24
- setSequence({
25
- error: `Genomic sequence larger than ${BPLIMIT}bp, use "force load" button to display`,
26
- });
27
- }
28
- else {
29
- const b = start - upDownBp;
30
- const e = end + upDownBp;
31
- setSequence({
32
- seq: await fetchSeq({
33
- start,
34
- end,
35
- refName,
36
- assemblyName,
37
- session,
38
- }),
39
- upstream: await fetchSeq({
40
- start: Math.max(0, b),
41
- end: start,
42
- refName,
43
- assemblyName,
44
- session,
45
- }),
46
- downstream: await fetchSeq({
47
- start: end,
48
- end: e,
49
- refName,
50
- assemblyName,
51
- session,
52
- }),
53
- });
54
- }
55
- }
56
- catch (e) {
57
- console.error(e);
58
- setError(e);
59
- }
60
- })();
61
- }
62
- }, [feature, view, upDownBp, assemblyName, forceLoad]);
63
- const proteinSequence = sequence && !('error' in sequence)
4
+ const { sequence, error } = useSWRFeatureSequence({
5
+ view,
6
+ feature,
7
+ upDownBp,
8
+ forceLoad,
9
+ });
10
+ const proteinSequence = sequence && !('error' in sequence) && feature
64
11
  ? getProteinSequenceFromFeature({
65
12
  seq: sequence.seq,
66
- selectedTranscript: feature,
13
+ feature,
67
14
  })
68
15
  : '';
69
16
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"useFeatureSequence.js","sourceRoot":"","sources":["../../../src/LaunchMsaView/components/useFeatureSequence.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAE3C,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAE/C,OAAO,EAAE,6BAA6B,EAAE,MAAM,4BAA4B,CAAA;AAC1E,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAQrC,MAAM,OAAO,GAAG,OAAO,CAAA;AAEvB,MAAM,UAAU,kBAAkB,CAAC,EACjC,IAAI,EACJ,OAAO,EACP,QAAQ,GAAG,CAAC,EACZ,SAAS,GAAG,IAAI,GAMjB;IACC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,EAAyB,CAAA;IACjE,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,EAAW,CAAA;IAC7C,MAAM,YAAY,GAAG,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,CAAA;IAC7C,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,IAAI,EAAE,CAAC;YACT,mEAAmE;YACnE,CAAC;YAAA,CAAC,KAAK,IAAI,EAAE;gBACX,IAAI,CAAC;oBACH,QAAQ,CAAC,SAAS,CAAC,CAAA;oBACnB,WAAW,CAAC,SAAS,CAAC,CAAA;oBACtB,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;oBAChC,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,MAAM,EAI7C,CAAA;oBACD,IAAI,CAAC,YAAY,EAAE,CAAC;wBAClB,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAA;oBACtC,CAAC;oBACD,IAAI,CAAC,SAAS,IAAI,GAAG,GAAG,KAAK,GAAG,OAAO,EAAE,CAAC;wBACxC,WAAW,CAAC;4BACV,KAAK,EAAE,gCAAgC,OAAO,wCAAwC;yBACvF,CAAC,CAAA;oBACJ,CAAC;yBAAM,CAAC;wBACN,MAAM,CAAC,GAAG,KAAK,GAAG,QAAQ,CAAA;wBAC1B,MAAM,CAAC,GAAG,GAAG,GAAG,QAAQ,CAAA;wBACxB,WAAW,CAAC;4BACV,GAAG,EAAE,MAAM,QAAQ,CAAC;gCAClB,KAAK;gCACL,GAAG;gCACH,OAAO;gCACP,YAAY;gCACZ,OAAO;6BACR,CAAC;4BACF,QAAQ,EAAE,MAAM,QAAQ,CAAC;gCACvB,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;gCACrB,GAAG,EAAE,KAAK;gCACV,OAAO;gCACP,YAAY;gCACZ,OAAO;6BACR,CAAC;4BACF,UAAU,EAAE,MAAM,QAAQ,CAAC;gCACzB,KAAK,EAAE,GAAG;gCACV,GAAG,EAAE,CAAC;gCACN,OAAO;gCACP,YAAY;gCACZ,OAAO;6BACR,CAAC;yBACH,CAAC,CAAA;oBACJ,CAAC;gBACH,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;oBAChB,QAAQ,CAAC,CAAC,CAAC,CAAA;gBACb,CAAC;YACH,CAAC,CAAC,EAAE,CAAA;QACN,CAAC;IACH,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC,CAAA;IAEtD,MAAM,eAAe,GACnB,QAAQ,IAAI,CAAC,CAAC,OAAO,IAAI,QAAQ,CAAC;QAChC,CAAC,CAAC,6BAA6B,CAAC;YAC5B,GAAG,EAAE,QAAQ,CAAC,GAAG;YACjB,kBAAkB,EAAE,OAAO;SAC5B,CAAC;QACJ,CAAC,CAAC,EAAE,CAAA;IAER,OAAO;QACL,eAAe;QACf,QAAQ;QACR,KAAK;KACN,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"useFeatureSequence.js","sourceRoot":"","sources":["../../../src/LaunchMsaView/components/useFeatureSequence.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,4BAA4B,CAAA;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAI/D,MAAM,UAAU,kBAAkB,CAAC,EACjC,IAAI,EACJ,OAAO,EACP,QAAQ,GAAG,CAAC,EACZ,SAAS,GAAG,IAAI,GAMjB;IACC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,qBAAqB,CAAC;QAChD,IAAI;QACJ,OAAO;QACP,QAAQ;QACR,SAAS;KACV,CAAC,CAAA;IAEF,MAAM,eAAe,GACnB,QAAQ,IAAI,CAAC,CAAC,OAAO,IAAI,QAAQ,CAAC,IAAI,OAAO;QAC3C,CAAC,CAAC,6BAA6B,CAAC;YAC5B,GAAG,EAAE,QAAQ,CAAC,GAAG;YACjB,OAAO;SACR,CAAC;QACJ,CAAC,CAAC,EAAE,CAAA;IAER,OAAO;QACL,eAAe;QACf,QAAQ;QACR,KAAK;KACN,CAAA;AACH,CAAC"}
@@ -0,0 +1,13 @@
1
+ import type { SeqState } from './types';
2
+ import type { Feature } from '@jbrowse/core/util';
3
+ export declare function useSWRFeatureSequence({ view, feature, upDownBp, forceLoad, }: {
4
+ view: {
5
+ assemblyNames?: string[];
6
+ } | undefined;
7
+ feature?: Feature;
8
+ upDownBp?: number;
9
+ forceLoad?: boolean;
10
+ }): {
11
+ sequence: SeqState | undefined;
12
+ error: any;
13
+ };
@@ -0,0 +1,53 @@
1
+ import { getSession } from '@jbrowse/core/util';
2
+ import useSWR from 'swr';
3
+ import { fetchSeq } from './fetchSeq';
4
+ const BPLIMIT = 500_000;
5
+ async function featureSequenceFetcher({ feature, assemblyName, upDownBp, view, forceLoad, }) {
6
+ const session = getSession(view);
7
+ const { start, end, refName } = feature.toJSON();
8
+ const b = start - upDownBp;
9
+ const e = end + upDownBp;
10
+ const [seq, upstream, downstream] = await Promise.all([
11
+ fetchSeq({
12
+ start,
13
+ end,
14
+ refName,
15
+ assemblyName,
16
+ session,
17
+ }),
18
+ fetchSeq({
19
+ start: Math.max(0, b),
20
+ end: start,
21
+ refName,
22
+ assemblyName,
23
+ session,
24
+ }),
25
+ fetchSeq({
26
+ start: end,
27
+ end: e,
28
+ refName,
29
+ assemblyName,
30
+ session,
31
+ }),
32
+ ]);
33
+ return { seq, upstream, downstream };
34
+ }
35
+ export function useSWRFeatureSequence({ view, feature, upDownBp = 0, forceLoad = true, }) {
36
+ const assemblyName = view?.assemblyNames?.[0];
37
+ const { data, error } = useSWR(
38
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
39
+ feature && assemblyName && view
40
+ ? [feature.id(), assemblyName, upDownBp, forceLoad, 'feature-sequence']
41
+ : null, () => featureSequenceFetcher({
42
+ feature: feature,
43
+ assemblyName: assemblyName,
44
+ upDownBp,
45
+ view: view,
46
+ forceLoad,
47
+ }));
48
+ return {
49
+ sequence: data,
50
+ error,
51
+ };
52
+ }
53
+ //# sourceMappingURL=useSWRFeatureSequence.js.map