jbrowse-plugin-protein3d 0.3.1 → 0.3.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.
- package/dist/AddHighlightModel/ProteinToGenomeHighlightInner.d.ts +3 -3
- package/dist/AddHighlightModel/ProteinToGenomeHighlightInner.js +8 -4
- package/dist/AddHighlightModel/ProteinToGenomeHighlightInner.js.map +1 -1
- package/dist/AddHighlightModel/ProteinToMsaHoverSync.js +16 -23
- package/dist/AddHighlightModel/ProteinToMsaHoverSync.js.map +1 -1
- package/dist/LaunchProteinView/components/AlphaFoldDBSearch.js +1 -1
- package/dist/LaunchProteinView/components/AlphaFoldDBSearch.js.map +1 -1
- package/dist/LaunchProteinView/components/AlphaFoldEntrySelector.js +2 -2
- package/dist/LaunchProteinView/components/AlphaFoldEntrySelector.js.map +1 -1
- package/dist/LaunchProteinView/components/FoldseekActionMenu.js +1 -3
- package/dist/LaunchProteinView/components/FoldseekActionMenu.js.map +1 -1
- package/dist/LaunchProteinView/components/FoldseekDatabaseSelector.js +12 -17
- package/dist/LaunchProteinView/components/FoldseekDatabaseSelector.js.map +1 -1
- package/dist/LaunchProteinView/components/FoldseekSearch.js +20 -37
- package/dist/LaunchProteinView/components/FoldseekSearch.js.map +1 -1
- package/dist/LaunchProteinView/components/HelpDialog.js +1 -3
- package/dist/LaunchProteinView/components/HelpDialog.js.map +1 -1
- package/dist/LaunchProteinView/components/LaunchProteinViewDialog.js +1 -3
- package/dist/LaunchProteinView/components/LaunchProteinViewDialog.js.map +1 -1
- package/dist/LaunchProteinView/components/ProteinViewActions.js +51 -60
- package/dist/LaunchProteinView/components/ProteinViewActions.js.map +1 -1
- package/dist/LaunchProteinView/components/TranscriptSelector.d.ts +1 -1
- package/dist/LaunchProteinView/components/TranscriptSelector.js +1 -1
- package/dist/LaunchProteinView/components/TranscriptSelector.js.map +1 -1
- package/dist/LaunchProteinView/components/UserProvidedStructure.js +4 -6
- package/dist/LaunchProteinView/components/UserProvidedStructure.js.map +1 -1
- package/dist/LaunchProteinView/hooks/useAlphaFoldDBSearch.d.ts +1 -1
- package/dist/LaunchProteinView/hooks/useAlphaFoldDBSearch.js +19 -27
- package/dist/LaunchProteinView/hooks/useAlphaFoldDBSearch.js.map +1 -1
- package/dist/LaunchProteinView/hooks/useAlphaFoldData.d.ts +0 -3
- package/dist/LaunchProteinView/hooks/useAlphaFoldData.js +9 -9
- package/dist/LaunchProteinView/hooks/useAlphaFoldData.js.map +1 -1
- package/dist/LaunchProteinView/hooks/useFoldseekSearch.d.ts +1 -1
- package/dist/LaunchProteinView/hooks/useFoldseekSearch.js +20 -49
- package/dist/LaunchProteinView/hooks/useFoldseekSearch.js.map +1 -1
- package/dist/LaunchProteinView/hooks/useLocalStorage.js +6 -5
- package/dist/LaunchProteinView/hooks/useLocalStorage.js.map +1 -1
- package/dist/LaunchProteinView/hooks/useLocalStructureFileSequence.js.map +1 -1
- package/dist/LaunchProteinView/index.js +6 -32
- package/dist/LaunchProteinView/index.js.map +1 -1
- package/dist/LaunchProteinView/services/lookupMethods.d.ts +1 -2
- package/dist/LaunchProteinView/services/lookupMethods.js +1 -1
- package/dist/LaunchProteinView/services/lookupMethods.js.map +1 -1
- package/dist/LaunchProteinView/utils/launchViewUtils.js +1 -1
- package/dist/LaunchProteinView/utils/launchViewUtils.js.map +1 -1
- package/dist/LaunchProteinView/utils/util.d.ts +4 -1
- package/dist/LaunchProteinView/utils/util.js +40 -24
- package/dist/LaunchProteinView/utils/util.js.map +1 -1
- package/dist/ProteinView/addStructureFromData.d.ts +1 -1
- package/dist/ProteinView/addStructureFromData.js.map +1 -1
- package/dist/ProteinView/addStructureFromURL.d.ts +1 -1
- package/dist/ProteinView/addStructureFromURL.js.map +1 -1
- package/dist/ProteinView/components/AddStructureDialog.js +1 -3
- package/dist/ProteinView/components/AddStructureDialog.js.map +1 -1
- package/dist/ProteinView/components/ProteinAlignment.js +19 -18
- package/dist/ProteinView/components/ProteinAlignment.js.map +1 -1
- package/dist/ProteinView/components/ProteinFeatureTrack.js +13 -22
- package/dist/ProteinView/components/ProteinFeatureTrack.js.map +1 -1
- package/dist/ProteinView/components/ProteinView.js +3 -12
- package/dist/ProteinView/components/ProteinView.js.map +1 -1
- package/dist/ProteinView/components/SplitString.js +17 -30
- package/dist/ProteinView/components/SplitString.js.map +1 -1
- package/dist/ProteinView/css/molstar.d.ts +1 -1
- package/dist/ProteinView/css/molstar.js +1 -1
- package/dist/ProteinView/extractStructureSequences.d.ts +0 -5
- package/dist/ProteinView/extractStructureSequences.js +1 -14
- package/dist/ProteinView/extractStructureSequences.js.map +1 -1
- package/dist/ProteinView/highlightResidueRange.js +1 -1
- package/dist/ProteinView/highlightResidueRange.js.map +1 -1
- package/dist/ProteinView/model.d.ts +3 -1
- package/dist/ProteinView/model.js +1 -0
- package/dist/ProteinView/model.js.map +1 -1
- package/dist/ProteinView/molstarExports.d.ts +0 -1
- package/dist/ProteinView/molstarExports.js.map +1 -1
- package/dist/ProteinView/pairwiseAlignment.js +2 -12
- package/dist/ProteinView/pairwiseAlignment.js.map +1 -1
- package/dist/ProteinView/structureModel.js +10 -12
- package/dist/ProteinView/structureModel.js.map +1 -1
- package/dist/ProteinView/useProteinView.d.ts +3 -3
- package/dist/ProteinView/useProteinView.js +4 -5
- package/dist/ProteinView/useProteinView.js.map +1 -1
- package/dist/jbrowse-plugin-protein3d.umd.production.min.js +15 -15
- package/dist/jbrowse-plugin-protein3d.umd.production.min.js.map +4 -4
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +42 -41
- package/src/AddHighlightModel/ProteinToGenomeHighlightInner.tsx +39 -32
- package/src/AddHighlightModel/ProteinToMsaHoverSync.tsx +27 -31
- package/src/LaunchProteinView/components/AlphaFoldDBSearch.tsx +1 -1
- package/src/LaunchProteinView/components/AlphaFoldEntrySelector.tsx +2 -2
- package/src/LaunchProteinView/components/FoldseekActionMenu.tsx +1 -3
- package/src/LaunchProteinView/components/FoldseekDatabaseSelector.tsx +19 -19
- package/src/LaunchProteinView/components/FoldseekSearch.tsx +23 -47
- package/src/LaunchProteinView/components/HelpDialog.tsx +1 -6
- package/src/LaunchProteinView/components/LaunchProteinViewDialog.tsx +1 -3
- package/src/LaunchProteinView/components/ProteinViewActions.tsx +59 -64
- package/src/LaunchProteinView/components/TranscriptSelector.tsx +2 -2
- package/src/LaunchProteinView/components/UserProvidedStructure.tsx +4 -6
- package/src/LaunchProteinView/hooks/useAlphaFoldDBSearch.ts +21 -31
- package/src/LaunchProteinView/hooks/useAlphaFoldData.ts +13 -12
- package/src/LaunchProteinView/hooks/useFoldseekSearch.ts +39 -74
- package/src/LaunchProteinView/hooks/useLocalStorage.ts +6 -5
- package/src/LaunchProteinView/hooks/useLocalStructureFileSequence.ts +0 -1
- package/src/LaunchProteinView/index.ts +6 -37
- package/src/LaunchProteinView/services/lookupMethods.ts +2 -1
- package/src/LaunchProteinView/utils/launchViewUtils.ts +1 -1
- package/src/LaunchProteinView/utils/util.ts +55 -34
- package/src/ProteinView/addStructureFromData.ts +2 -2
- package/src/ProteinView/addStructureFromURL.ts +2 -2
- package/src/ProteinView/components/AddStructureDialog.tsx +1 -3
- package/src/ProteinView/components/ProteinAlignment.tsx +22 -32
- package/src/ProteinView/components/ProteinFeatureTrack.tsx +11 -27
- package/src/ProteinView/components/ProteinView.tsx +3 -13
- package/src/ProteinView/components/SplitString.tsx +17 -41
- package/src/ProteinView/css/molstar.ts +1 -1
- package/src/ProteinView/extractStructureSequences.ts +3 -14
- package/src/ProteinView/highlightResidueRange.ts +1 -1
- package/src/ProteinView/model.ts +1 -0
- package/src/ProteinView/molstarExports.ts +0 -2
- package/src/ProteinView/pairwiseAlignment.ts +3 -11
- package/src/ProteinView/structureModel.ts +10 -14
- package/src/ProteinView/useProteinView.ts +6 -4
- package/src/version.ts +1 -1
- package/dist/LaunchProteinView/utils/getSearchDescription.test.d.ts +0 -1
- package/dist/LaunchProteinView/utils/getSearchDescription.test.js +0 -48
- package/dist/LaunchProteinView/utils/getSearchDescription.test.js.map +0 -1
- package/dist/LaunchProteinView/utils/selectBestTranscript.test.d.ts +0 -1
- package/dist/LaunchProteinView/utils/selectBestTranscript.test.js +0 -163
- package/dist/LaunchProteinView/utils/selectBestTranscript.test.js.map +0 -1
- package/dist/LaunchProteinView/utils/util.test.d.ts +0 -1
- package/dist/LaunchProteinView/utils/util.test.js +0 -368
- package/dist/LaunchProteinView/utils/util.test.js.map +0 -1
- package/dist/ProteinView/components/throttle.d.ts +0 -1
- package/dist/ProteinView/components/throttle.js +0 -11
- package/dist/ProteinView/components/throttle.js.map +0 -1
- package/dist/ProteinView/pairwiseAlignment.test.d.ts +0 -1
- package/dist/ProteinView/pairwiseAlignment.test.js +0 -56
- package/dist/ProteinView/pairwiseAlignment.test.js.map +0 -1
- package/dist/ProteinView/util.test.d.ts +0 -1
- package/dist/ProteinView/util.test.js +0 -36
- package/dist/ProteinView/util.test.js.map +0 -1
- package/dist/mappings.test.d.ts +0 -1
- package/dist/mappings.test.js +0 -121
- package/dist/mappings.test.js.map +0 -1
- package/src/LaunchProteinView/utils/util.test.ts +0 -424
- package/src/ProteinView/components/throttle.ts +0 -13
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { LinearGenomeViewModel } from '@jbrowse/plugin-linear-genome-view';
|
|
3
3
|
type HighlightField = 'clickGenomeHighlights' | 'hoverGenomeHighlights';
|
|
4
|
-
|
|
4
|
+
declare const ProteinToGenomeHighlightInner: ({ model, field, }: {
|
|
5
5
|
model: LinearGenomeViewModel;
|
|
6
6
|
field: HighlightField;
|
|
7
|
-
})
|
|
8
|
-
export
|
|
7
|
+
}) => React.JSX.Element | null;
|
|
8
|
+
export default ProteinToGenomeHighlightInner;
|
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { getSession } from '@jbrowse/core/util';
|
|
3
|
+
import { observer } from 'mobx-react';
|
|
3
4
|
import Highlight from './Highlight';
|
|
4
|
-
|
|
5
|
+
const ProteinToGenomeHighlightInner = observer(function ProteinToGenomeHighlightInner({ model, field, }) {
|
|
5
6
|
const { assemblyManager, views } = getSession(model);
|
|
6
7
|
const { assemblyNames } = model;
|
|
7
8
|
const proteinView = views.find(f => f.type === 'ProteinView');
|
|
8
9
|
const assemblyName = assemblyNames[0];
|
|
9
|
-
const assembly =
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
const assembly = assemblyName
|
|
11
|
+
? assemblyManager.get(assemblyName)
|
|
12
|
+
: undefined;
|
|
13
|
+
return assembly && assemblyName ? (React.createElement(React.Fragment, null, proteinView?.structures.map((structure, idx) => structure[field].map((r, idx2) => (React.createElement(Highlight, { key: `${r.refName}-${r.start}-${r.end}-${idx}-${idx2}`, start: r.start, end: r.end, refName: r.refName, assemblyName: assemblyName, model: model })))))) : null;
|
|
14
|
+
});
|
|
15
|
+
export default ProteinToGenomeHighlightInner;
|
|
12
16
|
//# sourceMappingURL=ProteinToGenomeHighlightInner.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProteinToGenomeHighlightInner.js","sourceRoot":"","sources":["../../src/AddHighlightModel/ProteinToGenomeHighlightInner.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"ProteinToGenomeHighlightInner.js","sourceRoot":"","sources":["../../src/AddHighlightModel/ProteinToGenomeHighlightInner.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAErC,OAAO,SAAS,MAAM,aAAa,CAAA;AAWnC,MAAM,6BAA6B,GAAG,QAAQ,CAC5C,SAAS,6BAA6B,CAAC,EACrC,KAAK,EACL,KAAK,GAIN;IACC,MAAM,EAAE,eAAe,EAAE,KAAK,EAAE,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;IACpD,MAAM,EAAE,aAAa,EAAE,GAAG,KAAK,CAAA;IAC/B,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAE/C,CAAA;IACb,MAAM,YAAY,GAAG,aAAa,CAAC,CAAC,CAAC,CAAA;IACrC,MAAM,QAAQ,GAAG,YAAY;QAC3B,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,YAAY,CAAC;QACnC,CAAC,CAAC,SAAS,CAAA;IACb,OAAO,QAAQ,IAAI,YAAY,CAAC,CAAC,CAAC,CAChC,0CACG,WAAW,EAAE,UAAU,CAAC,GAAG,CAC1B,CAAC,SAA6C,EAAE,GAAW,EAAE,EAAE,CAC7D,SAAS,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,IAAY,EAAE,EAAE,CAAC,CAChD,oBAAC,SAAS,IACR,GAAG,EAAE,GAAG,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,IAAI,EAAE,EACtD,KAAK,EAAE,CAAC,CAAC,KAAK,EACd,GAAG,EAAE,CAAC,CAAC,GAAG,EACV,OAAO,EAAE,CAAC,CAAC,OAAO,EAClB,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,KAAK,GACZ,CACH,CAAC,CACL,CACA,CACJ,CAAC,CAAC,CAAC,IAAI,CAAA;AACV,CAAC,CACF,CAAA;AAED,eAAe,6BAA6B,CAAA"}
|
|
@@ -10,29 +10,21 @@ const ProteinToMsaHoverSync = observer(function ProteinToMsaHoverSync({ model, }
|
|
|
10
10
|
const msaView = connectedMsaViewId
|
|
11
11
|
? views.find(f => f.id === connectedMsaViewId)
|
|
12
12
|
: undefined;
|
|
13
|
-
// Sync protein hover to MSA
|
|
14
|
-
useEffect(() => {
|
|
15
|
-
if (!proteinView || !msaView?.setMouseoveredColumn) {
|
|
16
|
-
return;
|
|
17
|
-
}
|
|
18
|
-
const disposer = autorun(() => {
|
|
19
|
-
const structure = proteinView.structures[0];
|
|
20
|
-
if (structure) {
|
|
21
|
-
const pos = structure.structureSeqHoverPos;
|
|
22
|
-
msaView.setMouseoveredColumn?.(pos);
|
|
23
|
-
}
|
|
24
|
-
});
|
|
25
|
-
return () => {
|
|
26
|
-
disposer();
|
|
27
|
-
};
|
|
28
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
29
|
-
}, []);
|
|
30
|
-
// Sync MSA hover to protein
|
|
31
13
|
useEffect(() => {
|
|
32
14
|
if (!proteinView || !msaView) {
|
|
33
15
|
return;
|
|
34
16
|
}
|
|
35
|
-
const
|
|
17
|
+
const disposers = [];
|
|
18
|
+
if (msaView.setMouseoveredColumn) {
|
|
19
|
+
disposers.push(autorun(() => {
|
|
20
|
+
const structure = proteinView.structures[0];
|
|
21
|
+
if (structure) {
|
|
22
|
+
const pos = structure.structureSeqHoverPos;
|
|
23
|
+
msaView.setMouseoveredColumn?.(pos);
|
|
24
|
+
}
|
|
25
|
+
}));
|
|
26
|
+
}
|
|
27
|
+
disposers.push(autorun(() => {
|
|
36
28
|
const col = msaView.mouseoveredColumn;
|
|
37
29
|
const structure = proteinView.structures[0];
|
|
38
30
|
if (structure && col !== undefined) {
|
|
@@ -41,12 +33,13 @@ const ProteinToMsaHoverSync = observer(function ProteinToMsaHoverSync({ model, }
|
|
|
41
33
|
else if (structure && col === undefined) {
|
|
42
34
|
structure.clearHighlightFromExternal();
|
|
43
35
|
}
|
|
44
|
-
});
|
|
36
|
+
}));
|
|
45
37
|
return () => {
|
|
46
|
-
|
|
38
|
+
disposers.forEach(d => {
|
|
39
|
+
d();
|
|
40
|
+
});
|
|
47
41
|
};
|
|
48
|
-
|
|
49
|
-
}, []);
|
|
42
|
+
}, [proteinView, msaView]);
|
|
50
43
|
return null;
|
|
51
44
|
});
|
|
52
45
|
export default ProteinToMsaHoverSync;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProteinToMsaHoverSync.js","sourceRoot":"","sources":["../../src/AddHighlightModel/ProteinToMsaHoverSync.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEjC,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAC9B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAYrC,MAAM,qBAAqB,GAAG,QAAQ,CAAC,SAAS,qBAAqB,CAAC,EACpE,KAAK,GAGN;IACC,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;IACjC,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAA;IAEzB,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAE/C,CAAA;IAEb,MAAM,kBAAkB,GAAG,WAAW,EAAE,kBAAkB,CAAA;IAC1D,MAAM,OAAO,GAAG,kBAAkB;QAChC,CAAC,CAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,kBAAkB,CAAyB;QACvE,CAAC,CAAC,SAAS,CAAA;IAEb,
|
|
1
|
+
{"version":3,"file":"ProteinToMsaHoverSync.js","sourceRoot":"","sources":["../../src/AddHighlightModel/ProteinToMsaHoverSync.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEjC,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAC9B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAYrC,MAAM,qBAAqB,GAAG,QAAQ,CAAC,SAAS,qBAAqB,CAAC,EACpE,KAAK,GAGN;IACC,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;IACjC,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAA;IAEzB,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAE/C,CAAA;IAEb,MAAM,kBAAkB,GAAG,WAAW,EAAE,kBAAkB,CAAA;IAC1D,MAAM,OAAO,GAAG,kBAAkB;QAChC,CAAC,CAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,kBAAkB,CAAyB;QACvE,CAAC,CAAC,SAAS,CAAA;IAEb,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,WAAW,IAAI,CAAC,OAAO,EAAE,CAAC;YAC7B,OAAM;QACR,CAAC;QAED,MAAM,SAAS,GAAmB,EAAE,CAAA;QAEpC,IAAI,OAAO,CAAC,oBAAoB,EAAE,CAAC;YACjC,SAAS,CAAC,IAAI,CACZ,OAAO,CAAC,GAAG,EAAE;gBACX,MAAM,SAAS,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;gBAC3C,IAAI,SAAS,EAAE,CAAC;oBACd,MAAM,GAAG,GAAG,SAAS,CAAC,oBAAoB,CAAA;oBAC1C,OAAO,CAAC,oBAAoB,EAAE,CAAC,GAAG,CAAC,CAAA;gBACrC,CAAC;YACH,CAAC,CAAC,CACH,CAAA;QACH,CAAC;QAED,SAAS,CAAC,IAAI,CACZ,OAAO,CAAC,GAAG,EAAE;YACX,MAAM,GAAG,GAAG,OAAO,CAAC,iBAAiB,CAAA;YACrC,MAAM,SAAS,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;YAC3C,IAAI,SAAS,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;gBACnC,SAAS,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAA;YACtC,CAAC;iBAAM,IAAI,SAAS,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;gBAC1C,SAAS,CAAC,0BAA0B,EAAE,CAAA;YACxC,CAAC;QACH,CAAC,CAAC,CACH,CAAA;QAED,OAAO,GAAG,EAAE;YACV,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBACpB,CAAC,EAAE,CAAA;YACL,CAAC,CAAC,CAAA;QACJ,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAA;IAE1B,OAAO,IAAI,CAAA;AACb,CAAC,CAAC,CAAA;AAEF,eAAe,qBAAqB,CAAA"}
|
|
@@ -62,7 +62,7 @@ const AlphaFoldDBSearch = observer(function AlphaFoldDBSearch({ feature, model,
|
|
|
62
62
|
"directly and use \"Enter manually\" above, or use \"Search sequence against AlphaFoldDB API\" if available.")),
|
|
63
63
|
state.showStructureSelectors && (React.createElement(React.Fragment, null,
|
|
64
64
|
React.createElement("div", { className: classes.selectorsRow },
|
|
65
|
-
React.createElement(TranscriptSelector, { val: state.userSelection
|
|
65
|
+
React.createElement(TranscriptSelector, { val: state.userSelection, setVal: state.setUserSelection, structureSequence: state.structureSequence, feature: feature, isoforms: state.transcriptOptions, isoformSequences: state.isoformSequences }),
|
|
66
66
|
state.showAlphaFoldEntrySelector && (React.createElement(AlphaFoldEntrySelector, { predictions: state.predictions, selectedEntryIndex: state.selectedEntryIndex, onSelectionChange: state.setSelectedEntryIndex }))),
|
|
67
67
|
state.showSequenceSearchStatus && (React.createElement(SequenceSearchStatus, { isLoading: state.isSequenceSearchLoading, uniprotId: state.uniprotId, url: state.url, hasProteinSequence: !!state.userSelectedProteinSequence, sequenceSearchType: state.sequenceSearchType })),
|
|
68
68
|
state.showAlphaFoldDBSearchStatus && (React.createElement(AlphaFoldDBSearchStatus, { uniprotId: state.uniprotId, selectedTranscript: state.selectedTranscript, structureSequence: state.structureSequence, isoformSequences: state.isoformSequences, url: state.url }))))),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AlphaFoldDBSearch.js","sourceRoot":"","sources":["../../../src/LaunchProteinView/components/AlphaFoldDBSearch.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"AlphaFoldDBSearch.js","sourceRoot":"","sources":["../../../src/LaunchProteinView/components/AlphaFoldDBSearch.tsx"],"names":[],"mappings":"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"}
|
|
@@ -11,8 +11,8 @@ export default function AlphaFoldEntrySelector({ predictions, selectedEntryIndex
|
|
|
11
11
|
return (React.createElement("div", null,
|
|
12
12
|
React.createElement(TextField, { select: true, label: "AlphaFold Structure Entry", value: selectedEntryIndex, helperText: "Select an AlphaFold structure entry (isoform)", onChange: e => {
|
|
13
13
|
onSelectionChange(Number(e.target.value));
|
|
14
|
-
} },
|
|
15
|
-
.
|
|
14
|
+
} }, predictions
|
|
15
|
+
.toSorted((a, b) => a.modelEntityId.length - b.modelEntityId.length)
|
|
16
16
|
.map((prediction, index) => (React.createElement("option", { key: index, value: index }, prediction.modelEntityId))))));
|
|
17
17
|
}
|
|
18
18
|
//# sourceMappingURL=AlphaFoldEntrySelector.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AlphaFoldEntrySelector.js","sourceRoot":"","sources":["../../../src/LaunchProteinView/components/AlphaFoldEntrySelector.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAUzC;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,sBAAsB,CAAC,EAC7C,WAAW,EACX,kBAAkB,EAClB,iBAAiB,GACW;IAC5B,8CAA8C;IAC9C,IAAI,WAAW,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,CACL;QACE,oBAAC,SAAS,IACR,MAAM,QACN,KAAK,EAAC,2BAA2B,EACjC,KAAK,EAAE,kBAAkB,EACzB,UAAU,EAAC,+CAA+C,EAC1D,QAAQ,EAAE,CAAC,CAAC,EAAE;gBACZ,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;YAC3C,CAAC,IAEA,
|
|
1
|
+
{"version":3,"file":"AlphaFoldEntrySelector.js","sourceRoot":"","sources":["../../../src/LaunchProteinView/components/AlphaFoldEntrySelector.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAUzC;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,sBAAsB,CAAC,EAC7C,WAAW,EACX,kBAAkB,EAClB,iBAAiB,GACW;IAC5B,8CAA8C;IAC9C,IAAI,WAAW,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,CACL;QACE,oBAAC,SAAS,IACR,MAAM,QACN,KAAK,EAAC,2BAA2B,EACjC,KAAK,EAAE,kBAAkB,EACzB,UAAU,EAAC,+CAA+C,EAC1D,QAAQ,EAAE,CAAC,CAAC,EAAE;gBACZ,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;YAC3C,CAAC,IAEA,WAAW;aACT,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC;aACnE,GAAG,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,CAAC,CAC1B,gCAAQ,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,IAC7B,UAAU,CAAC,aAAa,CAClB,CACV,CAAC,CACM,CACR,CACP,CAAA;AACH,CAAC"}
|
|
@@ -68,9 +68,7 @@ export default function FoldseekActionMenu({ hit, session, view, feature, select
|
|
|
68
68
|
React.createElement(Menu, { anchorEl: anchorEl, open: open, onClose: handleMenuClose },
|
|
69
69
|
React.createElement(MenuItem, { onClick: handleLaunch3D }, "Launch 3D protein view"),
|
|
70
70
|
uniprotId ? (React.createElement(MenuItem, { onClick: () => {
|
|
71
|
-
handleLaunch1D()
|
|
72
|
-
console.error(e);
|
|
73
|
-
});
|
|
71
|
+
void handleLaunch1D();
|
|
74
72
|
} }, "Launch 1D protein annotation view")) : null,
|
|
75
73
|
uniprotId && hasMsaViewPlugin() ? (React.createElement(MenuItem, { onClick: handleLaunchMSA }, "Launch MSA view (AlphaFoldDB a3m)")) : null)));
|
|
76
74
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FoldseekActionMenu.js","sourceRoot":"","sources":["../../../src/LaunchProteinView/components/FoldseekActionMenu.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"FoldseekActionMenu.js","sourceRoot":"","sources":["../../../src/LaunchProteinView/components/FoldseekActionMenu.tsx"],"names":[],"mappings":"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"}
|
|
@@ -25,28 +25,23 @@ const useStyles = makeStyles()({
|
|
|
25
25
|
});
|
|
26
26
|
export default function FoldseekDatabaseSelector({ selected, onChange, disabled, }) {
|
|
27
27
|
const { classes } = useStyles();
|
|
28
|
-
const handleToggle = (dbId) => {
|
|
29
|
-
if (selected.includes(dbId)) {
|
|
30
|
-
onChange(selected.filter(id => id !== dbId));
|
|
31
|
-
}
|
|
32
|
-
else {
|
|
33
|
-
onChange([...selected, dbId]);
|
|
34
|
-
}
|
|
35
|
-
};
|
|
36
|
-
const selectAll = () => {
|
|
37
|
-
onChange(FOLDSEEK_DATABASES.map(db => db.id));
|
|
38
|
-
};
|
|
39
|
-
const deselectAll = () => {
|
|
40
|
-
onChange([]);
|
|
41
|
-
};
|
|
42
28
|
return (React.createElement("div", { className: classes.root },
|
|
43
29
|
React.createElement("div", { className: classes.header },
|
|
44
30
|
React.createElement(Typography, { variant: "subtitle2" }, "Databases to search:"),
|
|
45
31
|
React.createElement("div", { className: classes.buttons },
|
|
46
|
-
React.createElement(Button, { size: "small", onClick:
|
|
47
|
-
|
|
32
|
+
React.createElement(Button, { size: "small", onClick: () => {
|
|
33
|
+
onChange(FOLDSEEK_DATABASES.map(db => db.id));
|
|
34
|
+
}, disabled: disabled }, "Select all"),
|
|
35
|
+
React.createElement(Button, { size: "small", onClick: () => {
|
|
36
|
+
onChange([]);
|
|
37
|
+
}, disabled: disabled }, "Clear"))),
|
|
48
38
|
React.createElement(FormGroup, { className: classes.checkboxGroup }, FOLDSEEK_DATABASES.map(db => (React.createElement(FormControlLabel, { key: db.id, control: React.createElement(Checkbox, { size: "small", checked: selected.includes(db.id), onChange: () => {
|
|
49
|
-
|
|
39
|
+
if (selected.includes(db.id)) {
|
|
40
|
+
onChange(selected.filter(id => id !== db.id));
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
onChange([...selected, db.id]);
|
|
44
|
+
}
|
|
50
45
|
}, disabled: disabled }), label: db.label }))))));
|
|
51
46
|
}
|
|
52
47
|
//# sourceMappingURL=FoldseekDatabaseSelector.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FoldseekDatabaseSelector.js","sourceRoot":"","sources":["../../../src/LaunchProteinView/components/FoldseekDatabaseSelector.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EACL,MAAM,EACN,QAAQ,EACR,gBAAgB,EAChB,SAAS,EACT,UAAU,GACX,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAE1C,OAAO,EACL,kBAAkB,GAEnB,MAAM,yBAAyB,CAAA;AAEhC,MAAM,SAAS,GAAG,UAAU,EAAE,CAAC;IAC7B,IAAI,EAAE;QACJ,OAAO,EAAE,MAAM;QACf,aAAa,EAAE,QAAQ;QACvB,GAAG,EAAE,CAAC;KACP;IACD,MAAM,EAAE;QACN,OAAO,EAAE,MAAM;QACf,UAAU,EAAE,QAAQ;QACpB,GAAG,EAAE,CAAC;KACP;IACD,OAAO,EAAE;QACP,OAAO,EAAE,MAAM;QACf,GAAG,EAAE,CAAC;KACP;IACD,aAAa,EAAE;QACb,OAAO,EAAE,MAAM;QACf,mBAAmB,EAAE,gBAAgB;QACrC,GAAG,EAAE,CAAC;KACP;CACF,CAAC,CAAA;AAEF,MAAM,CAAC,OAAO,UAAU,wBAAwB,CAAC,EAC/C,QAAQ,EACR,QAAQ,EACR,QAAQ,GAKT;IACC,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,EAAE,CAAA;IAE/B,
|
|
1
|
+
{"version":3,"file":"FoldseekDatabaseSelector.js","sourceRoot":"","sources":["../../../src/LaunchProteinView/components/FoldseekDatabaseSelector.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EACL,MAAM,EACN,QAAQ,EACR,gBAAgB,EAChB,SAAS,EACT,UAAU,GACX,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAE1C,OAAO,EACL,kBAAkB,GAEnB,MAAM,yBAAyB,CAAA;AAEhC,MAAM,SAAS,GAAG,UAAU,EAAE,CAAC;IAC7B,IAAI,EAAE;QACJ,OAAO,EAAE,MAAM;QACf,aAAa,EAAE,QAAQ;QACvB,GAAG,EAAE,CAAC;KACP;IACD,MAAM,EAAE;QACN,OAAO,EAAE,MAAM;QACf,UAAU,EAAE,QAAQ;QACpB,GAAG,EAAE,CAAC;KACP;IACD,OAAO,EAAE;QACP,OAAO,EAAE,MAAM;QACf,GAAG,EAAE,CAAC;KACP;IACD,aAAa,EAAE;QACb,OAAO,EAAE,MAAM;QACf,mBAAmB,EAAE,gBAAgB;QACrC,GAAG,EAAE,CAAC;KACP;CACF,CAAC,CAAA;AAEF,MAAM,CAAC,OAAO,UAAU,wBAAwB,CAAC,EAC/C,QAAQ,EACR,QAAQ,EACR,QAAQ,GAKT;IACC,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,EAAE,CAAA;IAE/B,OAAO,CACL,6BAAK,SAAS,EAAE,OAAO,CAAC,IAAI;QAC1B,6BAAK,SAAS,EAAE,OAAO,CAAC,MAAM;YAC5B,oBAAC,UAAU,IAAC,OAAO,EAAC,WAAW,2BAAkC;YACjE,6BAAK,SAAS,EAAE,OAAO,CAAC,OAAO;gBAC7B,oBAAC,MAAM,IACL,IAAI,EAAC,OAAO,EACZ,OAAO,EAAE,GAAG,EAAE;wBACZ,QAAQ,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;oBAC/C,CAAC,EACD,QAAQ,EAAE,QAAQ,iBAGX;gBACT,oBAAC,MAAM,IACL,IAAI,EAAC,OAAO,EACZ,OAAO,EAAE,GAAG,EAAE;wBACZ,QAAQ,CAAC,EAAE,CAAC,CAAA;oBACd,CAAC,EACD,QAAQ,EAAE,QAAQ,YAGX,CACL,CACF;QACN,oBAAC,SAAS,IAAC,SAAS,EAAE,OAAO,CAAC,aAAa,IACxC,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAC5B,oBAAC,gBAAgB,IACf,GAAG,EAAE,EAAE,CAAC,EAAE,EACV,OAAO,EACL,oBAAC,QAAQ,IACP,IAAI,EAAC,OAAO,EACZ,OAAO,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,EACjC,QAAQ,EAAE,GAAG,EAAE;oBACb,IAAI,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;wBAC7B,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;oBAC/C,CAAC;yBAAM,CAAC;wBACN,QAAQ,CAAC,CAAC,GAAG,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;oBAChC,CAAC;gBACH,CAAC,EACD,QAAQ,EAAE,QAAQ,GAClB,EAEJ,KAAK,EAAE,EAAE,CAAC,KAAK,GACf,CACH,CAAC,CACQ,CACR,CACP,CAAA;AACH,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React, {
|
|
1
|
+
import React, { useState } from 'react';
|
|
2
2
|
import { ErrorMessage, LoadingEllipses } from '@jbrowse/core/ui';
|
|
3
3
|
import { getContainingView, getSession } from '@jbrowse/core/util';
|
|
4
4
|
import { Button, DialogActions, DialogContent, TextField, Typography, } from '@mui/material';
|
|
@@ -9,6 +9,7 @@ import FoldseekResultsTable from './FoldseekResultsTable';
|
|
|
9
9
|
import TranscriptSelector from './TranscriptSelector';
|
|
10
10
|
import useFoldseekSearch from '../hooks/useFoldseekSearch';
|
|
11
11
|
import useIsoformProteinSequences from '../hooks/useIsoformProteinSequences';
|
|
12
|
+
import useTranscriptSelection from '../hooks/useTranscriptSelection';
|
|
12
13
|
import { DEFAULT_DATABASES } from '../services/foldseekApi';
|
|
13
14
|
import { getTranscriptFeatures } from '../utils/util';
|
|
14
15
|
const useStyles = makeStyles()({
|
|
@@ -32,44 +33,20 @@ const FoldseekSearch = observer(function FoldseekSearch({ feature, model, handle
|
|
|
32
33
|
const session = getSession(model);
|
|
33
34
|
const view = getContainingView(model);
|
|
34
35
|
const [userEditedSequence, setUserEditedSequence] = useState();
|
|
35
|
-
const [selectedTranscriptId, setSelectedTranscriptId] = useState();
|
|
36
36
|
const [selectedDatabases, setSelectedDatabases] = useState(DEFAULT_DATABASES);
|
|
37
37
|
const { results, cleanedAaSequence, di3Sequence, isLoading, isPredicting, error, statusMessage, predictStructure, search, reset, } = useFoldseekSearch();
|
|
38
|
-
const transcripts =
|
|
38
|
+
const transcripts = getTranscriptFeatures(feature);
|
|
39
39
|
const { isoformSequences, isLoading: isLoadingIsoforms, error: isoformError, } = useIsoformProteinSequences({ feature, view });
|
|
40
|
-
|
|
41
|
-
// Auto-select synchronously to avoid render gap
|
|
42
|
-
const autoSelectedTranscriptId = useMemo(() => {
|
|
43
|
-
if (isoformSequences && !selectedTranscriptId) {
|
|
44
|
-
const sortedTranscripts = [...transcripts].sort((a, b) => {
|
|
45
|
-
const seqA = isoformSequences[a.id()]?.seq;
|
|
46
|
-
const seqB = isoformSequences[b.id()]?.seq;
|
|
47
|
-
return (seqB?.length ?? 0) - (seqA?.length ?? 0);
|
|
48
|
-
});
|
|
49
|
-
const firstWithSeq = sortedTranscripts.find(t => isoformSequences[t.id()]?.seq);
|
|
50
|
-
return firstWithSeq?.id();
|
|
51
|
-
}
|
|
52
|
-
return undefined;
|
|
53
|
-
}, [isoformSequences, selectedTranscriptId, transcripts]);
|
|
54
|
-
const effectiveSelectedTranscriptId = selectedTranscriptId ?? autoSelectedTranscriptId ?? '';
|
|
40
|
+
const { userSelection: effectiveSelectedTranscriptId, setUserSelection } = useTranscriptSelection({ options: transcripts, isoformSequences });
|
|
55
41
|
const selectedTranscript = transcripts.find(t => t.id() === effectiveSelectedTranscriptId);
|
|
56
|
-
const selectedIsoformData =
|
|
42
|
+
const selectedIsoformData = effectiveSelectedTranscriptId
|
|
43
|
+
? isoformSequences?.[effectiveSelectedTranscriptId]
|
|
44
|
+
: undefined;
|
|
57
45
|
const cleanedSequence = selectedIsoformData?.seq.replace(/\*/g, '') ?? '';
|
|
58
46
|
const sequence = userEditedSequence ?? cleanedSequence;
|
|
59
|
-
|
|
47
|
+
const setUserSelectionWithReset = (id) => {
|
|
48
|
+
setUserSelection(id);
|
|
60
49
|
setUserEditedSequence(undefined);
|
|
61
|
-
}, [effectiveSelectedTranscriptId]);
|
|
62
|
-
const handlePredict = async () => {
|
|
63
|
-
if (sequence.trim()) {
|
|
64
|
-
await predictStructure(sequence.trim());
|
|
65
|
-
}
|
|
66
|
-
};
|
|
67
|
-
const handleSearch = () => {
|
|
68
|
-
if (cleanedAaSequence && di3Sequence && selectedDatabases.length > 0) {
|
|
69
|
-
search(cleanedAaSequence, di3Sequence, selectedDatabases).catch((e) => {
|
|
70
|
-
console.error(e);
|
|
71
|
-
});
|
|
72
|
-
}
|
|
73
50
|
};
|
|
74
51
|
const canPredict = sequence.trim().length > 0 && !isPredicting && !isLoading;
|
|
75
52
|
const canSearch = !!cleanedAaSequence &&
|
|
@@ -83,7 +60,7 @@ const FoldseekSearch = observer(function FoldseekSearch({ feature, model, handle
|
|
|
83
60
|
combinedError && !isLoadingIsoforms ? (React.createElement(ErrorMessage, { error: combinedError })) : null,
|
|
84
61
|
isLoadingIsoforms ? (React.createElement(LoadingEllipses, { variant: "subtitle2", message: "Loading transcript sequences" })) : null,
|
|
85
62
|
isoformSequences ? (React.createElement(React.Fragment, null,
|
|
86
|
-
React.createElement(TranscriptSelector, { val: effectiveSelectedTranscriptId, setVal:
|
|
63
|
+
React.createElement(TranscriptSelector, { val: effectiveSelectedTranscriptId, setVal: setUserSelectionWithReset, isoforms: transcripts, isoformSequences: isoformSequences, feature: feature, disabled: isBusy }),
|
|
87
64
|
React.createElement(TextField, { label: "Protein sequence (amino acids)", multiline: true, rows: 4, value: sequence, onChange: e => {
|
|
88
65
|
setUserEditedSequence(e.target.value);
|
|
89
66
|
}, placeholder: `MKTVRQERLKSIVRILERSKEPVSGAQLAEEL...`, disabled: isBusy, InputProps: {
|
|
@@ -102,10 +79,16 @@ const FoldseekSearch = observer(function FoldseekSearch({ feature, model, handle
|
|
|
102
79
|
React.createElement(Button, { variant: "contained", color: "secondary", onClick: handleClose }, "Cancel"),
|
|
103
80
|
results ? (React.createElement(Button, { variant: "outlined", onClick: reset }, "New search")) : null,
|
|
104
81
|
!di3Sequence ? (React.createElement(Button, { variant: "contained", color: "primary", disabled: !canPredict, onClick: () => {
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
}
|
|
108
|
-
} }, isPredicting ? 'Predicting...' : 'Predict 3Di structure')) : (React.createElement(Button, { variant: "contained", color: "primary", disabled: !canSearch, onClick:
|
|
82
|
+
if (sequence.trim()) {
|
|
83
|
+
void predictStructure(sequence.trim());
|
|
84
|
+
}
|
|
85
|
+
} }, isPredicting ? 'Predicting...' : 'Predict 3Di structure')) : (React.createElement(Button, { variant: "contained", color: "primary", disabled: !canSearch, onClick: () => {
|
|
86
|
+
if (cleanedAaSequence &&
|
|
87
|
+
di3Sequence &&
|
|
88
|
+
selectedDatabases.length > 0) {
|
|
89
|
+
void search(cleanedAaSequence, di3Sequence, selectedDatabases);
|
|
90
|
+
}
|
|
91
|
+
} }, isLoading ? 'Searching...' : 'Search Foldseek')))));
|
|
109
92
|
});
|
|
110
93
|
export default FoldseekSearch;
|
|
111
94
|
//# sourceMappingURL=FoldseekSearch.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FoldseekSearch.js","sourceRoot":"","sources":["../../../src/LaunchProteinView/components/FoldseekSearch.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"FoldseekSearch.js","sourceRoot":"","sources":["../../../src/LaunchProteinView/components/FoldseekSearch.tsx"],"names":[],"mappings":"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"}
|
|
@@ -18,8 +18,6 @@ export default function HelpDialog({ handleClose, }) {
|
|
|
18
18
|
React.createElement(Typography2, null, "If you run into challenges with this workflow e.g. your transcripts are not being found in UniProt then you can use the Manual import form, or contact colin.diesh@gmail.com for troubleshooting")),
|
|
19
19
|
React.createElement(Divider, null),
|
|
20
20
|
React.createElement(DialogActions, null,
|
|
21
|
-
React.createElement(Button, { onClick:
|
|
22
|
-
handleClose();
|
|
23
|
-
}, color: "primary" }, "Close"))));
|
|
21
|
+
React.createElement(Button, { onClick: handleClose, color: "primary" }, "Close"))));
|
|
24
22
|
}
|
|
25
23
|
//# sourceMappingURL=HelpDialog.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HelpDialog.js","sourceRoot":"","sources":["../../../src/LaunchProteinView/components/HelpDialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzC,OAAO,EACL,MAAM,EACN,aAAa,EACb,aAAa,EACb,OAAO,EACP,UAAU,GACX,MAAM,eAAe,CAAA;AAItB,SAAS,WAAW,CAAC,EAAE,QAAQ,EAAmB;IAChD,OAAO,oBAAC,UAAU,IAAC,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,IAAG,QAAQ,CAAc,CAAA;AAClE,CAAC;AACD,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EACjC,WAAW,GAGZ;IACC,OAAO,CACL,oBAAC,MAAM,IAAC,IAAI,QAAC,QAAQ,EAAC,IAAI,EAAC,OAAO,EAAE,WAAW,EAAE,KAAK,EAAC,MAAM;QAC3D,oBAAC,aAAa;YACZ,oBAAC,WAAW;;gBAEV;oBACE,+LAIK;oBACL,uLAIK;oBACL,wPAKK;oBACL,8PAKK;oBACL,+RAKK,CACF,CACO;YACd,oBAAC,WAAW,2MAIE,CACA;QAChB,oBAAC,OAAO,OAAG;QACX,oBAAC,aAAa;YACZ,oBAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"HelpDialog.js","sourceRoot":"","sources":["../../../src/LaunchProteinView/components/HelpDialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzC,OAAO,EACL,MAAM,EACN,aAAa,EACb,aAAa,EACb,OAAO,EACP,UAAU,GACX,MAAM,eAAe,CAAA;AAItB,SAAS,WAAW,CAAC,EAAE,QAAQ,EAAmB;IAChD,OAAO,oBAAC,UAAU,IAAC,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,IAAG,QAAQ,CAAc,CAAA;AAClE,CAAC;AACD,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EACjC,WAAW,GAGZ;IACC,OAAO,CACL,oBAAC,MAAM,IAAC,IAAI,QAAC,QAAQ,EAAC,IAAI,EAAC,OAAO,EAAE,WAAW,EAAE,KAAK,EAAC,MAAM;QAC3D,oBAAC,aAAa;YACZ,oBAAC,WAAW;;gBAEV;oBACE,+LAIK;oBACL,uLAIK;oBACL,wPAKK;oBACL,8PAKK;oBACL,+RAKK,CACF,CACO;YACd,oBAAC,WAAW,2MAIE,CACA;QAChB,oBAAC,OAAO,OAAG;QACX,oBAAC,aAAa;YACZ,oBAAC,MAAM,IAAC,OAAO,EAAE,WAAW,EAAE,KAAK,EAAC,SAAS,YAEpC,CACK,CACT,CACV,CAAA;AACH,CAAC"}
|
|
@@ -13,9 +13,7 @@ export default function LaunchProteinViewDialog({ handleClose, feature, model, }
|
|
|
13
13
|
const [alignmentAlgorithm, setAlignmentAlgorithm] = useLocalStorage('jbrowse-protein3d-alignment-algorithm', DEFAULT_ALIGNMENT_ALGORITHM);
|
|
14
14
|
return (React.createElement(Dialog, { maxWidth: "xl", title: "Launch protein view", titleNode: React.createElement(React.Fragment, null,
|
|
15
15
|
"Launch protein view ",
|
|
16
|
-
React.createElement(HelpButton, null)), open: true, onClose:
|
|
17
|
-
handleClose();
|
|
18
|
-
} },
|
|
16
|
+
React.createElement(HelpButton, null)), open: true, onClose: handleClose },
|
|
19
17
|
React.createElement(Tabs, { value: choice, onChange: (_, val) => {
|
|
20
18
|
setChoice(val);
|
|
21
19
|
} },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LaunchProteinViewDialog.js","sourceRoot":"","sources":["../../../src/LaunchProteinView/components/LaunchProteinViewDialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEvC,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AAEzC,OAAO,iBAAiB,MAAM,qBAAqB,CAAA;AACnD,OAAO,cAAc,MAAM,kBAAkB,CAAA;AAC7C,OAAO,UAAU,MAAM,cAAc,CAAA;AACrC,OAAO,QAAQ,MAAM,YAAY,CAAA;AACjC,OAAO,qBAAqB,MAAM,yBAAyB,CAAA;AAC3D,OAAO,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAA;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAK1D,MAAM,CAAC,OAAO,UAAU,uBAAuB,CAAC,EAC9C,WAAW,EACX,OAAO,EACP,KAAK,GAKN;IACC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IACvC,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAC/C,eAAe,CACb,uCAAuC,EACvC,2BAA2B,CAC5B,CAAA;IAEH,OAAO,CACL,oBAAC,MAAM,IACL,QAAQ,EAAC,IAAI,EACb,KAAK,EAAC,qBAAqB,EAC3B,SAAS,EACP;;YACsB,oBAAC,UAAU,OAAG,CACjC,EAEL,IAAI,QACJ,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"LaunchProteinViewDialog.js","sourceRoot":"","sources":["../../../src/LaunchProteinView/components/LaunchProteinViewDialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEvC,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AAEzC,OAAO,iBAAiB,MAAM,qBAAqB,CAAA;AACnD,OAAO,cAAc,MAAM,kBAAkB,CAAA;AAC7C,OAAO,UAAU,MAAM,cAAc,CAAA;AACrC,OAAO,QAAQ,MAAM,YAAY,CAAA;AACjC,OAAO,qBAAqB,MAAM,yBAAyB,CAAA;AAC3D,OAAO,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAA;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAK1D,MAAM,CAAC,OAAO,UAAU,uBAAuB,CAAC,EAC9C,WAAW,EACX,OAAO,EACP,KAAK,GAKN;IACC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IACvC,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAC/C,eAAe,CACb,uCAAuC,EACvC,2BAA2B,CAC5B,CAAA;IAEH,OAAO,CACL,oBAAC,MAAM,IACL,QAAQ,EAAC,IAAI,EACb,KAAK,EAAC,qBAAqB,EAC3B,SAAS,EACP;;YACsB,oBAAC,UAAU,OAAG,CACjC,EAEL,IAAI,QACJ,OAAO,EAAE,WAAW;QAEpB,oBAAC,IAAI,IACH,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE;gBACnB,SAAS,CAAC,GAAG,CAAC,CAAA;YAChB,CAAC;YAED,oBAAC,GAAG,IAAC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAC,oBAAoB,GAAG;YAC5C,oBAAC,GAAG,IAAC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAC,iBAAiB,GAAG;YACzC,oBAAC,GAAG,IAAC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAC,oBAAoB,GAAG,CACvC;QACP,oBAAC,QAAQ,IAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;YAC/B,oBAAC,iBAAiB,IAChB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,WAAW,EACxB,kBAAkB,EAAE,kBAAkB,EACtC,0BAA0B,EAAE,qBAAqB,GACjD,CACO;QACX,oBAAC,QAAQ,IAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;YAC/B,oBAAC,cAAc,IACb,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,WAAW,GACxB,CACO;QACX,oBAAC,QAAQ,IAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;YAC/B,oBAAC,qBAAqB,IACpB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,WAAW,EACxB,kBAAkB,EAAE,kBAAkB,EACtC,0BAA0B,EAAE,qBAAqB,GACjD,CACO,CACJ,CACV,CAAA;AACH,CAAC"}
|
|
@@ -32,58 +32,6 @@ export default function ProteinViewActions({ handleClose, uniprotId, userSelecte
|
|
|
32
32
|
});
|
|
33
33
|
handleClose();
|
|
34
34
|
};
|
|
35
|
-
const handleLaunch1DView = async () => {
|
|
36
|
-
setDialogOpen(false);
|
|
37
|
-
if (!uniprotId || !selectedTranscript) {
|
|
38
|
-
return;
|
|
39
|
-
}
|
|
40
|
-
try {
|
|
41
|
-
await launch1DProteinView({
|
|
42
|
-
session,
|
|
43
|
-
view,
|
|
44
|
-
feature,
|
|
45
|
-
selectedTranscript,
|
|
46
|
-
uniprotId,
|
|
47
|
-
confidenceUrl,
|
|
48
|
-
});
|
|
49
|
-
}
|
|
50
|
-
catch (e) {
|
|
51
|
-
console.error(e);
|
|
52
|
-
session.notifyError(`${e}`, e);
|
|
53
|
-
}
|
|
54
|
-
handleClose();
|
|
55
|
-
};
|
|
56
|
-
const handleLaunchMSAView = () => {
|
|
57
|
-
setDialogOpen(false);
|
|
58
|
-
if (!selectedTranscript || !uniprotId) {
|
|
59
|
-
return;
|
|
60
|
-
}
|
|
61
|
-
launchMsaView({
|
|
62
|
-
session,
|
|
63
|
-
view,
|
|
64
|
-
feature,
|
|
65
|
-
selectedTranscript,
|
|
66
|
-
uniprotId,
|
|
67
|
-
});
|
|
68
|
-
handleClose();
|
|
69
|
-
};
|
|
70
|
-
const handleLaunch3DWithMsa = () => {
|
|
71
|
-
setDialogOpen(false);
|
|
72
|
-
if (!selectedTranscript || !uniprotId) {
|
|
73
|
-
return;
|
|
74
|
-
}
|
|
75
|
-
launch3DProteinViewWithMsa({
|
|
76
|
-
session,
|
|
77
|
-
view,
|
|
78
|
-
feature,
|
|
79
|
-
selectedTranscript,
|
|
80
|
-
uniprotId,
|
|
81
|
-
url,
|
|
82
|
-
userProvidedTranscriptSequence: userSelectedProteinSequence?.seq,
|
|
83
|
-
alignmentAlgorithm,
|
|
84
|
-
});
|
|
85
|
-
handleClose();
|
|
86
|
-
};
|
|
87
35
|
return (React.createElement(React.Fragment, null,
|
|
88
36
|
sequencesMatch === false ? (React.createElement(Typography, { variant: "body2", sx: { mr: 2, display: 'flex', alignItems: 'center' } },
|
|
89
37
|
"Transcript and structure sequences differ, will run",
|
|
@@ -92,9 +40,7 @@ export default function ProteinViewActions({ handleClose, uniprotId, userSelecte
|
|
|
92
40
|
' ',
|
|
93
41
|
"alignment",
|
|
94
42
|
React.createElement(AlignmentSettingsButton, { value: alignmentAlgorithm, onChange: onAlignmentAlgorithmChange }))) : null,
|
|
95
|
-
React.createElement(Button, { variant: "contained", color: "secondary", size: "small", onClick:
|
|
96
|
-
handleClose();
|
|
97
|
-
} }, "Cancel"),
|
|
43
|
+
React.createElement(Button, { variant: "contained", color: "secondary", size: "small", onClick: handleClose }, "Cancel"),
|
|
98
44
|
!canLaunch ? (React.createElement(Typography, { variant: "body2", color: "error", sx: { mr: 2 } }, missingReasons.join('. '))) : null,
|
|
99
45
|
React.createElement(ButtonGroup, { variant: "contained", color: "primary", size: "small" },
|
|
100
46
|
React.createElement(Button, { disabled: !canLaunch, onClick: handleLaunch3DView }, "Launch"),
|
|
@@ -112,21 +58,66 @@ export default function ProteinViewActions({ handleClose, uniprotId, userSelecte
|
|
|
112
58
|
React.createElement("div", null,
|
|
113
59
|
React.createElement(Typography, { variant: "body1" }, "Launch 3D protein structure view"),
|
|
114
60
|
React.createElement(Typography, { variant: "body2", color: "text.secondary" }, "View protein structure with genome-to-structure coordinate mapping"))),
|
|
115
|
-
React.createElement(MenuItem, { onClick: () => {
|
|
116
|
-
|
|
61
|
+
React.createElement(MenuItem, { onClick: async () => {
|
|
62
|
+
setDialogOpen(false);
|
|
63
|
+
if (!uniprotId || !selectedTranscript) {
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
try {
|
|
67
|
+
await launch1DProteinView({
|
|
68
|
+
session,
|
|
69
|
+
view,
|
|
70
|
+
feature,
|
|
71
|
+
selectedTranscript,
|
|
72
|
+
uniprotId,
|
|
73
|
+
confidenceUrl,
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
catch (e) {
|
|
117
77
|
console.error(e);
|
|
118
|
-
|
|
78
|
+
session.notifyError(`${e}`, e);
|
|
79
|
+
}
|
|
80
|
+
handleClose();
|
|
119
81
|
} },
|
|
120
82
|
React.createElement("div", null,
|
|
121
83
|
React.createElement(Typography, { variant: "body1" }, "Launch 1D protein annotation view"),
|
|
122
84
|
React.createElement(Typography, { variant: "body2", color: "text.secondary" }, "View protein features and annotations as a linear track"))),
|
|
123
85
|
hasMsaViewPlugin()
|
|
124
86
|
? [
|
|
125
|
-
React.createElement(MenuItem, { key: "msa", onClick:
|
|
87
|
+
React.createElement(MenuItem, { key: "msa", onClick: () => {
|
|
88
|
+
setDialogOpen(false);
|
|
89
|
+
if (!selectedTranscript || !uniprotId) {
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
launchMsaView({
|
|
93
|
+
session,
|
|
94
|
+
view,
|
|
95
|
+
feature,
|
|
96
|
+
selectedTranscript,
|
|
97
|
+
uniprotId,
|
|
98
|
+
});
|
|
99
|
+
handleClose();
|
|
100
|
+
} },
|
|
126
101
|
React.createElement("div", null,
|
|
127
102
|
React.createElement(Typography, { variant: "body1" }, "Launch MSA view"),
|
|
128
103
|
React.createElement(Typography, { variant: "body2", color: "text.secondary" }, "View AlphaFold a3m multiple sequence alignment"))),
|
|
129
|
-
React.createElement(MenuItem, { key: "3d-msa", onClick:
|
|
104
|
+
React.createElement(MenuItem, { key: "3d-msa", onClick: () => {
|
|
105
|
+
setDialogOpen(false);
|
|
106
|
+
if (!selectedTranscript || !uniprotId) {
|
|
107
|
+
return;
|
|
108
|
+
}
|
|
109
|
+
launch3DProteinViewWithMsa({
|
|
110
|
+
session,
|
|
111
|
+
view,
|
|
112
|
+
feature,
|
|
113
|
+
selectedTranscript,
|
|
114
|
+
uniprotId,
|
|
115
|
+
url,
|
|
116
|
+
userProvidedTranscriptSequence: userSelectedProteinSequence?.seq,
|
|
117
|
+
alignmentAlgorithm,
|
|
118
|
+
});
|
|
119
|
+
handleClose();
|
|
120
|
+
} },
|
|
130
121
|
React.createElement("div", null,
|
|
131
122
|
React.createElement(Typography, { variant: "body1" }, "Launch 3D structure + MSA view"),
|
|
132
123
|
React.createElement(Typography, { variant: "body2", color: "text.secondary" }, "Launch both views with AlphaFold a3m MSA"))),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProteinViewActions.js","sourceRoot":"","sources":["../../../src/LaunchProteinView/components/ProteinViewActions.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEvC,OAAO,iBAAiB,MAAM,mCAAmC,CAAA;AACjE,OAAO,EACL,MAAM,EACN,WAAW,EACX,MAAM,EACN,aAAa,EACb,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,UAAU,GACX,MAAM,eAAe,CAAA;AAEtB,OAAO,uBAAuB,MAAM,2BAA2B,CAAA;AAC/D,OAAO,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAA;AACpE,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,0BAA0B,EAC1B,aAAa,GACd,MAAM,0BAA0B,CAAA;AAsBjC,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,EACzC,WAAW,EACX,SAAS,EACT,2BAA2B,EAC3B,kBAAkB,EAClB,GAAG,EACH,aAAa,EACb,OAAO,EACP,IAAI,EACJ,OAAO,EACP,kBAAkB,EAClB,0BAA0B,EAC1B,cAAc,EACd,SAAS,GACe;IACxB,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IACnD,MAAM,SAAS,GACb,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,2BAA2B,IAAI,CAAC,CAAC,kBAAkB,CAAA;IAEtE,MAAM,cAAc,GAAG,SAAS;QAC9B,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC;YACE,CAAC,SAAS,IAAI,qBAAqB;YACnC,CAAC,2BAA2B;gBAC1B,6EAA6E;YAC/E,CAAC,kBAAkB,IAAI,wBAAwB;SAChD,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAErB,MAAM,kBAAkB,GAAG,GAAG,EAAE;QAC9B,aAAa,CAAC,KAAK,CAAC,CAAA;QACpB,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACxB,OAAM;QACR,CAAC;QACD,mBAAmB,CAAC;YAClB,OAAO;YACP,IAAI;YACJ,OAAO;YACP,kBAAkB;YAClB,SAAS;YACT,GAAG;YACH,8BAA8B,EAAE,2BAA2B,EAAE,GAAG;YAChE,kBAAkB;SACnB,CAAC,CAAA;QAEF,WAAW,EAAE,CAAA;IACf,CAAC,CAAA;IAED,
|
|
1
|
+
{"version":3,"file":"ProteinViewActions.js","sourceRoot":"","sources":["../../../src/LaunchProteinView/components/ProteinViewActions.tsx"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import type { Feature } from '@jbrowse/core/util';
|
|
|
3
3
|
export default function TranscriptSelector({ val, setVal, isoforms, isoformSequences, structureSequence, feature, disabled, }: {
|
|
4
4
|
isoforms: Feature[];
|
|
5
5
|
feature: Feature;
|
|
6
|
-
val: string;
|
|
6
|
+
val: string | undefined;
|
|
7
7
|
setVal: (str: string) => void;
|
|
8
8
|
structureSequence?: string;
|
|
9
9
|
isoformSequences: Record<string, {
|