nf-tower
nf-tower copied to clipboard
Ability to visualise progress of workflow on DAG
The DAG provides a good representation for visualising the workflow.
This could be annotated with the status of each process.
Umm, not completely sold to this. Are you using a library for the dag visualization?
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.
π
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
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.
Oh sorry, itβs not open source / free. But Iβm sure that there must be others too..
https://js.cytoscape.org/ looks perfect π
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.
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..? π
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.
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..
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
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...