You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert

6
+

7
+
2
8
A statically generated catalog of available Snakemake workflows
9
+
10
+
This repository serves as a centralized collection of workflows designed to facilitate reproducible and scalable data analyses using the [**Snakemake**](https://snakemake.github.io/) workflow management system.
11
+
12
+
## Purpose
13
+
14
+
The Snakemake Workflow Catalog aims to provide a regularly updated list of high-quality workflows that can be easily reused and adapted for various data analysis tasks. By leveraging the power of [**Snakemake**](https://snakemake.github.io/), these workflows promote:
15
+
16
+
- Reproducibility: Snakemake workflows produce consistent results, making it easier to share and validate scientific findings.
17
+
- Scalability: Snakemake workflows can be executed on various computing environments, from local machines to high-performance computing clusters and cloud services.
18
+
- Modularity: Snakemake workflows are structured to allow easy customization and extension, enabling users to adapt them to their specific needs.
19
+
20
+
## Workflows
21
+
22
+
Workflows are automatically added to the Workflow Catalog. This is done by regularly searching Github repositories for matching workflow structures. The catalog includes workflows based on the following criteria.
23
+
24
+
### All workflows
25
+
26
+
- The workflow is contained in a public Github repository.
27
+
- The repository has a `README.md` file, containing the words "snakemake" and "workflow" (case insensitive).
28
+
- The repository contains a workflow definition named either `Snakefile` or `workflow/Snakefile`.
29
+
- If the repository contains a folder `rules` or `workflow/rules`, that folder must at least contain one file ending on `.smk`.
30
+
- The repository is small enough to be cloned into a [Github Actions](https://docs.github.com/en/actions/about-github-actions/understanding-github-actions) job (very large files should be handled via [Git LFS](https://docs.github.com/en/repositories/working-with-files/managing-large-files), so that they can be stripped out during cloning).
31
+
- The repository is not blacklisted here.
32
+
33
+
### Standardized usage workflows
34
+
35
+
In order to additionally appear in the "standardized usage" area, repositories additionally have to:
36
+
37
+
- have their main workflow definition named `workflow/Snakefile` (unlike for plain inclusion (see above), which also allows just `Snakefile` in the root of the repository),
38
+
- provide configuration instructions under `config/README.md`
39
+
- contain a `YAML` file `.snakemake-workflow-catalog.yml` in their root directory, which configures the usage instructions displayed by this workflow catalog.
40
+
41
+
Typical content of the `.snakemake-workflow-catalog.yml` file:
42
+
43
+
```bash
44
+
usage:
45
+
mandatory-flags: # optional definition of additional flags
46
+
desc: # describe your flags here in a few sentences (they will be inserted below the example commands)
47
+
flags: # put your flags here
48
+
software-stack-deployment: # definition of software deployment method (at least one of conda, singularity, or singularity+conda)
49
+
conda: true# whether pipeline works with --use-conda
50
+
singularity: true# whether pipeline works with --use-singularity
51
+
singularity+conda: true# whether pipeline works with --use-singularity --use-conda
52
+
report: true# add this to confirm that the workflow allows to use 'snakemake --report report.zip' to generate a report containing all results and explanations
53
+
```
54
+
55
+
Once included in the standardized usage area you can link directly to the usage instructions for your repository via the URL `https://snakemake.github.io/snakemake-workflow-catalog?usage=<owner>/<repo>`.
56
+
57
+
### Release handling
58
+
59
+
If your workflow provides Github releases, the catalog will always just scrape the latest non-preview release. Hence, in order to update your workflow's records here, you need to release a new version on Github.
60
+
61
+
## Contributing
62
+
63
+
Contributions to the Snakemake Workflow Catalog are welcome!
64
+
Ideas can be discussed on the [catalog's Issues page](https://github.com/snakemake/snakemake-workflow-catalog/issues) first, and contributions made through Github Pull Requests.
65
+
66
+
## Using workflows from the catalog
67
+
68
+
To get started with a workflow from the catalog:
69
+
70
+
1. Clone the repository or download the specific workflow directory.
71
+
2. Review the documentation provided with the workflow to understand its requirements and usage.
72
+
3. Configure the workflow by editing the `config.yml` files as needed.
73
+
4. Execute the workflow using Snakemake.
74
+
75
+
For more detailed instructions, please refer to the documentation within each workflow directory.
76
+
77
+
## License
78
+
79
+
The Snakemake Workflow Catalog is open-source and available under the MIT License.
80
+
For more information and to explore the available workflows, visit https://snakemake.github.io/snakemake-workflow-catalog/.
0 commit comments