Skip to content
Snippets Groups Projects
Commit 6bd3a16f authored by Julian Späth's avatar Julian Späth
Browse files

Merge branch 'fix-connection-bug' into 'master'

Fix connection bug

See merge request covid-19/frontend!78
parents ec08b1f0 c905725b
No related branches found
No related tags found
No related merge requests found
...@@ -14,7 +14,7 @@ import {environment} from '../../../environments/environment'; ...@@ -14,7 +14,7 @@ import {environment} from '../../../environments/environment';
import {AnalysisService, algorithmNames} from '../../analysis.service'; import {AnalysisService, algorithmNames} from '../../analysis.service';
import { import {
Protein, Task, ViralProtein, Drug, Wrapper, WrapperType, Protein, Task, ViralProtein, Drug, Wrapper, WrapperType,
getWrapperFromProtein, getWrapperFromDrug, getWrapperFromViralProtein, getNodeIdsFromPDI getWrapperFromProtein, getWrapperFromDrug, getWrapperFromViralProtein, getNodeIdsFromPDI, getNodeIdsFromPPI
} from '../../interfaces'; } from '../../interfaces';
import html2canvas from 'html2canvas'; import html2canvas from 'html2canvas';
import {toast} from 'bulma-toast'; import {toast} from 'bulma-toast';
...@@ -242,17 +242,26 @@ export class AnalysisWindowComponent implements OnInit, OnChanges { ...@@ -242,17 +242,26 @@ export class AnalysisWindowComponent implements OnInit, OnChanges {
const isSeed = attributes.isSeed || {}; const isSeed = attributes.isSeed || {};
const scores = attributes.scores || {}; const scores = attributes.scores || {};
const details = attributes.details || {}; const details = attributes.details || {};
const wrappers: {[key: string]: Wrapper} = {};
for (const node of network.nodes) { for (const node of network.nodes) {
if (nodeTypes[node] === 'host') { if (nodeTypes[node] === 'host') {
this.proteins.push(details[node]); this.proteins.push(details[node]);
wrappers[node] = getWrapperFromProtein(details[node]);
} else if (nodeTypes[node] === 'virus') { } else if (nodeTypes[node] === 'virus') {
this.effects.push(details[node]); this.effects.push(details[node]);
wrappers[node] = getWrapperFromViralProtein(details[node]);
} else if (nodeTypes[node] === 'drug') {
wrappers[node] = getWrapperFromDrug(details[node]);
} }
nodes.push(this.mapNode(this.inferNodeType(node), details[node], isSeed[node], scores[node])); nodes.push(this.mapNode(this.inferNodeType(node), details[node], isSeed[node], scores[node]));
} }
for (const edge of network.edges) { for (const edge of network.edges) {
edges.push(this.mapEdge(edge, 'protein-protein')); edges.push(this.mapEdge(edge, 'protein-protein', wrappers));
}
for (const edge of network.edges) {
edges.push(this.mapEdge(edge, 'protein-protein', wrappers));
} }
...@@ -292,15 +301,14 @@ export class AnalysisWindowComponent implements OnInit, OnChanges { ...@@ -292,15 +301,14 @@ export class AnalysisWindowComponent implements OnInit, OnChanges {
return node; return node;
} }
private mapEdge(edge: any, type: 'protein-protein' | 'to-drug'): any { private mapEdge(edge: any, type: 'protein-protein' | 'to-drug', wrappers?: {[key: string]: Wrapper}): any {
let edgeColor; let edgeColor;
if (type === 'protein-protein') { if (type === 'protein-protein') {
edgeColor = { edgeColor = {
color: NetworkSettings.getColor('edgeHostVirus'), color: NetworkSettings.getColor('edgeHostVirus'),
highlight: NetworkSettings.getColor('edgeHostVirusHighlight') highlight: NetworkSettings.getColor('edgeHostVirusHighlight'),
}; };
const from = edge.from.startsWith('DB') ? `d_${edge.from}` : `p_${edge.from}`; const {from, to} = getNodeIdsFromPPI(edge, wrappers);
const to = edge.to.startsWith('DB') ? `d_${edge.to}` : `p_${edge.to}`;
return { return {
from, to, from, to,
color: edgeColor, color: edgeColor,
...@@ -308,7 +316,7 @@ export class AnalysisWindowComponent implements OnInit, OnChanges { ...@@ -308,7 +316,7 @@ export class AnalysisWindowComponent implements OnInit, OnChanges {
} else if (type === 'to-drug') { } else if (type === 'to-drug') {
edgeColor = { edgeColor = {
color: NetworkSettings.getColor('edgeHostDrug'), color: NetworkSettings.getColor('edgeHostDrug'),
highlight: NetworkSettings.getColor('edgeHostDrugHighlight') highlight: NetworkSettings.getColor('edgeHostDrugHighlight'),
}; };
const {from, to} = getNodeIdsFromPDI(edge); const {from, to} = getNodeIdsFromPDI(edge);
return { return {
......
...@@ -75,10 +75,10 @@ export function getNodeIdsFromPVI(pvi: ProteinViralInteraction) { ...@@ -75,10 +75,10 @@ export function getNodeIdsFromPVI(pvi: ProteinViralInteraction) {
}; };
} }
export function getNodeIdsFromPPI(edge: NetworkEdge) { export function getNodeIdsFromPPI(edge: NetworkEdge, wrappers: {[key: string]: Wrapper}) {
return { return {
from: `p_${edge.from}`, from: wrappers[edge.from].nodeId,
to: `p_${edge.to}`, to: wrappers[edge.to].nodeId,
}; };
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment