From 9f565a4253959cde4208b218aca28c777364b5cf Mon Sep 17 00:00:00 2001 From: "Hartung, Michael" <michael.hartung@uni-hamburg.de> Date: Thu, 14 Jul 2022 15:53:22 +0200 Subject: [PATCH] remove self edges --- .../components/analysis-panel/analysis-panel.component.ts | 6 ++++++ .../license-agreement/license-agreement.component.ts | 1 - src/app/config.ts | 2 ++ src/app/main-network.ts | 6 ++++++ src/app/pages/explorer-page/explorer-page.component.ts | 3 --- src/index.html | 4 +++- 6 files changed, 17 insertions(+), 5 deletions(-) diff --git a/src/app/components/analysis-panel/analysis-panel.component.ts b/src/app/components/analysis-panel/analysis-panel.component.ts index af9499ae..3e9f514f 100644 --- a/src/app/components/analysis-panel/analysis-panel.component.ts +++ b/src/app/components/analysis-panel/analysis-panel.component.ts @@ -574,6 +574,12 @@ export class AnalysisPanelComponent implements OnInit, OnChanges, AfterViewInit // option to use scores[node] as gradient, but sccores are very small nodes.push(NetworkSettings.getNodeStyle(nodeDetails as Node, config, false, false, 1)) } + + // remove self-edges/loops + if (!config.selfReferences) { + network.edges = network.edges.filter(el => el.from !== el.to) + } + for (const edge of network.edges) { edges.push(mapCustomEdge(edge, this.myConfig)); } diff --git a/src/app/components/license-agreement/license-agreement.component.ts b/src/app/components/license-agreement/license-agreement.component.ts index b00ad922..1304dd9d 100644 --- a/src/app/components/license-agreement/license-agreement.component.ts +++ b/src/app/components/license-agreement/license-agreement.component.ts @@ -17,7 +17,6 @@ export class LicenseAgreementComponent implements OnInit { constructor(public drugstoneConfig: DrugstoneConfigService, public netex: NetexControllerService) { } public getAgreed() { - console.log(sessionStorage.getItem(this.licenseStorageKey) === 'true') return sessionStorage.getItem(this.licenseStorageKey) === 'true'; } diff --git a/src/app/config.ts b/src/app/config.ts index 34de2334..8529a7f1 100644 --- a/src/app/config.ts +++ b/src/app/config.ts @@ -66,6 +66,7 @@ export interface IConfig { showLegendEdges: boolean; nodeGroups: { [key: string]: NodeGroup }; edgeGroups: { [key: string]: EdgeGroup }; + selfReferences: boolean; interactionDrugProtein: InteractionDrugProteinDB; interactionProteinProtein: InteractionProteinProteinDB; indicationDrugDisorder: IndicationDrugDisorderDB; @@ -123,6 +124,7 @@ export const defaultConfig: IConfig = { autofillEdges: true, physicsOn: false, useNedrexLicensed: true, + selfReferences: false, nodeGroups: { // all NodeGroups but the default group must be set, if not provided by the user, they will be taken from here // IMPORTANT: node color must be hexacode! diff --git a/src/app/main-network.ts b/src/app/main-network.ts index d00b1769..9cc79089 100644 --- a/src/app/main-network.ts +++ b/src/app/main-network.ts @@ -51,7 +51,13 @@ export class ProteinNetwork { nodes.push(mapCustomNode(protein, config)); } + // remove self-edges/loops + if (!config.selfReferences) { + this.edges = this.edges.filter(el => el.from !== el.to) + } + for (const edge of this.edges) { + console.log(edge) edges.push(mapCustomEdge(edge, config)); } diff --git a/src/app/pages/explorer-page/explorer-page.component.ts b/src/app/pages/explorer-page/explorer-page.component.ts index a65af8fe..ecd333c4 100644 --- a/src/app/pages/explorer-page/explorer-page.component.ts +++ b/src/app/pages/explorer-page/explorer-page.component.ts @@ -6,7 +6,6 @@ import { Input, OnInit, Output, - ViewChild, } from '@angular/core'; import { getWrapperFromNode, @@ -23,11 +22,9 @@ import { defaultConfig, EdgeGroup, NodeGroup } from '../../config'; import { NetexControllerService } from 'src/app/services/netex-controller/netex-controller.service'; import { removeDuplicateObjectsFromList } from '../../utils'; import * as merge from 'lodash/fp/merge'; -import { AnalysisPanelComponent } from 'src/app/components/analysis-panel/analysis-panel.component'; import * as JSON5 from 'json5'; import { DrugstoneConfigService } from 'src/app/services/drugstone-config/drugstone-config.service'; import { NetworkHandlerService } from 'src/app/services/network-handler/network-handler.service'; -import { NetworkComponent } from 'src/app/components/network/network.component'; declare var vis: any; diff --git a/src/index.html b/src/index.html index 7094e66b..668db0dd 100644 --- a/src/index.html +++ b/src/index.html @@ -71,7 +71,9 @@ "identifier":"symbol","title":"Drugst.one network","sidebarPos":"right","showOverview":true,"nodeShadow":false,"edgeShadow":false,"showLegend":true, "showFooter":true, "showSimpleAnalysis":true,"showAdvAnalysis":true,"showSelection":true, "autofillEdges":false,"physicsOn":true}' - network='{"nodes": [{"type": "gene", "id": "ZNF235", "group": "proteinCoding", "shape": "circle", "label": "ZNF235", "x": 45.1427, "y": 183.494915, "value": 43}, {"type": "gene", "color": {"background": "#116466", "border": "#000000"}, "font": {"color": "#000000"}, "border_width": 2, "shape": "square", "id": "CEACAM16", "border_width_selected": 0, "shadow": false, "group": "proteinCoding", "label": "CEACAM16", "x": -257.39927, "y": 500, "value": 39, "scaling.min": 2, "scaling.max": 54, "physics": false}]}'> + network='{"nodes": [{"type": "gene", "id": "ZNF235", "group": "proteinCoding", "shape": "circle", "label": "ZNF235", "x": 45.1427, "y": 183.494915, "value": 43}, {"type": "gene", "color": {"background": "#116466", "border": "#000000"}, "font": {"color": "#000000"}, "border_width": 2, "shape": "square", "id": "CEACAM16", "border_width_selected": 0, "shadow": false, "group": "proteinCoding", "label": "CEACAM16", "x": -257.39927, "y": 500, "value": 39, "scaling.min": 2, "scaling.max": 54, "physics": false}], + "edges":[{"from":"ZNF235","to":"ZNF235"}] + }'> </drugst-one> </div> -- GitLab