Skip to content
Merged
Show file tree
Hide file tree
Changes from all 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: 4 additions & 2 deletions scripts/generate-catalog.py
Original file line number Diff line number Diff line change
Expand Up @@ -121,6 +121,7 @@ def __init__(
total_count = 1
offset = 0
end = 1
end_log = 1
else:
assert "LATEST_COMMIT" in os.environ
latest_commit = int(os.environ["LATEST_COMMIT"])
Expand All @@ -137,6 +138,7 @@ def __init__(
)
# check before downloading a repo if it has a Snakefile
end = min(offset + n_repos, total_count)
end_log = total_count if end == total_count else end - 1
repo_list = []
for i in range(offset, end):
checked_repo = call_rate_limit_aware(lambda: repo_search[i], api_type="search")
Expand All @@ -145,7 +147,7 @@ def __init__(


logging.info(
f"Checking {total_count} repos ({offset}-{end-1}), of which {len(repo_list)} have a Snakefile."
f"Checking repos {offset}-{end_log} (total: {total_count}), of which {len(repo_list)} have a Snakefile."
)

for i, repo in enumerate(repo_list):
Expand All @@ -154,7 +156,7 @@ def __init__(
time.sleep(5)

if i % 10 == 0:
logging.info(f"{i} of {total_count} repos done.")
logging.info(f"{i} of {len(repo_list)} repos done.")

log_skip = lambda reason: logging.info(
f"Skipped {repo.full_name} because {reason}."
Expand Down
8 changes: 7 additions & 1 deletion source/_static/custom.css
Original file line number Diff line number Diff line change
@@ -1,11 +1,17 @@
.image-reference img {
display: inline;
display: block;
text-align: center;
}

.image-reference {
border-bottom: none !important;
}

.rounded-img {
border-radius: 10px;
overflow: hidden;
}

table code.literal {
white-space: nowrap !important;
}
Expand Down
Binary file added source/_static/news_item1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added source/_static/news_item2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion source/_templates/workflows_by.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Top workflows by {{ input[0]["metric"] }}

::::{grid} 3
::::{grid} 1 2 3 3

{% for repo in input -%}

Expand Down
35 changes: 28 additions & 7 deletions source/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,15 +23,35 @@ docs/catalog

# Snakemake workflow catalog

<figure>
<img src="https://raw.githubusercontent.com/snakemake/snakemake.github.io/refs/heads/master/src/logo_light.svg" alt="Snakemake workflow catalog" style="width:35%" />
</figure>
## News

#### 2026-04-13

We are excited to launch **two new features** in the Snakemake Workflow Catalog that make automatic display of workflow pages both easier and more visually appealing:

1. The Catalog now supports automatic rendering of **Tube Maps** using [snakevision](https://github.com/OpenOmics/snakevision). Tube maps will automatically show up on your workflow page if the workflow has an executable test case in `.test` ([details](docs/about/adding_workflows)).

```{image} _static/news_item1.png
:alt: example tube map rendering
:width: 90%
:align: center
:class: rounded-img
```

2. The Catalog will automatically render a **Workflow Parameter Table** if your workflow repo contains a `workflow/schemas/config.schema.y(a)ml` or `config/schemas/config.schema.y(a)ml` ([details](docs/about/adding_workflows)). No need to manually maintain a table of parameters on your workflow page anymore.

```{image} _static/news_item2.png
:alt: example parameter table rendering
:width: 90%
:align: center
:class: rounded-img
```

## About

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:

::::{grid} 3
::::{grid} 1 2 3 3
:::{grid-item-card} **Reproducibility**
Snakemake workflows produce consistent results, making it easier to share and validate scientific findings.
<img src="_static/icon_reproducibility_grey.svg" style="width:100%" />
Expand Down Expand Up @@ -72,6 +92,7 @@ Report issues or ideas on Github 📢

::::{grid} 1
:::{grid-item-card}

<iframe src="_static/chart_standardized.html" width="100%" height="175px"></iframe>
:::
:::{grid-item-card}
Expand All @@ -94,6 +115,6 @@ Report issues or ideas on Github 📢
## Contributing

- Improving PRs or issues with the workflow catalog (only the catalog, not the workflows themselves) can be made [here](http://github.com/snakemake/snakemake-workflow-catalog)
- Improving PRs or issues with the listed workflows can be made at the respective workflow repository (see individual [workflow pages](<docs/all_standardized_workflows>)).
- Resources for creating new workflows can be found [here](<docs/snakemake>) or in more detail on the [Snakemake documentation](https://snakemake.readthedocs.io/en/stable/index.html)
- New workflows will be [automatically added](<docs/catalog>) to the workflow catalog if they are contained in eligible Github repositories
- Improving PRs or issues with the listed workflows can be made at the respective workflow repository (see individual [workflow pages](docs/all_standardized_workflows)).
- Resources for creating new workflows can be found [here](docs/snakemake) or in more detail on the [Snakemake documentation](https://snakemake.readthedocs.io/en/stable/index.html)
- New workflows will be [automatically added](docs/catalog) to the workflow catalog if they are contained in eligible Github repositories