Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add config option to control DAG level of detail #3203

Closed
bentsherman opened this issue Sep 12, 2022 · 7 comments · Fixed by #4070
Closed

Add config option to control DAG level of detail #3203

bentsherman opened this issue Sep 12, 2022 · 7 comments · Fixed by #4070
Assignees
Labels

Comments

@bentsherman
Copy link
Member

See this Slack thread: https://nextflow.slack.com/archives/C02T98A23U7/p1662981608103629

It would be nice for the dag config scope to have a verbose option to control whether extra details like channel names and operators are displayed.

I should note however that toggling operators is not so trivial. Each operator is a node, so you would need to connect it's inputs to it's outputs. Easy enough to implement, but in cases where an operator has multiple inputs and multiple outputs, you might make things messier than before. So consider hiding the operator name but leaving an empty node to preserve the overall shape of the dataflow.

@mribeirodantas Should be a good issue for you when you have time.

@mribeirodantas
Copy link
Member

When you say hiding the operator name but leaving an empty node, the DAG structure wouldn't change. Only the label for operator/channels would be hidden, right?

@bentsherman
Copy link
Member Author

Right

@bentsherman
Copy link
Member Author

Probably a separate effort, but I think we should also be able to collapse subworkflows into single nodes. That would make the DAG actually usable for real workflows.

As an example, I generated the Mermaid diagram for rnaseq: rnaseq

It's like looking at the logic diagram of an entire CPU -- hilariously impossible. What you really want is something more coarse-grained by default, that you can optionally make more fine-grained as you need it. A config option called e.g. dag.depth could control how many levels to show, just like the depth of a TOC tree.

nf-core/rnaseq is a bit weird because the top-level workflow calls NFCORE_RNASEQ, which calls RNASEQ, which implements the actual workflow. So for rnaseq you would set dag.depth = 3 to get a level of detail comparable to the diagram here.

Related issues: #1056 #1543

@pditommaso
Copy link
Member

LOL. what pipeline is this?

@bentsherman
Copy link
Member Author

nf-core rnaseq !

@pditommaso
Copy link
Member

@stale
Copy link

stale bot commented Mar 18, 2023

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the stale label Mar 18, 2023
@bentsherman bentsherman self-assigned this Mar 18, 2023
@bentsherman bentsherman added pinned and removed stale labels Mar 18, 2023
@bentsherman bentsherman linked a pull request Jul 2, 2023 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants