/** * Copyright (C) 2024, Protein Bioinformatics Research Group, RCNS * * Licensed under CC BY-NC 4.0, see LICENSE file for more info. * * @author Gabor Tusnady * @author Csongor Gerdan */ import { PDBTMDescriptor } from "./tmdet-extension/types"; import { setMembraneOrientation, TmDetDescriptorCache } from "./tmdet-extension/prop"; import { createMembraneOrientation } from "./tmdet-extension/transformation"; import { DebugUtil } from "./tmdet-extension/debug-utils"; import { updateSiteColors } from "./tmdet-extension/tmdet-color-theme"; import { TmViewerStandalone } from "../Tm3DStandaloneApp/tmdet-viewer/TmViewerStandalone"; import { TmDetRcsbPreset } from "../Tm3DStandaloneApp/TmTrajectoryHierarchyPreset"; export async function fetchDescriptor(url: string) { const response = await fetch(url); const descriptor = await response.json().catch((e) => { console.error(`fetchDescriptor: JSON parsing of ${url} failed`, e); }); return descriptor; } export async function registerRegionDescriptorData(url: string, side1: "Inside"|"Outside"|null) { if (!side1) { console.error('registerRegionDescriptorData: side1 is undefined or null'); } const pdbtmDescriptor: PDBTMDescriptor = await fetchDescriptor(url); pdbtmDescriptor.side1 = side1; TmDetDescriptorCache.add(pdbtmDescriptor); const membraneOrientation = createMembraneOrientation(pdbtmDescriptor); setMembraneOrientation(membraneOrientation); DebugUtil.log('TMDET Membrane Orientation Params:', membraneOrientation); }