epam / pipeline-builder

Pipeline Builder is a JavaScript library for visualizing and constructing bioinformatics workflows, using Workflow Description Language (WDL)
http://pb.opensource.epam.com
MIT License
55 stars 12 forks source link

Links between task and workflow outputs #40

Open ruchim opened 7 years ago

ruchim commented 7 years ago

It's great to be able to see when task outputs are being used by other tasks as inputs. It would be nice to be able to visually see a similar link between task outputs that are declared as task outputs:

For example: Given this workflow:

workflow wf_outputs {
  call task_a
  call task_b { input: in = task_a.a_out }
  output {
    File wf_out = task_b.b_out
  }
}

task task_a {
  command {}
  output {
    File a_out = "out"
  }
}

task task_b {
  File in
  command {}
  output {
    File b_out = "out"
  }
}

Since the workflow output wf_out is simply a reference to task_b.b_out, it would be nice to see a line connecting b_out and wf_out.

screen shot 2017-08-29 at 11 24 16 am
sidoruka commented 7 years ago

Hi, @ruchim .

Am I right that you would like to achieve the following visualization?

demo_wf

If so - there are two options to do that:

Option 1. Use Toggle link button to show all links

Click the Toggle link on the upper toolbar: show_links

Once activated - all input/output links will be shown.

This option is off by default because for large workflows it overwhelms the graphics. Below is a visualization of the public wdl pipeline with all links on: large_wf

Option 2. Use Ctrl+Click to show specific links

If you would like to view links of a specific input/output (e.g. to workaround issue with large workflows as shown above) - it is possible to Ctrl+Click it and view the links.

demo_wf_ctrl_lmb

Ctrl+Clicking it again will dismiss links visualization

Hope this helps.