// export interface NodeGroup { // fill: string; // } // // export interface EdgeGroup { // color: string; // } export interface NodeGroup { name: string; color: string; shape: 'circle' | 'triangle' | 'star' | 'square' | 'image'; type: 'gene' | 'protein' | 'drug'; image?: string; } export interface EdgeGroup { name: string; color: string; } export type Identifier = 'hugo'|'uniprot'|'ensg'; export type InteractionDrugProteinDB = 'DrugBank'|'Chembl'|'DGIdb'; export type InteractionProteinProteinDB = 'STRING'|'BioGRID'|'APID'; // TODO: should this be external or integrated in the backend? export type InteractionDatabase = 'omnipath'; export interface IConfig { legendUrl: string; legendClass: string; legendPos: 'left' | 'right'; taskName: string; showLeftSidebar: boolean; showRightSidebar: boolean; showOverview: boolean; showQuery: boolean; showItemSelector: boolean; showSimpleAnalysis: boolean; showAdvAnalysis: boolean; showTasks: boolean; showSelection: boolean; showFooter: boolean; showLegend: boolean; showLegendNodes: boolean; showLegendEdges: boolean; nodeGroups: { [key: string]: NodeGroup }; edgeGroups: { [key: string]: EdgeGroup }; interactionDrugProtein: InteractionDrugProteinDB; interactionProteinProtein: InteractionProteinProteinDB; interactions?: InteractionDatabase; identifier?: Identifier; } export const defaultConfig: IConfig = { legendUrl: '', // 'https://exbio.wzw.tum.de/covex/assets/leg1.png' show legend image if set, otherwise default legend legendClass: 'legend', legendPos: 'left', taskName: 'Run Task X', showLegendNodes: true, showLegendEdges: true, showLeftSidebar: true, showRightSidebar: true, showOverview: true, showQuery: true, showItemSelector: true, showSimpleAnalysis: false, showAdvAnalysis: true, showSelection: true, showTasks: true, showFooter: true, showLegend: true, identifier: 'hugo', interactionDrugProtein: 'DrugBank', interactionProteinProtein: 'STRING', nodeGroups: { default: { name: 'Default Group', color: 'yellow', shape: 'triangle', type: 'gene', }, protein: { name: 'Resulting Proteins', color: 'red', shape: 'circle', type: 'protein', }, drug: { name: 'Possible Drugs', color: 'green', shape: 'star', type: 'drug', } }, edgeGroups: { default: { name: 'Edgy edges', color: 'black' } }, };