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
* fix: update dagviz, snakevision call now supports native dark mode
* perf: attempt to download only Snakefile containing repos
* docs: added pixi and new wf page features
* fix: just use latest release as before
* fix: review comments
Copy file name to clipboardExpand all lines: README.md
+50-26Lines changed: 50 additions & 26 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -28,7 +28,7 @@ Workflows are automatically added to the Workflow Catalog. This is done by regul
28
28
- The repository contains a workflow definition named either `Snakefile` or `workflow/Snakefile`.
29
29
- If the repository contains a folder `rules` or `workflow/rules`, that folder must at least contain one file ending on `.smk`.
30
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.
31
+
- The repository is not blacklisted.
32
32
33
33
### Standardized usage workflows
34
34
@@ -54,6 +54,23 @@ usage:
54
54
55
55
Once included in the standardized usage area you can link directly to the workflow page using the URL `https://snakemake.github.io/snakemake-workflow-catalog/docs/workflows/<owner>/<repo>`. Do not forget to replace the `<owner>` and `<repo>` tags at the end of the URL.
56
56
57
+
### Workflow pages
58
+
59
+
Each standardized workflow has its own page, which is linked on the summary tables or the 'top workflows' tiles.
60
+
Workflow pages are **enhanced by information automatically parsed** from their Github repositories. Right now this includes:
61
+
62
+
1. **Tube Maps**: A graphical representation of the workflow rulegraph, build using [snakevision](https://github.com/OpenOmics/snakevision).
63
+
Tube maps will automatically show up on your workflow page if the following command can be run for your workflow: `snakemake -s <snakefile> -c 1 -d .test --forceall --rulegraph`.
64
+
This means, you need to have a working test case defined in the `.test` sub-dir.
65
+
66
+
2. **Workflow Configuration**: These are simply the configuration instructions from `config/README.md`.
67
+
68
+
3. **Workflow Parameters**: If the repo contains a `workflow/schemas/config.schema.yaml` OR `config/schemas/config.schema.yaml` file, the parameters defined in this file will be parsed and displayed as a table on the workflow page.
69
+
The default fields that are recognized in the schema are `type`, `description`, `default` and `required`.
70
+
Config options can be arbitrarily nested in the schema using the `properties` field of an object.
71
+
72
+
All these features are implemented in the [snakemake-workflow-template](https://github.com/snakemake-workflows/snakemake-workflow-template). If you want to create a standard-compliant workflow (page), the template is the ideal starting point.
73
+
57
74
### Release handling
58
75
59
76
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.
@@ -82,54 +99,61 @@ Then, clone the forked repository:
82
99
83
100
Make your changes to the catalog:
84
101
85
-
1. Create a conda/mamba environment in order to work with the catalog locally.
102
+
1. Download all software dependencies using [pixi](https://pixi.prefix.dev/latest/). Read up here [how to set up pixi](https://pixi.prefix.dev/latest/installation/) on your system.
3. Build the catalog data sources using the test repository.
131
+
4. Fetch the data for the catalog from Github:
107
132
108
133
```bash
109
-
python scripts/generate-catalog.py
110
-
python scripts/cleanup-catalog.py
134
+
pixi run generate-catalog
135
+
pixi run cleanup-catalog
111
136
```
112
137
113
-
4. Build the catalog web page using sphinx autobuild (live reload).
138
+
5. Build the catalog web page using sphinx.
114
139
115
140
```bash
116
-
sphinx-autobuild source/ build/
141
+
pixi run render-catalog
117
142
```
118
143
119
-
... or using the make file (static build).
144
+
6. Alternatively, build the catalog web page using sphinx autobuild (live reload).
120
145
121
146
```bash
122
-
make html
147
+
sphinx-autobuild source/ build/
123
148
```
124
149
125
-
5. Run `git add .` to stage your changes.
126
-
6. Run `git commit -m "fix: your commit message"` to commit your changes.
127
-
7. Run `git push` to push your changes to your fork on Github.
128
-
129
-
Finally, create a pull request:
150
+
If you are happy with your changes, you can push them to your fork on Github and [start a Pull Request](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request):
130
151
131
-
1. Go to your fork on Github.
132
-
2. Follow the instructions on the [Github documentation: Creating a pull request](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request).
0 commit comments