UniTmpHelper.ts 1.6 KB

1234567891011121314151617181920212223242526272829303132333435
  1. /**
  2. * Copyright (C) 2024, Protein Bioinformatics Research Group, RCNS
  3. *
  4. * Licensed under CC BY-NC 4.0, see LICENSE file for more info.
  5. *
  6. * @author Gabor Tusnady <tusnady.gabor@ttk.hu>
  7. * @author Csongor Gerdan <gerdan.csongor@ttk.hu>
  8. */
  9. import { PDBTMDescriptor } from "./tmdet-extension/types";
  10. import { setMembraneOrientation, TmDetDescriptorCache } from "./tmdet-extension/prop";
  11. import { createMembraneOrientation } from "./tmdet-extension/transformation";
  12. import { DebugUtil } from "./tmdet-extension/debug-utils";
  13. import { updateSiteColors } from "./tmdet-extension/tmdet-color-theme";
  14. import { TmViewerStandalone } from "../Tm3DStandaloneApp/tmdet-viewer/TmViewerStandalone";
  15. import { TmDetRcsbPreset } from "../Tm3DStandaloneApp/TmTrajectoryHierarchyPreset";
  16. export async function fetchDescriptor(url: string) {
  17. const response = await fetch(url);
  18. const descriptor = await response.json().catch((e) => {
  19. console.error(`fetchDescriptor: JSON parsing of ${url} failed`, e);
  20. });
  21. return descriptor;
  22. }
  23. export async function registerRegionDescriptorData(url: string, side1: "Inside"|"Outside"|null) {
  24. if (!side1) {
  25. console.error('registerRegionDescriptorData: side1 is undefined or null');
  26. }
  27. const pdbtmDescriptor: PDBTMDescriptor = await fetchDescriptor(url);
  28. pdbtmDescriptor.side1 = side1;
  29. TmDetDescriptorCache.add(pdbtmDescriptor);
  30. const membraneOrientation = createMembraneOrientation(pdbtmDescriptor);
  31. setMembraneOrientation(membraneOrientation);
  32. DebugUtil.log('TMDET Membrane Orientation Params:', membraneOrientation);
  33. }