Workflow leaderboard / General / Coding assistant

Automate a research pipeline with provenance

自动化科研流程并保留来源记录

General / 通用 Coding assistant / 代码助手 curated verified 2026-08-02

Replace an undocumented sequence of analysis commands with a restartable workflow that records inputs, outputs and software configuration.

Variants

Free & local / 免费本地 ~40 min setup

Any laptop that can run the underlying analysis. Snakemake itself has modest requirements.

ComponentRolePriceLink
Snakemake 9.24.0 dependency-aware research workflow execution Free / 免费MIT-licensed workflow softwarechecked 2026-08-02 https://github.com/snakemake/snakemake/releases/tag/v9.24.0

Save as Snakefile

rule all:
    input: 'results/summary.csv', 'results/report.html'

rule clean:
    input: 'data/raw.csv'
    output: 'work/clean.csv'
    conda: 'envs/analysis.yml'
    shell: 'python scripts/clean.py {input} {output}'

rule analyze:
    input: 'work/clean.csv'
    output: 'results/summary.csv'
    conda: 'envs/analysis.yml'
    shell: 'python scripts/analyze.py {input} {output}'

rule report:
    input: data='results/summary.csv', source='report.qmd'
    output: 'results/report.html'
    conda: 'envs/analysis.yml'
    shell: 'quarto render {input.source} --output-dir results'

Save as envs/analysis.yml

channels:
  - conda-forge
dependencies:
  - python=3.12
  - pandas
  - quarto=1.10
  - jupyter

Dry-run, execute and record provenance

snakemake --dry-run --printshellcmds
snakemake --cores 1 --use-conda --software-deployment-method conda
snakemake --report results/workflow-report.html
sha256sum data/raw.csv Snakefile envs/analysis.yml scripts/*.py > results/SHA256SUMS

Known pitfalls

  • A workflow only tracks dependencies declared in its rules.
  • Never make raw data an output target.
  • Shell commands must fail on errors rather than leave partial outputs.
  • Review generated workflow code before running it on restricted data or expensive compute.

Evidence