Skip to content
Merged
Show file tree
Hide file tree
Changes from 9 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ A Snakemake workflow for `<description>`
- [Snakemake workflow: `<name>`](#snakemake-workflow-name)
- [Usage](#usage)
- [Deployment options](#deployment-options)
- [Workflow profiles](#workflow-profiles)
- [Authors](#authors)
- [References](#references)
- [TODO](#todo)
Expand Down Expand Up @@ -50,6 +51,11 @@ Run the workflow with:
snakemake --cores 2 --sdm conda apptainer --directory .test
```

## Workflow profiles

The `profiles/` directory can contain any number of [workflow specific profiles](https://snakemake.readthedocs.io/en/stable/executing/cli.html#profiles) that users can choose from.
The [profiles `README.md`](profiles/README.md) provides more details.
Comment thread
dlaehnemann marked this conversation as resolved.
Outdated

## Authors

- Firstname Lastname
Expand Down
17 changes: 17 additions & 0 deletions profiles/README.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
The `profiles/` directory can contain any number of subdirectories, each containing a `config.yaml` file with a [workflow specific profile](https://snakemake.readthedocs.io/en/stable/executing/cli.html#profiles):

`profiles/<specific_profile_name>/config.yaml`

The profile `profiles/default/config.yaml` will automatically be used by snakemake whenever you don't provide a workflow-specific profile via `--workflow-profile`.
This means that any resources or other (command line) arguments specified there, will implicitly be used when running this workflow.
Thus, as a workflow developer, only put configurations there that you expect to work in most environments, but which the users might want to tweak.
And for rule-specific resource setting, preferably provide generally applicable settings right in the rule definition, if necessary via [dynamic resource](https://snakemake.readthedocs.io/en/stable/snakefiles/rules.html#dynamic-resources) specification---users can always override those in a profile, if they need to.

For any more specific profiles, use separate and clearly named subdirectories.
For example use `profiles/slurm/config.yaml` for a slurm-specific profile, or even something like `profiles/slurm_uni_xyz/config.yaml` for a particular institutional slurm compute cluster.

It is also good practice to add clear documentation comments for each entry in a (workflow) profile.
This should explain the respective entry, indicate what kind of values can be used and why a particular value or setting were chosen.
To this end, it is often helpful to provide links to relevant documentation pages, either from snakemake, a snakemake plugin or a specific cluster environment.

In general, we welcome pull requests for 3rd-party workflows you are working with to include such a profile for your specific compute environment.
Loading