diff --git a/src/app/components/analysis-panel/analysis-panel.component.ts b/src/app/components/analysis-panel/analysis-panel.component.ts index cde310e3ec9d70b9a1ee8b3af32949f178138ac1..c8899ca189c6e9c54d75e5db0ca257713641d55e 100644 --- a/src/app/components/analysis-panel/analysis-panel.component.ts +++ b/src/app/components/analysis-panel/analysis-panel.component.ts @@ -27,6 +27,7 @@ import { import html2canvas from 'html2canvas'; import {toast} from 'bulma-toast'; import {NetworkSettings} from '../../network-settings'; +import { NetexControllerService } from 'src/app/services/netex-controller/netex-controller.service'; declare var vis: any; @@ -88,7 +89,7 @@ export class AnalysisPanelComponent implements OnInit, OnChanges { public tableDrugScoreTooltip = ''; public tableProteinScoreTooltip = ''; - constructor(private http: HttpClient, public analysis: AnalysisService) { + constructor(private http: HttpClient, public analysis: AnalysisService, public netex: NetexControllerService) { } async ngOnInit() { @@ -134,7 +135,8 @@ export class AnalysisPanelComponent implements OnInit, OnChanges { } if (this.task && this.task.info.done) { - const result = await this.http.get<any>(`${environment.backend}task_result/?token=${this.token}`).toPromise(); + const result = await this.netex.getTaskResult(this.token) + console.log(result) const nodeAttributes = result.nodeAttributes || {}; const isSeed: { [key: string]: boolean } = nodeAttributes.isSeed || {}; diff --git a/src/app/dialogs/launch-analysis/launch-analysis.component.ts b/src/app/dialogs/launch-analysis/launch-analysis.component.ts index f8ec27b6b1f214fb93e15a22d43f4f618d4c18c5..5f17dca036b7888ab48dd2fb309b73cb07ddad4e 100644 --- a/src/app/dialogs/launch-analysis/launch-analysis.component.ts +++ b/src/app/dialogs/launch-analysis/launch-analysis.component.ts @@ -23,6 +23,8 @@ export class LaunchAnalysisComponent implements OnInit, OnChanges { public show = false; @Input() public target: 'drug' | 'drug-target'; + @Input() + public inputNetwork: {nodes: any, edges: any}; @Output() public showChange = new EventEmitter<boolean>(); @@ -99,12 +101,17 @@ export class LaunchAnalysisComponent implements OnInit, OnChanges { } public async startTask() { - console.log(this.analysis.getSelection()); const parameters: any = { seeds: this.analysis.getSelection().map((item) => item.data.netexId), }; - parameters.target_or_drugs = this.target === 'drug' ? 'PPDr' : 'PPI'; + parameters.target_or_drugs = this.target === 'drug' ? 'drug' : 'protein'; + // pass network data to reconstruct network in analysis result to connect non-proteins to results + // drop interactions in nodes beforehand to no cause cyclic error, information is contained in edges + this.inputNetwork.nodes.forEach(node => { + delete node.interactions + }); + parameters.input_network = this.inputNetwork; if (this.algorithm === 'trustrank') { parameters.damping_factor = this.trustrankDampingFactor; diff --git a/src/app/pages/explorer-page/explorer-page.component.html b/src/app/pages/explorer-page/explorer-page.component.html index e1d315852cf1dcf468871b5917612ca4602a137e..85f5b25de169500c3ed5044d353799744f901240 100644 --- a/src/app/pages/explorer-page/explorer-page.component.html +++ b/src/app/pages/explorer-page/explorer-page.component.html @@ -2,7 +2,8 @@ <app-launch-analysis [(show)]="showAnalysisDialog" - [target]="analysisDialogTarget"> + [target]="analysisDialogTarget" + [inputNetwork]="{nodes:proteins, edges:edges}"> </app-launch-analysis> <app-custom-proteins [(show)]="showCustomProteinsDialog" [visibleNodes]="currentViewNodes"> diff --git a/src/app/pages/explorer-page/explorer-page.component.ts b/src/app/pages/explorer-page/explorer-page.component.ts index b9778ba9697ccf3635b14c5a8136d080157f2f18..545454cd792bf43d6a003599bb4efd777915bf00 100644 --- a/src/app/pages/explorer-page/explorer-page.component.ts +++ b/src/app/pages/explorer-page/explorer-page.component.ts @@ -216,15 +216,9 @@ export class ExplorerPageComponent implements OnInit, AfterViewInit { const network = JSON.parse(this.networkJSON); // map data to nodes in backend - console.log('before') - console.log( this.myConfig.identifier) - console.log(network.nodes) if (network.nodes.length) { network.nodes = await this.netex.mapNodes(network.nodes, this.myConfig.identifier); } - console.log('after') - console.log(network.nodes) - this.proteins = network.nodes; this.edges = network.edges; } @@ -277,7 +271,6 @@ export class ExplorerPageComponent implements OnInit, AfterViewInit { this.nodeData.nodes = new vis.DataSet(nodes); this.nodeData.edges = new vis.DataSet(edges); - console.log(this.nodeData); const container = this.networkEl.nativeElement; const options = NetworkSettings.getOptions('main'); this.networkInternal = new vis.Network(container, this.nodeData, options); diff --git a/src/app/services/analysis/analysis.service.ts b/src/app/services/analysis/analysis.service.ts index a8b1659d9831f934bdd499fdbd3a0004498bdffe..3f8ae68e70fcec94731a2aa833534131d9213ad2 100644 --- a/src/app/services/analysis/analysis.service.ts +++ b/src/app/services/analysis/analysis.service.ts @@ -288,7 +288,6 @@ export class AnalysisService { }); return; } - const resp = await this.http.post<any>(`${environment.backend}task/`, { algorithm, target,