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

Feedback #88

Open
alpha-beta-soup opened this issue Jul 24, 2022 · 0 comments
Open

Feedback #88

alpha-beta-soup opened this issue Jul 24, 2022 · 0 comments

Comments

@alpha-beta-soup
Copy link

alpha-beta-soup commented Jul 24, 2022

I just used these materials with a group of around 10 learners in a virtual workshop. My learners were familiar with programming and CLIs, but not necessarily Python. They were interested in HPC. It was internal to my company, and we loosely followed Carpentries practice as well as we could. We used two sessions of two hours, split by lunch. We finished on time without me feeling like we rushed anything. We did however skip the section on use in an HPC, but did comment on it, and we encouraged those interested to read the HPC section independently, and also gave links to specific materials dealing with the use of SnakeMake on an HPC with Slurm.

At the end, we asked for feedback from learners, but only got two bits of pedagogical feedback:

  • glob_wildcards utility was unclear, the example seemed trivial. (Perhaps an example is needed with more than one wildcard?)
  • The resources section was difficult to understand. (I found this difficult to teach particularly as apart from CPU cores, resources are arbitrary and can be fabricated.)

I'd also like to emphasise #83 as an annoyance, but it did help to emphasise that SnakeMake has had some annoying breaking changes to its CLI, sometimes between minor rather than major versions...

The use of --quiet in the SnakeMake CLI has also changed: it should be --quiet=all to retain prior behaviour in later versions of SnakeMake.

If using Python 3.10+, from collections should be from collections.abc. This has been noted elsewhere too.

I found it useful to include a rule for generating DAGs:

rule dag:
	output: 'workflow.{type}.png'
	wildcard_constraints:
		type='rulegraph|dag'
	shell: 'snakemake --{wildcards.type} | dot -Tpng > {output}'

I introduced this rule at the end of the "Pattern rules" section and used it later to regenerate the DAG to assert that the workflow was still sensible. I find that including a DAG image in an archive is a noteworthy practice. It did however require covering wildcard_constraints, so I suppose that could be omitted.

Thanks a lot for the work that has gone into this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant