nf-tower icon indicating copy to clipboard operation
nf-tower copied to clipboard

Ability to visualise progress of workflow on DAG

Open evanfloden opened this issue 5 years ago β€’ 13 comments

The DAG provides a good representation for visualising the workflow.

This could be annotated with the status of each process.

progress-dag

evanfloden avatar Oct 03 '19 07:10 evanfloden

Umm, not completely sold to this. Are you using a library for the dag visualization?

pditommaso avatar Oct 03 '19 07:10 pditommaso

It's called Illustrator πŸ˜‰

The main idea is to be able to visualise "directional" progress through the workflow. I'm sure there are many ways to do this. Pie charts are one. The floor is open.

evanfloden avatar Oct 03 '19 07:10 evanfloden

πŸ˜†

pditommaso avatar Oct 03 '19 07:10 pditommaso

I’m usually dead against pie charts for anything. In fact I even rejected a recent MultiQC PR that added support for pie charts πŸ˜… However, in this case I can’t think of a better alternative.. As with the flow craft representation, I think small solid DAG nodes that double as pie charts are very unobtrusive and immediately easy to understand. We don’t need accurate quantification here - just an impression is fine. As DAGs can and will be large and complex, I fear that anything else may get in the way.

Flowcraft DAG: https://twitter.com/odiogosilva/status/1006902650858700801?s=21 dag

ewels avatar Oct 03 '19 12:10 ewels

This seems like a cool library, and has pie charts 😬 https://gojs.net/latest/samples/pieCharts.html

Could be nice to have features like zoom / pan for big DAGs.

I guess there are alternatives to pies / doughnuts too. Could have a box for each node which fills like a single stacked bar plot.. Or use icons in the nodes.

ewels avatar Oct 03 '19 12:10 ewels

Oh sorry, it’s not open source / free. But I’m sure that there must be others too..

ewels avatar Oct 03 '19 12:10 ewels

https://js.cytoscape.org/ looks perfect πŸ‘

ewels avatar Oct 04 '19 07:10 ewels

Yes, this looks fantastic. The pie chart example is very close to what we were describing. So many customisations & love that it is interactive.

Last time I used Cytoscape was 13 years ago for modelling gene interaction networks. Looks like it has come on leaps and bounds.

Time to get creative with representations.

evanfloden avatar Oct 04 '19 08:10 evanfloden

Looks like the main Cytoscape program is written in Java.. Maybe it could be bundled with Nextflow for nice DAG representations without any external software required..? πŸ˜‰

ewels avatar Oct 04 '19 08:10 ewels

NF already uses Cytoscape when specifying .html using -with-dag option, but nobody uses because it's ugly. Note, I'm not saying that Cytoscape is not good, the contrary, but to make decent DAG representation with more than 4-5 nodes it's a complicated task and requires a lot for work.

I think that a realtime timeline would be much more impactful, informative and easy to implement.

pditommaso avatar Oct 04 '19 09:10 pditommaso

Ah, nice! You're always one step ahead @pditommaso πŸ˜…

I just had a look at the NF DAG and I think it's pretty ok actually, personally I prefer it to the SVG version. It would be a lot cleaner if it only had processes though, and not all of the .collect / .ifEmpty nodes etc. Also removing the channel names on the vertices would help.

Timelines are good, but they show every task instead of every process (so don't scale well for big runs), plus there's no relationship info - so it's not clear what steps are waiting for what..

ewels avatar Oct 04 '19 09:10 ewels

You're always one step ahead @pditommaso

Mike Smoot found it out :)

It would be a lot cleaner if it only had processes though

True, that should be something to be implemented by this https://github.com/nextflow-io/nextflow/issues/1056

pditommaso avatar Oct 04 '19 10:10 pditommaso

An alternative to nodes as pie charts could be a progress bar like edge representation, and maybe coloring the nodes by overall status like done/working/to do. Don't know if any libraries support this...

graph

Shellfishgene avatar Oct 07 '19 08:10 Shellfishgene