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,