Skip to content
Snippets Groups Projects
config.ts 2.43 KiB
Newer Older
Julian Matschinske's avatar
Julian Matschinske committed
// export interface NodeGroup {
//   fill: string;
// }
//
// export interface EdgeGroup {
//   color: string;
// }

Michael Hartung's avatar
Michael Hartung committed
export interface NodeGroup {
  name: string;
  color: string;
  shape: 'circle' | 'triangle' | 'star' | 'square' | 'image';
Michael Hartung's avatar
Michael Hartung committed
  type: 'gene' | 'protein' | 'drug';
  image?: string;
Michael Hartung's avatar
Michael Hartung committed
}

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;
Michael Hartung's avatar
Michael Hartung committed
  legendPos: 'left' | 'right';
Zakaria Louadi's avatar
Zakaria Louadi committed
  taskName: string;
  showLeftSidebar: boolean;
Zakaria Louadi's avatar
Zakaria Louadi committed
  showOverview: boolean;
  showQuery: boolean;
Zakaria Louadi's avatar
Zakaria Louadi committed
  showItemSelector: boolean;
  showSimpleAnalysis: boolean;
  showAdvAnalysis: boolean;
  showTasks: boolean;
  showSelection: boolean;
  showFooter: boolean;
Michael Hartung's avatar
Michael Hartung committed
  showLegend: boolean;
  showLegendNodes: boolean;
  showLegendEdges: boolean;
Julian Matschinske's avatar
Julian Matschinske committed
  nodeGroups: { [key: string]: NodeGroup };
  edgeGroups: { [key: string]: EdgeGroup };
  interactionDrugProtein: InteractionDrugProteinDB;
  interactionProteinProtein: InteractionProteinProteinDB;
  interactions?: InteractionDatabase;
  identifier?: Identifier;
}

export const defaultConfig: IConfig = {
Michael Hartung's avatar
Michael Hartung committed
  legendUrl: '', // 'https://exbio.wzw.tum.de/covex/assets/leg1.png' show legend image if set, otherwise default legend
  legendClass: 'legend',
Michael Hartung's avatar
Michael Hartung committed
  legendPos: 'left',
  taskName: 'Run Task X',
Michael Hartung's avatar
Michael Hartung committed
  showLegendNodes: true,
  showLegendEdges: true,
  showLeftSidebar: true,
Zakaria Louadi's avatar
Zakaria Louadi committed
  showOverview: true,
  showQuery: true,
Zakaria Louadi's avatar
Zakaria Louadi committed
  showItemSelector: true,
  showSimpleAnalysis: false,
Zakaria Louadi's avatar
Zakaria Louadi committed
  showAdvAnalysis: true,
  showSelection: true,
Julian Matschinske's avatar
Julian Matschinske committed
  showTasks: true,
Zakaria Louadi's avatar
Zakaria Louadi committed
  showFooter: true,
Michael Hartung's avatar
Michael Hartung committed
  showLegend: true,
  identifier: 'hugo',
  interactionDrugProtein: 'DrugBank',
  interactionProteinProtein: 'STRING',
Julian Matschinske's avatar
Julian Matschinske committed
  nodeGroups: {
    default: {
Michael Hartung's avatar
Michael Hartung committed
      name: 'Default Group',
      color: 'yellow',
      shape: 'triangle',
      type: 'gene',
Julian Matschinske's avatar
Julian Matschinske committed
    },
    protein: {
Michael Hartung's avatar
Michael Hartung committed
      name: 'Resulting Proteins',
      color: 'red',
      shape: 'circle',
Michael Hartung's avatar
Michael Hartung committed
      type: 'protein',
Julian Matschinske's avatar
Julian Matschinske committed
    },
    drug: {
Michael Hartung's avatar
Michael Hartung committed
      name: 'Possible Drugs',
      color: 'green',
      shape: 'star',
Michael Hartung's avatar
Michael Hartung committed
      type: 'drug',
Julian Matschinske's avatar
Julian Matschinske committed
    }
  },
  edgeGroups: {
    default: {
Michael Hartung's avatar
Michael Hartung committed
      name: 'Edgy edges',
Julian Matschinske's avatar
Julian Matschinske committed
      color: 'black'
    }
  },