jbrowse-plugin-protein3d 0.4.0 → 0.4.1

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 (58) hide show
  1. package/dist/LaunchProteinView/components/AlphaFoldDBSearch.js +1 -1
  2. package/dist/LaunchProteinView/components/AlphaFoldDBSearch.js.map +1 -1
  3. package/dist/LaunchProteinView/components/FoldseekActionMenu.js +17 -39
  4. package/dist/LaunchProteinView/components/FoldseekActionMenu.js.map +1 -1
  5. package/dist/LaunchProteinView/components/LaunchOptionsDialog.d.ts +13 -0
  6. package/dist/LaunchProteinView/components/LaunchOptionsDialog.js +12 -0
  7. package/dist/LaunchProteinView/components/LaunchOptionsDialog.js.map +1 -0
  8. package/dist/LaunchProteinView/components/ProteinViewActions.d.ts +7 -1
  9. package/dist/LaunchProteinView/components/ProteinViewActions.js +92 -112
  10. package/dist/LaunchProteinView/components/ProteinViewActions.js.map +1 -1
  11. package/dist/LaunchProteinView/components/SequenceMismatchNotice.d.ts +6 -0
  12. package/dist/LaunchProteinView/components/SequenceMismatchNotice.js +14 -0
  13. package/dist/LaunchProteinView/components/SequenceMismatchNotice.js.map +1 -0
  14. package/dist/LaunchProteinView/components/UserProvidedStructure.js +34 -38
  15. package/dist/LaunchProteinView/components/UserProvidedStructure.js.map +1 -1
  16. package/dist/LaunchProteinView/hooks/useAlphaFoldDBSearch.js +7 -3
  17. package/dist/LaunchProteinView/hooks/useAlphaFoldDBSearch.js.map +1 -1
  18. package/dist/LaunchProteinView/hooks/useDebouncedValue.d.ts +6 -0
  19. package/dist/LaunchProteinView/hooks/useDebouncedValue.js +19 -0
  20. package/dist/LaunchProteinView/hooks/useDebouncedValue.js.map +1 -0
  21. package/dist/LaunchProteinView/hooks/useIsoformProteinSequences.js +10 -1
  22. package/dist/LaunchProteinView/hooks/useIsoformProteinSequences.js.map +1 -1
  23. package/dist/LaunchProteinView/services/lookupMethods.js +23 -9
  24. package/dist/LaunchProteinView/services/lookupMethods.js.map +1 -1
  25. package/dist/LaunchProteinView/utils/launchHelpers.d.ts +27 -0
  26. package/dist/LaunchProteinView/utils/launchHelpers.js +31 -0
  27. package/dist/LaunchProteinView/utils/launchHelpers.js.map +1 -0
  28. package/dist/LaunchProteinView/utils/launchViewUtils.d.ts +3 -1
  29. package/dist/LaunchProteinView/utils/launchViewUtils.js +20 -41
  30. package/dist/LaunchProteinView/utils/launchViewUtils.js.map +1 -1
  31. package/dist/LaunchProteinViewExtensionPoint/index.js +4 -0
  32. package/dist/LaunchProteinViewExtensionPoint/index.js.map +1 -1
  33. package/dist/ProteinView/structureModel.js +27 -42
  34. package/dist/ProteinView/structureModel.js.map +1 -1
  35. package/dist/ProteinView/subscribeMolstarInteraction.d.ts +19 -0
  36. package/dist/ProteinView/subscribeMolstarInteraction.js +32 -0
  37. package/dist/ProteinView/subscribeMolstarInteraction.js.map +1 -0
  38. package/dist/jbrowse-plugin-protein3d.umd.production.min.js +15 -15
  39. package/dist/jbrowse-plugin-protein3d.umd.production.min.js.map +4 -4
  40. package/dist/version.d.ts +1 -1
  41. package/dist/version.js +1 -1
  42. package/package.json +1 -1
  43. package/src/LaunchProteinView/components/AlphaFoldDBSearch.tsx +1 -0
  44. package/src/LaunchProteinView/components/FoldseekActionMenu.tsx +20 -41
  45. package/src/LaunchProteinView/components/LaunchOptionsDialog.tsx +47 -0
  46. package/src/LaunchProteinView/components/ProteinViewActions.tsx +114 -163
  47. package/src/LaunchProteinView/components/SequenceMismatchNotice.tsx +32 -0
  48. package/src/LaunchProteinView/components/UserProvidedStructure.tsx +45 -42
  49. package/src/LaunchProteinView/hooks/useAlphaFoldDBSearch.ts +7 -3
  50. package/src/LaunchProteinView/hooks/useDebouncedValue.ts +19 -0
  51. package/src/LaunchProteinView/hooks/useIsoformProteinSequences.ts +10 -1
  52. package/src/LaunchProteinView/services/lookupMethods.ts +23 -8
  53. package/src/LaunchProteinView/utils/launchHelpers.ts +55 -0
  54. package/src/LaunchProteinView/utils/launchViewUtils.ts +30 -44
  55. package/src/LaunchProteinViewExtensionPoint/index.ts +4 -0
  56. package/src/ProteinView/structureModel.ts +27 -56
  57. package/src/ProteinView/subscribeMolstarInteraction.ts +55 -0
  58. package/src/version.ts +1 -1
@@ -67,7 +67,7 @@ const AlphaFoldDBSearch = observer(function AlphaFoldDBSearch({ feature, model,
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 }))))),
69
69
  React.createElement(DialogActions, null,
70
- React.createElement(ProteinViewActions, { handleClose: handleClose, uniprotId: state.uniprotId, userSelectedProteinSequence: state.userSelectedProteinSequence, selectedTranscript: state.selectedTranscript, url: state.url, confidenceUrl: state.confidenceUrl, feature: feature, view: view, session: session, alignmentAlgorithm: alignmentAlgorithm, onAlignmentAlgorithmChange: onAlignmentAlgorithmChange, sequencesMatch: state.sequencesMatch, isLoading: state.isLoading }))));
70
+ React.createElement(ProteinViewActions, { handleClose: handleClose, uniprotId: state.uniprotId, userSelectedProteinSequence: state.userSelectedProteinSequence, selectedTranscript: state.selectedTranscript, url: state.url, confidenceUrl: state.confidenceUrl, feature: feature, view: view, session: session, alignmentAlgorithm: alignmentAlgorithm, onAlignmentAlgorithmChange: onAlignmentAlgorithmChange, sequencesMatch: state.sequencesMatch, isLoading: state.isLoading, error: state.error }))));
71
71
  });
72
72
  export default AlphaFoldDBSearch;
73
73
  //# sourceMappingURL=AlphaFoldDBSearch.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AlphaFoldDBSearch.js","sourceRoot":"","sources":["../../../src/LaunchProteinView/components/AlphaFoldDBSearch.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAChE,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAClE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AACxE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAE1C,OAAO,uBAAuB,MAAM,2BAA2B,CAAA;AAC/D,OAAO,sBAAsB,MAAM,0BAA0B,CAAA;AAC7D,OAAO,kBAAkB,MAAM,sBAAsB,CAAA;AACrD,OAAO,kBAAkB,MAAM,sBAAsB,CAAA;AACrD,OAAO,oBAAoB,MAAM,wBAAwB,CAAA;AACzD,OAAO,kBAAkB,MAAM,sBAAsB,CAAA;AACrD,OAAO,cAAc,MAAM,kBAAkB,CAAA;AAC7C,OAAO,mBAAmB,MAAM,uBAAuB,CAAA;AACvD,OAAO,YAAY,MAAM,+BAA+B,CAAA;AACxD,OAAO,oBAAoB,MAAM,+BAA+B,CAAA;AAMhE,MAAM,SAAS,GAAG,UAAU,EAAE,CAAC;IAC7B,aAAa,EAAE;QACb,KAAK,EAAE,MAAM;QACb,OAAO,EAAE;YACP,YAAY,EAAE,EAAE;SACjB;QACD,kBAAkB,EAAE;YAClB,YAAY,EAAE,CAAC;SAChB;KACF;IACD,YAAY,EAAE;QACZ,OAAO,EAAE,MAAM;QACf,aAAa,EAAE,KAAK;QACpB,GAAG,EAAE,EAAE;QACP,UAAU,EAAE,YAAY;KACzB;CACF,CAAC,CAAA;AAEF,MAAM,iBAAiB,GAAG,QAAQ,CAAC,SAAS,iBAAiB,CAAC,EAC5D,OAAO,EACP,KAAK,EACL,WAAW,EACX,kBAAkB,EAClB,0BAA0B,GAO3B;IACC,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,EAAE,CAAA;IAC/B,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;IACjC,MAAM,IAAI,GAAG,iBAAiB,CAAC,KAAK,CAA0B,CAAA;IAE9D,MAAM,KAAK,GAAG,oBAAoB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;IAErD,OAAO,CACL;QACE,oBAAC,aAAa,IAAC,SAAS,EAAE,OAAO,CAAC,aAAa;YAC5C,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,oBAAC,YAAY,IAAC,KAAK,EAAE,KAAK,CAAC,KAAK,GAAI,CAAC,CAAC,CAAC,IAAI;YAE1D,oBAAC,cAAc,IACb,UAAU,EAAE,KAAK,CAAC,UAAU,EAC5B,kBAAkB,EAAE,KAAK,CAAC,aAAa,EACvC,eAAe,EAAE,KAAK,CAAC,eAAe,EACtC,uBAAuB,EAAE,KAAK,CAAC,kBAAkB,EACjD,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,EACxC,kBAAkB,EAAE,CAAC,CAAC,KAAK,CAAC,2BAA2B,EAAE,GAAG,EAC5D,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,EAC5C,0BAA0B,EAAE,KAAK,CAAC,qBAAqB,EACvD,UAAU,EACR,KAAK,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAC7B,oBAAC,kBAAkB,IACjB,aAAa,EAAE,KAAK,CAAC,aAAa,EAClC,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,UAAU,EAAE,KAAK,CAAC,eAAe,EACjC,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,GAC5C,CACH,CAAC,CAAC,CAAC,IAAI,GAEV;YAED,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CACnC,oBAAC,eAAe,IAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAC,WAAW,EAAC,OAAO,EAAE,MAAM,GAAI,CACtE,CAAC;YAED,KAAK,CAAC,kBAAkB,IAAI,CAC3B;gBACE,oBAAC,UAAU,IAAC,OAAO,EAAC,OAAO,EAAC,KAAK,EAAC,eAAe;;oBAC1B,KAAK,CAAC,iBAAiB,CACjC;gBACb,oBAAC,mBAAmB,IAClB,OAAO,EAAE,KAAK,CAAC,cAAc,EAC7B,iBAAiB,EAAE,KAAK,CAAC,sBAAsB,EAC/C,QAAQ,EAAE,KAAK,CAAC,oBAAoB,GACpC;gBACF,oBAAC,UAAU,IAAC,OAAO,EAAC,OAAO,EAAC,KAAK,EAAC,eAAe;;oBAEpB,GAAG;oBAC9B,oBAAC,YAAY,IAAC,IAAI,EAAC,0BAA0B,cAE9B;oBAAC,GAAG;2DAER,CACZ,CACJ;YAEA,KAAK,CAAC,aAAa,IAAI,CACtB,oBAAC,UAAU,IAAC,OAAO,EAAC,OAAO,EAAC,KAAK,EAAC,eAAe;;gBACjB,KAAK,CAAC,mBAAmB;;gBACjB,GAAG;gBACzC,oBAAC,YAAY,IAAC,IAAI,EAAC,0BAA0B,cAAuB;gBAAC,GAAG;8HAG7D,CACd;YAEA,KAAK,CAAC,sBAAsB,IAAI,CAC/B;gBACE,6BAAK,SAAS,EAAE,OAAO,CAAC,YAAY;oBAClC,oBAAC,kBAAkB,IACjB,GAAG,EAAE,KAAK,CAAC,aAAa,EACxB,MAAM,EAAE,KAAK,CAAC,gBAAgB,EAC9B,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,EAC1C,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,KAAK,CAAC,iBAAiB,EACjC,gBAAgB,EAAE,KAAK,CAAC,gBAAiB,GACzC;oBACD,KAAK,CAAC,0BAA0B,IAAI,CACnC,oBAAC,sBAAsB,IACrB,WAAW,EAAE,KAAK,CAAC,WAAY,EAC/B,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,EAC5C,iBAAiB,EAAE,KAAK,CAAC,qBAAqB,GAC9C,CACH,CACG;gBACL,KAAK,CAAC,wBAAwB,IAAI,CACjC,oBAAC,oBAAoB,IACnB,SAAS,EAAE,KAAK,CAAC,uBAAuB,EACxC,SAAS,EAAE,KAAK,CAAC,SAAS,EAC1B,GAAG,EAAE,KAAK,CAAC,GAAG,EACd,kBAAkB,EAAE,CAAC,CAAC,KAAK,CAAC,2BAA2B,EACvD,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,GAC5C,CACH;gBACA,KAAK,CAAC,2BAA2B,IAAI,CACpC,oBAAC,uBAAuB,IACtB,SAAS,EAAE,KAAK,CAAC,SAAS,EAC1B,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,EAC5C,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,EAC1C,gBAAgB,EAAE,KAAK,CAAC,gBAAiB,EACzC,GAAG,EAAE,KAAK,CAAC,GAAG,GACd,CACH,CACA,CACJ,CACa;QAChB,oBAAC,aAAa;YACZ,oBAAC,kBAAkB,IACjB,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,KAAK,CAAC,SAAS,EAC1B,2BAA2B,EAAE,KAAK,CAAC,2BAA2B,EAC9D,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,EAC5C,GAAG,EAAE,KAAK,CAAC,GAAG,EACd,aAAa,EAAE,KAAK,CAAC,aAAa,EAClC,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,OAAO,EAChB,kBAAkB,EAAE,kBAAkB,EACtC,0BAA0B,EAAE,0BAA0B,EACtD,cAAc,EAAE,KAAK,CAAC,cAAc,EACpC,SAAS,EAAE,KAAK,CAAC,SAAS,GAC1B,CACY,CACf,CACJ,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,eAAe,iBAAiB,CAAA"}
1
+ {"version":3,"file":"AlphaFoldDBSearch.js","sourceRoot":"","sources":["../../../src/LaunchProteinView/components/AlphaFoldDBSearch.tsx"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import React, { useState } from 'react';
2
2
  import { Button, Menu, MenuItem } from '@mui/material';
3
3
  import { caCoordsToPdb, hasValidCaCoords } from '../utils/caCoordsToPdb';
4
+ import { safeLaunch } from '../utils/launchHelpers';
4
5
  import { getConfidenceUrlFromTarget, getUniprotIdFromAlphaFoldTarget, hasMsaViewPlugin, launch1DProteinView, launch3DProteinView, launchMsaView, } from '../utils/launchViewUtils';
5
6
  export default function FoldseekActionMenu({ hit, session, view, feature, selectedTranscript, userProvidedTranscriptSequence, onClose, }) {
6
7
  const [anchorEl, setAnchorEl] = useState(null);
@@ -12,53 +13,32 @@ export default function FoldseekActionMenu({ hit, session, view, feature, select
12
13
  const handleMenuClose = () => {
13
14
  setAnchorEl(null);
14
15
  };
15
- const handleLaunch3D = () => {
16
+ const baseParams = { session, view, feature, selectedTranscript, uniprotId };
17
+ const runLaunch = (fn) => () => {
16
18
  handleMenuClose();
19
+ void safeLaunch(session, fn, onClose);
20
+ };
21
+ const handleLaunch3D = runLaunch(() => {
17
22
  // Use tCa coordinates to generate PDB data if no URL is available
18
23
  const pdbData = !hit.structureUrl && hasValidCaCoords(hit.tCa, hit.tSeq)
19
24
  ? caCoordsToPdb(hit.tCa, hit.tSeq, 'A', hit.target)
20
25
  : undefined;
21
26
  launch3DProteinView({
22
- session,
23
- view,
24
- feature,
25
- selectedTranscript,
26
- uniprotId,
27
+ ...baseParams,
27
28
  url: hit.structureUrl,
28
29
  data: pdbData,
29
30
  userProvidedTranscriptSequence,
30
31
  });
31
- onClose();
32
- };
33
- const handleLaunch1D = async () => {
34
- handleMenuClose();
35
- try {
36
- await launch1DProteinView({
37
- session,
38
- view,
39
- feature,
40
- selectedTranscript,
41
- uniprotId,
42
- confidenceUrl: getConfidenceUrlFromTarget(hit.target),
43
- });
44
- }
45
- catch (e) {
46
- console.error(e);
47
- session.notifyError(`${e}`, e);
48
- }
49
- onClose();
50
- };
51
- const handleLaunchMSA = () => {
52
- handleMenuClose();
53
- launchMsaView({
54
- session,
55
- view,
56
- feature,
57
- selectedTranscript,
58
- uniprotId,
32
+ });
33
+ const handleLaunch1D = runLaunch(async () => {
34
+ await launch1DProteinView({
35
+ ...baseParams,
36
+ confidenceUrl: getConfidenceUrlFromTarget(hit.target),
59
37
  });
60
- onClose();
61
- };
38
+ });
39
+ const handleLaunchMSA = runLaunch(() => {
40
+ launchMsaView(baseParams);
41
+ });
62
42
  const canLoad = hit.structureUrl ?? hasValidCaCoords(hit.tCa, hit.tSeq);
63
43
  if (!canLoad) {
64
44
  return React.createElement("span", null, "-");
@@ -67,9 +47,7 @@ export default function FoldseekActionMenu({ hit, session, view, feature, select
67
47
  React.createElement(Button, { size: "small", variant: "outlined", onClick: handleClick }, "Load"),
68
48
  React.createElement(Menu, { anchorEl: anchorEl, open: open, onClose: handleMenuClose },
69
49
  React.createElement(MenuItem, { onClick: handleLaunch3D }, "Launch 3D protein view"),
70
- uniprotId ? (React.createElement(MenuItem, { onClick: () => {
71
- void handleLaunch1D();
72
- } }, "Launch 1D protein annotation view")) : null,
50
+ uniprotId ? (React.createElement(MenuItem, { onClick: handleLaunch1D }, "Launch 1D protein annotation view")) : null,
73
51
  uniprotId && hasMsaViewPlugin() ? (React.createElement(MenuItem, { onClick: handleLaunchMSA }, "Launch MSA view (AlphaFoldDB a3m)")) : null)));
74
52
  }
75
53
  //# sourceMappingURL=FoldseekActionMenu.js.map
@@ -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":"AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEvC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAEtD,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AACnD,OAAO,EACL,0BAA0B,EAC1B,+BAA+B,EAC/B,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,aAAa,GACd,MAAM,0BAA0B,CAAA;AAWjC,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,EACzC,GAAG,EACH,OAAO,EACP,IAAI,EACJ,OAAO,EACP,kBAAkB,EAClB,8BAA8B,EAC9B,OAAO,GASR;IACC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAqB,IAAI,CAAC,CAAA;IAClE,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;IAE9B,MAAM,SAAS,GAAG,+BAA+B,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IAE7D,MAAM,WAAW,GAAG,CAAC,KAA0C,EAAE,EAAE;QACjE,WAAW,CAAC,KAAK,CAAC,aAAa,CAAC,CAAA;IAClC,CAAC,CAAA;IAED,MAAM,eAAe,GAAG,GAAG,EAAE;QAC3B,WAAW,CAAC,IAAI,CAAC,CAAA;IACnB,CAAC,CAAA;IAED,MAAM,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,CAAA;IAE5E,MAAM,SAAS,GAAG,CAAC,EAA8B,EAAE,EAAE,CAAC,GAAG,EAAE;QACzD,eAAe,EAAE,CAAA;QACjB,KAAK,UAAU,CAAC,OAAO,EAAE,EAAE,EAAE,OAAO,CAAC,CAAA;IACvC,CAAC,CAAA;IAED,MAAM,cAAc,GAAG,SAAS,CAAC,GAAG,EAAE;QACpC,kEAAkE;QAClE,MAAM,OAAO,GACX,CAAC,GAAG,CAAC,YAAY,IAAI,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC;YACtD,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,GAAI,EAAE,GAAG,CAAC,IAAK,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC;YACrD,CAAC,CAAC,SAAS,CAAA;QACf,mBAAmB,CAAC;YAClB,GAAG,UAAU;YACb,GAAG,EAAE,GAAG,CAAC,YAAY;YACrB,IAAI,EAAE,OAAO;YACb,8BAA8B;SAC/B,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,MAAM,cAAc,GAAG,SAAS,CAAC,KAAK,IAAI,EAAE;QAC1C,MAAM,mBAAmB,CAAC;YACxB,GAAG,UAAU;YACb,aAAa,EAAE,0BAA0B,CAAC,GAAG,CAAC,MAAM,CAAC;SACtD,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,MAAM,eAAe,GAAG,SAAS,CAAC,GAAG,EAAE;QACrC,aAAa,CAAC,UAAU,CAAC,CAAA;IAC3B,CAAC,CAAC,CAAA;IAEF,MAAM,OAAO,GAAG,GAAG,CAAC,YAAY,IAAI,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,CAAA;IACvE,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,sCAAc,CAAA;IACvB,CAAC;IAED,OAAO,CACL;QACE,oBAAC,MAAM,IAAC,IAAI,EAAC,OAAO,EAAC,OAAO,EAAC,UAAU,EAAC,OAAO,EAAE,WAAW,WAEnD;QACT,oBAAC,IAAI,IAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,eAAe;YAC5D,oBAAC,QAAQ,IAAC,OAAO,EAAE,cAAc,6BAAmC;YACnE,SAAS,CAAC,CAAC,CAAC,CACX,oBAAC,QAAQ,IAAC,OAAO,EAAE,cAAc,wCAEtB,CACZ,CAAC,CAAC,CAAC,IAAI;YACP,SAAS,IAAI,gBAAgB,EAAE,CAAC,CAAC,CAAC,CACjC,oBAAC,QAAQ,IAAC,OAAO,EAAE,eAAe,wCAEvB,CACZ,CAAC,CAAC,CAAC,IAAI,CACH,CACN,CACJ,CAAA;AACH,CAAC"}
@@ -0,0 +1,13 @@
1
+ import React from 'react';
2
+ interface LaunchOption {
3
+ key: string;
4
+ title: string;
5
+ description: string;
6
+ onClick: () => void;
7
+ }
8
+ export default function LaunchOptionsDialog({ open, onClose, options, }: {
9
+ open: boolean;
10
+ onClose: () => void;
11
+ options: LaunchOption[];
12
+ }): React.JSX.Element;
13
+ export {};
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ import { Dialog, DialogContent, DialogTitle, MenuItem, MenuList, Typography, } from '@mui/material';
3
+ export default function LaunchOptionsDialog({ open, onClose, options, }) {
4
+ return (React.createElement(Dialog, { open: open, onClose: onClose },
5
+ React.createElement(DialogTitle, null, "Launch options"),
6
+ React.createElement(DialogContent, null,
7
+ React.createElement(MenuList, null, options.map(opt => (React.createElement(MenuItem, { key: opt.key, onClick: opt.onClick },
8
+ React.createElement("div", null,
9
+ React.createElement(Typography, { variant: "body1" }, opt.title),
10
+ React.createElement(Typography, { variant: "body2", color: "text.secondary" }, opt.description)))))))));
11
+ }
12
+ //# sourceMappingURL=LaunchOptionsDialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LaunchOptionsDialog.js","sourceRoot":"","sources":["../../../src/LaunchProteinView/components/LaunchOptionsDialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EACL,MAAM,EACN,aAAa,EACb,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,UAAU,GACX,MAAM,eAAe,CAAA;AAStB,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,EAC1C,IAAI,EACJ,OAAO,EACP,OAAO,GAKR;IACC,OAAO,CACL,oBAAC,MAAM,IAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO;QAClC,oBAAC,WAAW,yBAA6B;QACzC,oBAAC,aAAa;YACZ,oBAAC,QAAQ,QACN,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAClB,oBAAC,QAAQ,IAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO;gBAC1C;oBACE,oBAAC,UAAU,IAAC,OAAO,EAAC,OAAO,IAAE,GAAG,CAAC,KAAK,CAAc;oBACpD,oBAAC,UAAU,IAAC,OAAO,EAAC,OAAO,EAAC,KAAK,EAAC,gBAAgB,IAC/C,GAAG,CAAC,WAAW,CACL,CACT,CACG,CACZ,CAAC,CACO,CACG,CACT,CACV,CAAA;AACH,CAAC"}
@@ -18,6 +18,12 @@ interface ProteinViewActionsProps {
18
18
  onAlignmentAlgorithmChange: (algorithm: AlignmentAlgorithm) => void;
19
19
  sequencesMatch?: boolean;
20
20
  isLoading?: boolean;
21
+ /**
22
+ * Real error from the lookup/data pipeline. When present, "No UniProt ID
23
+ * found" is suppressed so it doesn't compete with the actual error message
24
+ * shown above by <ErrorMessage>.
25
+ */
26
+ error?: unknown;
21
27
  }
22
- export default function ProteinViewActions({ handleClose, uniprotId, userSelectedProteinSequence, selectedTranscript, url, confidenceUrl, feature, view, session, alignmentAlgorithm, onAlignmentAlgorithmChange, sequencesMatch, isLoading, }: ProteinViewActionsProps): React.JSX.Element;
28
+ export default function ProteinViewActions({ handleClose, uniprotId, userSelectedProteinSequence, selectedTranscript, url, confidenceUrl, feature, view, session, alignmentAlgorithm, onAlignmentAlgorithmChange, sequencesMatch, isLoading, error, }: ProteinViewActionsProps): React.JSX.Element;
23
29
  export {};
@@ -1,127 +1,107 @@
1
1
  import React, { useState } from 'react';
2
2
  import ArrowDropDownIcon from '@mui/icons-material/ArrowDropDown';
3
- import { Button, ButtonGroup, Dialog, DialogContent, DialogTitle, MenuItem, MenuList, Typography, } from '@mui/material';
4
- import AlignmentSettingsButton from './AlignmentSettingsButton';
5
- import { ALIGNMENT_ALGORITHM_LABELS } from '../../ProteinView/types';
3
+ import { Button, ButtonGroup, Typography } from '@mui/material';
4
+ import LaunchOptionsDialog from './LaunchOptionsDialog';
5
+ import SequenceMismatchNotice from './SequenceMismatchNotice';
6
+ import { getLaunchMissingReasons, safeLaunch, } from '../utils/launchHelpers';
6
7
  import { hasMsaViewPlugin, launch1DProteinView, launch3DProteinView, launch3DProteinViewWithMsa, launchMsaView, } from '../utils/launchViewUtils';
7
- export default function ProteinViewActions({ handleClose, uniprotId, userSelectedProteinSequence, selectedTranscript, url, confidenceUrl, feature, view, session, alignmentAlgorithm, onAlignmentAlgorithmChange, sequencesMatch, isLoading, }) {
8
+ export default function ProteinViewActions({ handleClose, uniprotId, userSelectedProteinSequence, selectedTranscript, url, confidenceUrl, feature, view, session, alignmentAlgorithm, onAlignmentAlgorithmChange, sequencesMatch, isLoading, error, }) {
8
9
  const [dialogOpen, setDialogOpen] = useState(false);
9
- const canLaunch = !!uniprotId && !!userSelectedProteinSequence && !!selectedTranscript;
10
- const missingReasons = isLoading
11
- ? []
12
- : [
13
- !uniprotId && 'No UniProt ID found',
14
- !userSelectedProteinSequence &&
15
- 'Could not compute protein sequence (feature may be missing CDS subfeatures)',
16
- !selectedTranscript && 'No transcript selected',
17
- ].filter(Boolean);
18
- const handleLaunch3DView = () => {
10
+ // Disable launch while loading SWR's keepPreviousData would otherwise let
11
+ // a user click Launch on stale results (wrong UniProt ID) during a refetch.
12
+ const canLaunch = !isLoading &&
13
+ !!uniprotId &&
14
+ !!userSelectedProteinSequence &&
15
+ !!selectedTranscript;
16
+ const missingReasons = getLaunchMissingReasons({
17
+ uniprotId,
18
+ userSelectedProteinSequence,
19
+ selectedTranscript,
20
+ isLoading,
21
+ error,
22
+ });
23
+ const closeMenu = () => {
19
24
  setDialogOpen(false);
20
- if (!selectedTranscript) {
21
- return;
22
- }
23
- launch3DProteinView({
24
- session,
25
- view,
26
- feature,
27
- selectedTranscript,
28
- uniprotId,
29
- url,
30
- userProvidedTranscriptSequence: userSelectedProteinSequence?.seq,
31
- alignmentAlgorithm,
32
- });
33
- handleClose();
34
25
  };
26
+ const baseParams = {
27
+ session,
28
+ view,
29
+ feature,
30
+ selectedTranscript,
31
+ uniprotId,
32
+ };
33
+ const launch3DParams = {
34
+ ...baseParams,
35
+ url,
36
+ userProvidedTranscriptSequence: userSelectedProteinSequence?.seq,
37
+ alignmentAlgorithm,
38
+ };
39
+ const runLaunch = (fn) => () => {
40
+ closeMenu();
41
+ void safeLaunch(session, fn, handleClose);
42
+ };
43
+ const handleLaunch3DView = runLaunch(() => {
44
+ if (selectedTranscript) {
45
+ launch3DProteinView(launch3DParams);
46
+ }
47
+ });
48
+ const handleLaunch1DView = runLaunch(async () => {
49
+ if (uniprotId && selectedTranscript) {
50
+ await launch1DProteinView({ ...baseParams, confidenceUrl });
51
+ }
52
+ });
53
+ const handleLaunchMsa = runLaunch(() => {
54
+ if (selectedTranscript && uniprotId) {
55
+ launchMsaView(baseParams);
56
+ }
57
+ });
58
+ const handleLaunch3DWithMsa = runLaunch(() => {
59
+ if (selectedTranscript && uniprotId) {
60
+ launch3DProteinViewWithMsa(launch3DParams);
61
+ }
62
+ });
63
+ const launchOptions = [
64
+ {
65
+ key: '3d',
66
+ title: 'Launch 3D protein structure view',
67
+ description: 'View protein structure with genome-to-structure coordinate mapping',
68
+ onClick: handleLaunch3DView,
69
+ },
70
+ {
71
+ key: '1d',
72
+ title: 'Launch 1D protein annotation view',
73
+ description: 'View protein features and annotations as a linear track',
74
+ onClick: handleLaunch1DView,
75
+ },
76
+ ...(hasMsaViewPlugin()
77
+ ? [
78
+ {
79
+ key: 'msa',
80
+ title: 'Launch MSA view',
81
+ description: 'View AlphaFold a3m multiple sequence alignment',
82
+ onClick: handleLaunchMsa,
83
+ },
84
+ {
85
+ key: '3d-msa',
86
+ title: 'Launch 3D structure + MSA view',
87
+ description: 'Launch both views with AlphaFold a3m MSA',
88
+ onClick: handleLaunch3DWithMsa,
89
+ },
90
+ ]
91
+ : []),
92
+ ];
35
93
  return (React.createElement(React.Fragment, null,
36
- sequencesMatch === false ? (React.createElement(Typography, { variant: "body2", sx: { mr: 2, display: 'flex', alignItems: 'center' } },
37
- "Transcript and structure sequences differ, will run",
38
- ' ',
39
- ALIGNMENT_ALGORITHM_LABELS[alignmentAlgorithm] ?? alignmentAlgorithm,
40
- ' ',
41
- "alignment",
42
- React.createElement(AlignmentSettingsButton, { value: alignmentAlgorithm, onChange: onAlignmentAlgorithmChange }))) : null,
43
- React.createElement(Button, { variant: "contained", color: "secondary", size: "small", onClick: handleClose }, "Cancel"),
44
- !canLaunch ? (React.createElement(Typography, { variant: "body2", color: "error", sx: { mr: 2 } }, missingReasons.join('. '))) : null,
94
+ sequencesMatch === false ? (React.createElement(SequenceMismatchNotice, { alignmentAlgorithm: alignmentAlgorithm, onAlignmentAlgorithmChange: onAlignmentAlgorithmChange })) : null,
95
+ React.createElement(Button, { variant: "contained", color: "secondary", size: "small", onClick: () => {
96
+ handleClose();
97
+ } }, "Cancel"),
98
+ !canLaunch && missingReasons.length > 0 ? (React.createElement(Typography, { variant: "body2", color: "error", sx: { mr: 2 } }, missingReasons.join('. '))) : null,
45
99
  React.createElement(ButtonGroup, { variant: "contained", color: "primary", size: "small" },
46
100
  React.createElement(Button, { disabled: !canLaunch, onClick: handleLaunch3DView }, "Launch"),
47
101
  React.createElement(Button, { disabled: !canLaunch, onClick: () => {
48
102
  setDialogOpen(true);
49
103
  }, "aria-label": "More launch options" },
50
104
  React.createElement(ArrowDropDownIcon, null))),
51
- React.createElement(Dialog, { open: dialogOpen, onClose: () => {
52
- setDialogOpen(false);
53
- } },
54
- React.createElement(DialogTitle, null, "Launch options"),
55
- React.createElement(DialogContent, null,
56
- React.createElement(MenuList, null,
57
- React.createElement(MenuItem, { onClick: handleLaunch3DView },
58
- React.createElement("div", null,
59
- React.createElement(Typography, { variant: "body1" }, "Launch 3D protein structure view"),
60
- React.createElement(Typography, { variant: "body2", color: "text.secondary" }, "View protein structure with genome-to-structure coordinate mapping"))),
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) {
77
- console.error(e);
78
- session.notifyError(`${e}`, e);
79
- }
80
- handleClose();
81
- } },
82
- React.createElement("div", null,
83
- React.createElement(Typography, { variant: "body1" }, "Launch 1D protein annotation view"),
84
- React.createElement(Typography, { variant: "body2", color: "text.secondary" }, "View protein features and annotations as a linear track"))),
85
- hasMsaViewPlugin()
86
- ? [
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
- } },
101
- React.createElement("div", null,
102
- React.createElement(Typography, { variant: "body1" }, "Launch MSA view"),
103
- React.createElement(Typography, { variant: "body2", color: "text.secondary" }, "View AlphaFold a3m multiple sequence alignment"))),
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
- } },
121
- React.createElement("div", null,
122
- React.createElement(Typography, { variant: "body1" }, "Launch 3D structure + MSA view"),
123
- React.createElement(Typography, { variant: "body2", color: "text.secondary" }, "Launch both views with AlphaFold a3m MSA"))),
124
- ]
125
- : null)))));
105
+ React.createElement(LaunchOptionsDialog, { open: dialogOpen, onClose: closeMenu, options: launchOptions })));
126
106
  }
127
107
  //# sourceMappingURL=ProteinViewActions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ProteinViewActions.js","sourceRoot":"","sources":["../../../src/LaunchProteinView/components/ProteinViewActions.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ProteinViewActions.js","sourceRoot":"","sources":["../../../src/LaunchProteinView/components/ProteinViewActions.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ import { type AlignmentAlgorithm } from '../../ProteinView/types';
3
+ export default function SequenceMismatchNotice({ alignmentAlgorithm, onAlignmentAlgorithmChange, }: {
4
+ alignmentAlgorithm: AlignmentAlgorithm;
5
+ onAlignmentAlgorithmChange: (algorithm: AlignmentAlgorithm) => void;
6
+ }): React.JSX.Element;
@@ -0,0 +1,14 @@
1
+ import React from 'react';
2
+ import { Typography } from '@mui/material';
3
+ import AlignmentSettingsButton from './AlignmentSettingsButton';
4
+ import { ALIGNMENT_ALGORITHM_LABELS, } from '../../ProteinView/types';
5
+ export default function SequenceMismatchNotice({ alignmentAlgorithm, onAlignmentAlgorithmChange, }) {
6
+ return (React.createElement(Typography, { variant: "body2", sx: { mr: 2, display: 'flex', alignItems: 'center' } },
7
+ "Transcript and structure sequences differ, will run",
8
+ ' ',
9
+ ALIGNMENT_ALGORITHM_LABELS[alignmentAlgorithm] ?? alignmentAlgorithm,
10
+ ' ',
11
+ "alignment",
12
+ React.createElement(AlignmentSettingsButton, { value: alignmentAlgorithm, onChange: onAlignmentAlgorithmChange })));
13
+ }
14
+ //# sourceMappingURL=SequenceMismatchNotice.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SequenceMismatchNotice.js","sourceRoot":"","sources":["../../../src/LaunchProteinView/components/SequenceMismatchNotice.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAE1C,OAAO,uBAAuB,MAAM,2BAA2B,CAAA;AAC/D,OAAO,EACL,0BAA0B,GAE3B,MAAM,yBAAyB,CAAA;AAEhC,MAAM,CAAC,OAAO,UAAU,sBAAsB,CAAC,EAC7C,kBAAkB,EAClB,0BAA0B,GAI3B;IACC,OAAO,CACL,oBAAC,UAAU,IACT,OAAO,EAAC,OAAO,EACf,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE;;QAEA,GAAG;QACtD,0BAA0B,CAAC,kBAAkB,CAAC,IAAI,kBAAkB;QAAE,GAAG;;QAE1E,oBAAC,uBAAuB,IACtB,KAAK,EAAE,kBAAkB,EACzB,QAAQ,EAAE,0BAA0B,GACpC,CACS,CACd,CAAA;AACH,CAAC"}
@@ -4,17 +4,16 @@ import { getContainingView, getSession } from '@jbrowse/core/util';
4
4
  import { Button, DialogActions, DialogContent, FormControl, FormControlLabel, Radio, RadioGroup, TextField, Typography, } from '@mui/material';
5
5
  import { observer } from 'mobx-react';
6
6
  import { makeStyles } from 'tss-react/mui';
7
- import AlignmentSettingsButton from './AlignmentSettingsButton';
8
7
  import HelpButton from './HelpButton';
9
8
  import MSATable from './MSATable';
9
+ import SequenceMismatchNotice from './SequenceMismatchNotice';
10
10
  import TranscriptSelector from './TranscriptSelector';
11
- import { ALIGNMENT_ALGORITHM_LABELS } from '../../ProteinView/types';
12
11
  import ExternalLink from '../../components/ExternalLink';
13
12
  import useIsoformProteinSequences from '../hooks/useIsoformProteinSequences';
14
13
  import useLocalStructureFileSequence from '../hooks/useLocalStructureFileSequence';
15
14
  import useRemoteStructureFileSequence from '../hooks/useRemoteStructureFileSequence';
16
15
  import useTranscriptSelection from '../hooks/useTranscriptSelection';
17
- import { launch3DProteinView } from '../utils/launchViewUtils';
16
+ import { getPdbStructureUrl, launch3DProteinView, } from '../utils/launchViewUtils';
18
17
  import { getGeneDisplayName, getId, getTranscriptDisplayName, getTranscriptFeatures, stripStopCodon, } from '../utils/util';
19
18
  const useStyles = makeStyles()(theme => ({
20
19
  dialogContent: {
@@ -60,6 +59,34 @@ const UserProvidedStructure = observer(function UserProvidedStructure({ feature,
60
59
  const selectedTranscript = options.find(val => getId(val) === userSelection);
61
60
  const protein = userSelection ? isoformSequences?.[userSelection] : undefined;
62
61
  const error = isoformError ?? submitError ?? localFileError ?? remoteFileError;
62
+ const canLaunch = !!(structureURL || file) && !!protein && !!selectedTranscript;
63
+ const sequencesDiffer = !!protein?.seq &&
64
+ !!structureSequence &&
65
+ stripStopCodon(protein.seq) !== structureSequence;
66
+ const handleLaunch = async () => {
67
+ if (!protein || !selectedTranscript || !(structureURL || file)) {
68
+ return;
69
+ }
70
+ try {
71
+ const structureData = file ? await file.text() : undefined;
72
+ launch3DProteinView({
73
+ session,
74
+ view,
75
+ feature,
76
+ selectedTranscript,
77
+ url: structureURL || undefined,
78
+ data: structureData,
79
+ userProvidedTranscriptSequence: protein.seq,
80
+ alignmentAlgorithm,
81
+ displayName: `Protein view ${getGeneDisplayName(feature)} - ${getTranscriptDisplayName(selectedTranscript)}`,
82
+ });
83
+ handleClose();
84
+ }
85
+ catch (e) {
86
+ console.error(e);
87
+ setSubmitError(e);
88
+ }
89
+ };
63
90
  return (React.createElement(React.Fragment, null,
64
91
  React.createElement(DialogContent, { className: classes.dialogContent },
65
92
  error ? React.createElement(ErrorMessage, { error: error }) : null,
@@ -93,7 +120,7 @@ const UserProvidedStructure = observer(function UserProvidedStructure({ feature,
93
120
  choice === 'pdb' ? (React.createElement(TextField, { value: pdbId, onChange: event => {
94
121
  const s = event.target.value;
95
122
  setPdbId(s);
96
- setStructureURL(`https://files.rcsb.org/download/${s}.cif`);
123
+ setStructureURL(getPdbStructureUrl(s));
97
124
  }, label: "PDB ID" })) : null),
98
125
  React.createElement("div", { style: { margin: 20 } }, isoformSequences ? (structureSequence ? (React.createElement(React.Fragment, null,
99
126
  React.createElement(TranscriptSelector, { val: userSelection, setVal: setUserSelection, structureSequence: structureSequence, isoforms: options, feature: feature, isoformSequences: isoformSequences }),
@@ -105,43 +132,12 @@ const UserProvidedStructure = observer(function UserProvidedStructure({ feature,
105
132
  : 'Show all isoform protein sequences'),
106
133
  showAllProteinSequences ? (React.createElement(MSATable, { structureSequence: structureSequence, structureName: structureName, isoformSequences: isoformSequences })) : null))) : null) : (React.createElement(LoadingEllipses, { title: "Loading protein sequences", variant: "h6" })))),
107
134
  React.createElement(DialogActions, null,
108
- protein?.seq &&
109
- structureSequence &&
110
- stripStopCodon(protein.seq) !== structureSequence ? (React.createElement(Typography, { variant: "body2", sx: { mr: 2, display: 'flex', alignItems: 'center' } },
111
- "Transcript and structure sequences differ, will run",
112
- ' ',
113
- ALIGNMENT_ALGORITHM_LABELS[alignmentAlgorithm] ??
114
- alignmentAlgorithm,
115
- ' ',
116
- "alignment",
117
- React.createElement(AlignmentSettingsButton, { value: alignmentAlgorithm, onChange: onAlignmentAlgorithmChange }))) : null,
135
+ sequencesDiffer ? (React.createElement(SequenceMismatchNotice, { alignmentAlgorithm: alignmentAlgorithm, onAlignmentAlgorithmChange: onAlignmentAlgorithmChange })) : null,
118
136
  React.createElement(Button, { variant: "contained", color: "secondary", onClick: () => {
119
137
  handleClose();
120
138
  } }, "Cancel"),
121
- React.createElement(Button, { variant: "contained", color: "primary", disabled: !(structureURL || file) || !protein || !selectedTranscript, onClick: () => {
122
- // eslint-disable-next-line @typescript-eslint/no-floating-promises
123
- ;
124
- (async () => {
125
- try {
126
- const structureData = file ? await file.text() : undefined;
127
- launch3DProteinView({
128
- session,
129
- view,
130
- feature,
131
- selectedTranscript,
132
- url: structureURL || undefined,
133
- data: structureData,
134
- userProvidedTranscriptSequence: protein?.seq ?? '',
135
- alignmentAlgorithm,
136
- displayName: `Protein view ${getGeneDisplayName(feature)} - ${getTranscriptDisplayName(selectedTranscript)}`,
137
- });
138
- handleClose();
139
- }
140
- catch (e) {
141
- console.error(e);
142
- setSubmitError(e);
143
- }
144
- })();
139
+ React.createElement(Button, { variant: "contained", color: "primary", disabled: !canLaunch, onClick: () => {
140
+ void handleLaunch();
145
141
  } }, "Launch 3-D protein structure view"))));
146
142
  });
147
143
  export default UserProvidedStructure;
@@ -1 +1 @@
1
- {"version":3,"file":"UserProvidedStructure.js","sourceRoot":"","sources":["../../../src/LaunchProteinView/components/UserProvidedStructure.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"UserProvidedStructure.js","sourceRoot":"","sources":["../../../src/LaunchProteinView/components/UserProvidedStructure.tsx"],"names":[],"mappings":"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"}