From 7caf1c1cc5344a065a4af60b46f95083a25f9524 Mon Sep 17 00:00:00 2001 From: Rina Ahmed-Begrich Date: Tue, 16 Dec 2025 14:08:09 +0100 Subject: [PATCH 1/7] fix: remove checkpoint in dorado_demux to speed up workflow, closes #32 --- resources/images/dag.png | Bin 65957 -> 39208 bytes resources/images/dag.svg | 736 ++++++---------------------- workflow/Snakefile | 3 - workflow/profiles/slurm/config.yaml | 14 +- workflow/rules/common.smk | 32 +- workflow/rules/demultiplex.smk | 35 +- 6 files changed, 220 insertions(+), 600 deletions(-) diff --git a/resources/images/dag.png b/resources/images/dag.png index 197fb03589e129ed190971850cb91eca33206419..269643552b7a9a5c45019d1113c73a14ba52d902 100644 GIT binary patch literal 39208 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 z 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 XGrSRNx9VJ2FoJ^-5<#!n#FhL5;~8A0 literal 65957 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 P>o9iv4 - - - - - - - - - - - - snakemake_dag - - - 4->11 - - - - - - 0 - - all - - - - 1 - - aggregrate_barcode - - - - 1->0 - - - - - - - - - - 4 - - dorado_demux - - - - - - - 11 - - aggregrate_file - - - - 4->11 - - - - - 4->11 - - - - - 4->11 - - - - - 4->11 - - - - - - 13 - - - - - - - 7 - - dorado_summary - - - - - 6 - - download_model - - - - - - - - 15 - - prepare_summary - - - - - - - - 10 - - gzip - - - - 10->1 - - - - - - 11->10 - - - - - - - - - 14 - - pycoQC_report - - - - 14->0 - - - - - - 15->14 - - - - - - 18 - - nanoplot_report - - - - 15->18 - - - - - - - - - 18->0 - - - - - 5 - - dorado_simplex - - + + +snakemake_dag + + + +0 + +all + + + +1 + +aggregrate_barcode + + + +1->0 + + + + + +2 + +gzip + + + +2->1 + + + + + +3 + +aggregrate_file + + + +3->2 + + + + + +4 + +download_model + + + +7 + +dorado_simplex + + + +4->7 + + + + + +5 + +collect_demuxed_fastq + + + +5->3 + + + + + +6 + +dorado_demux + + + +6->5 + + + + + +7->6 + + + + + +10 + +dorado_summary + + + +7->10 + + + + + +8 + +pycoQC_report + + + +8->0 + + + + + +9 + +prepare_summary + + + +9->8 + + + + + +11 + +nanoplot_report + + + +9->11 + + + + + +10->9 + + + + + +11->0 + + + + diff --git a/workflow/Snakefile b/workflow/Snakefile index 8f9b07c..99f8cb5 100644 --- a/workflow/Snakefile +++ b/workflow/Snakefile @@ -77,9 +77,6 @@ onerror: localrules: download_model, - dorado_demux, - aggregrate_file, - aggregrate_barcode, # ----------------------------------------------------- diff --git a/workflow/profiles/slurm/config.yaml b/workflow/profiles/slurm/config.yaml index 89764cb..8d137ce 100644 --- a/workflow/profiles/slurm/config.yaml +++ b/workflow/profiles/slurm/config.yaml @@ -1,7 +1,7 @@ executor: slurm jobs: 100 local-cores: 40 -retries: 1 +retries: 2 sdm: conda # set the default resources for all rules @@ -14,24 +14,24 @@ default-resources: set-resources: download_model: mem_mb: 48000 - cpus_per_task: 4 + cpus_per_task: 1 dorado_simplex: slurm_partition: "scc-gpu" gpu: 1 cpus_per_gpu: 4 - mem_mb: 16000 + mem_mb: 2400 dorado_summary: mem_mb: 48000 cpus_per_task: 40 dorado_demux: mem_mb: 48000 - cpus_per_task: 40 + cpus_per_task: 4 gzip: mem_mb: 48000 cpus_per_task: 40 pycoQC_report: mem_mb: 48000 - cpus_per_task: 12 + cpus_per_task: 1 runtime: "60min" nanoplot_report: mem_mb: 48000 @@ -41,8 +41,8 @@ set-resources: # threads define how much resources each rule may take, overrides .smk defs: set-threads: dorado_simplex: 1 - dorado_demux: 40 + dorado_demux: 4 dorado_summary: 40 gzip: 40 - pycoQC_report: 12 + pycoQC_report: 1 nanoplot_report: 12 diff --git a/workflow/rules/common.smk b/workflow/rules/common.smk index be0fde7..e9a684a 100644 --- a/workflow/rules/common.smk +++ b/workflow/rules/common.smk @@ -48,6 +48,15 @@ def check_dorado_version(dorado_path, min_dorado_version): ) +def get_run_files(run): + file_ext = config["input"]["file_extension"] + run = run + run_dir = runs.loc[run, "data_folder"] + pattern = f"{run_dir}/{{file}}{file_ext}" + files = glob_wildcards(pattern).file + return files + + # ----------------------------------------------------- # input functions # ----------------------------------------------------- @@ -58,19 +67,28 @@ def get_pod5(wildcards): ) +def get_demuxed_flag(wildcards): + return expand( + "results/{run}/dorado_demux/{file}/demux.finished", + run=wildcards.run, + file=get_run_files(wildcards.run), + ) + + def get_demuxed_fastq(wildcards): # parse file names file_ext = config["input"]["file_extension"] data_dir = runs.loc[wildcards.run, "data_folder"] pattern = f"{data_dir}/{{file}}{file_ext}" files = glob_wildcards(pattern).file - # parse prefix - cp_out = [ - checkpoints.dorado_demux.get( - run=wildcards.run, barcode=wildcards.barcode, file=curr_file - ).output[0] - for curr_file in files - ] + + cp_out = expand( + "results/{run}/dorado_demux/{file}", + run=wildcards.run, + barcode=wildcards.barcode, + file=files, + ) + base_dir = os.path.commonpath(cp_out) globs = glob_wildcards( os.path.join( diff --git a/workflow/rules/demultiplex.smk b/workflow/rules/demultiplex.smk index 0b9afd1..d1a2450 100644 --- a/workflow/rules/demultiplex.smk +++ b/workflow/rules/demultiplex.smk @@ -1,20 +1,18 @@ # ----------------------------------------------------- # demultiplex dorado basecall files # ----------------------------------------------------- -checkpoint dorado_demux: +rule dorado_demux: input: bam="results/{run}/dorado_simplex/{file}.bam", - summary="results/{run}/dorado_summary/{file}.summary", output: fastq=directory("results/{run}/dorado_demux/{file}"), + flag="results/{run}/dorado_demux/{file}/demux.finished", params: dorado=config["dorado"]["path"], cuda=config["dorado"]["simplex"]["cuda"], conda: "../envs/base.yml" - threads: int(workflow.cores * 0.2) - wildcard_constraints: - file=config["input"]["file_regex"], + threads: 4 log: "results/{run}/dorado_demux/{file}.log", shell: @@ -27,7 +25,29 @@ checkpoint dorado_demux: --no-classify \ {input.bam} 2> {log}; find {output.fastq} -mindepth 4 -type f -name '*.fastq' -exec mv {{}} {output.fastq}/ \\; - find {output.fastq} -mindepth 1 -type d -empty -delete + find {output.fastq} -mindepth 1 -type d -empty -delete; + touch {output.flag} + """ + + +# ----------------------------------------------------- +# collect demuxed fastq files (pseudo rule) +# ----------------------------------------------------- +rule collect_demuxed_fastq: + input: + get_demuxed_flag, + output: + "results/{run}/dorado_demux/demux_finished.txt", + conda: + "../envs/base.yml" + threads: 1 + log: + "results/{run}/dorado_demux/demux_finished.log", + shell: + """ + printf '%s\n' $(echo {input}) > {output} 2> {log}; + echo 'Collected FASTQ files:' >> {log}; + echo $(wc -l {output}) >> {log}; """ @@ -36,11 +56,14 @@ checkpoint dorado_demux: # ----------------------------------------------------- rule aggregrate_file: input: + flag=rules.collect_demuxed_fastq.output, fastq=get_demuxed_fastq, output: fastq="results/{run}/dorado_aggregate/{barcode}.fastq", conda: "../envs/bgzip.yml" + wildcard_constraints: + file=config["input"]["file_regex"], log: "results/{run}/dorado_aggregate/{barcode}.log", shell: From e603589ab8565cb1130a31fb14d60dd2b33535b0 Mon Sep 17 00:00:00 2001 From: m-jahn Date: Tue, 16 Dec 2025 14:22:38 +0100 Subject: [PATCH 2/7] fix: update gh actions --- .github/workflows/main.yml | 27 +++++++++++++-------------- .github/workflows/release-please.yml | 2 +- 2 files changed, 14 insertions(+), 15 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 6a893ca..db11319 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,20 +1,19 @@ -name: CI +name: Tests on: push: - branches: [main, dev] + branches: [main] pull_request: - branches: [main, dev] + branches: [main] jobs: Formatting: runs-on: ubuntu-latest - if: ${{ github.actor != 'github-actions[bot]' }} steps: - uses: actions/checkout@v4 with: fetch-depth: 0 - - name: Test formatting + - name: Formatting uses: super-linter/super-linter@v7 env: VALIDATE_ALL_CODEBASE: false @@ -25,11 +24,10 @@ jobs: Linting: runs-on: ubuntu-latest - if: ${{ github.actor != 'github-actions[bot]' }} steps: - uses: actions/checkout@v4 - - name: Test linting workflow - uses: snakemake/snakemake-github-action@v2.0.0 + - name: Lint workflow + uses: snakemake/snakemake-github-action@v2 with: directory: . snakefile: workflow/Snakefile @@ -37,21 +35,22 @@ jobs: Testing: runs-on: ubuntu-latest - if: ${{ github.actor != 'github-actions[bot]' }} needs: + - Linting - Formatting steps: - uses: actions/checkout@v4 - - name: Test run workflow - uses: snakemake/snakemake-github-action@v2.0.0 + + - name: Test workflow + uses: snakemake/snakemake-github-action@v2 with: directory: .test snakefile: workflow/Snakefile - args: "--sdm conda --show-failed-logs --cores 3 --conda-cleanup-pkgs cache -n" + args: "--sdm conda --show-failed-logs --cores 2 --conda-cleanup-pkgs cache" - name: Test report - uses: snakemake/snakemake-github-action@v2.0.0 + uses: snakemake/snakemake-github-action@v2 with: directory: .test snakefile: workflow/Snakefile - args: "--cores 3 --report report.zip -n" + args: "--report report.zip" diff --git a/.github/workflows/release-please.yml b/.github/workflows/release-please.yml index 78dcfea..e9ec84c 100644 --- a/.github/workflows/release-please.yml +++ b/.github/workflows/release-please.yml @@ -17,4 +17,4 @@ jobs: - uses: googleapis/release-please-action@v4 with: token: ${{ secrets.GITHUB_TOKEN }} - release-type: simple + release-type: go # just keep a changelog, no version anywhere outside of git tags From 01f7778ae94a5a712325e8f63260b0da92891073 Mon Sep 17 00:00:00 2001 From: m-jahn Date: Tue, 16 Dec 2025 14:24:01 +0100 Subject: [PATCH 3/7] fix: update container deployment --- .github/workflows/deploy_apptainer.yml | 6 ------ workflow/Snakefile | 2 +- 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/.github/workflows/deploy_apptainer.yml b/.github/workflows/deploy_apptainer.yml index e7b8081..1034cc3 100644 --- a/.github/workflows/deploy_apptainer.yml +++ b/.github/workflows/deploy_apptainer.yml @@ -20,12 +20,6 @@ jobs: with: fetch-depth: 0 - - name: add apptainer source - shell: bash - run: | - sudo add-apt-repository -y ppa:apptainer/ppa - sudo apt-get update - - name: create dockerfile uses: snakemake/snakemake-github-action@v2 with: diff --git a/workflow/Snakefile b/workflow/Snakefile index 99f8cb5..2e04d27 100644 --- a/workflow/Snakefile +++ b/workflow/Snakefile @@ -43,7 +43,7 @@ configfile: "config/config.yml" # ----------------------------------------------------- # container definition (optional) # ----------------------------------------------------- -container: "oras://ghcr.io/mpusp/snakemake-ont-basecalling:latest" +containerized: "oras://ghcr.io/mpusp/snakemake-ont-basecalling:latest" # ----------------------------------------------------- From 7181eb3e17a64458c155b56fd9c1a22a5905ef68 Mon Sep 17 00:00:00 2001 From: m-jahn Date: Tue, 16 Dec 2025 14:31:54 +0100 Subject: [PATCH 4/7] fix: added cores for report, dry-run only --- .github/workflows/main.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index db11319..a75b9aa 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -46,11 +46,11 @@ jobs: with: directory: .test snakefile: workflow/Snakefile - args: "--sdm conda --show-failed-logs --cores 2 --conda-cleanup-pkgs cache" + args: "--sdm conda --show-failed-logs --cores 2 --conda-cleanup-pkgs cache -n" - name: Test report uses: snakemake/snakemake-github-action@v2 with: directory: .test snakefile: workflow/Snakefile - args: "--report report.zip" + args: "--cores 2 --report report.zip" From 437ec89a633ab23e69fe9a7f37f2ddb228a15ab9 Mon Sep 17 00:00:00 2001 From: m-jahn Date: Tue, 6 Jan 2026 15:40:10 +0100 Subject: [PATCH 5/7] fix: attempt to fix checkpoint problem --- workflow/rules/common.smk | 8 +++----- workflow/rules/demultiplex.smk | 2 +- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/workflow/rules/common.smk b/workflow/rules/common.smk index e9a684a..bb48b14 100644 --- a/workflow/rules/common.smk +++ b/workflow/rules/common.smk @@ -50,7 +50,6 @@ def check_dorado_version(dorado_path, min_dorado_version): def get_run_files(run): file_ext = config["input"]["file_extension"] - run = run run_dir = runs.loc[run, "data_folder"] pattern = f"{run_dir}/{{file}}{file_ext}" files = glob_wildcards(pattern).file @@ -81,21 +80,20 @@ def get_demuxed_fastq(wildcards): data_dir = runs.loc[wildcards.run, "data_folder"] pattern = f"{data_dir}/{{file}}{file_ext}" files = glob_wildcards(pattern).file - + # construct base output paths cp_out = expand( "results/{run}/dorado_demux/{file}", run=wildcards.run, - barcode=wildcards.barcode, file=files, ) - base_dir = os.path.commonpath(cp_out) + # glob pattern for demuxed fastq files globs = glob_wildcards( os.path.join( base_dir, "{file}/{prefix}_barcode{barcode}_{suffix}_00000000_0.fastq" ) ) - # construct input targets + # construct all input targets result = expand( "results/{run}/dorado_demux/{file}/{prefix}_barcode{barcode}_{suffix}_00000000_0.fastq", run=wildcards.run, diff --git a/workflow/rules/demultiplex.smk b/workflow/rules/demultiplex.smk index d1a2450..e157bde 100644 --- a/workflow/rules/demultiplex.smk +++ b/workflow/rules/demultiplex.smk @@ -33,7 +33,7 @@ rule dorado_demux: # ----------------------------------------------------- # collect demuxed fastq files (pseudo rule) # ----------------------------------------------------- -rule collect_demuxed_fastq: +checkpoint collect_demuxed_fastq: input: get_demuxed_flag, output: From 51061d79e8860856e931295e9f6702eed35494d0 Mon Sep 17 00:00:00 2001 From: m-jahn Date: Wed, 7 Jan 2026 12:24:29 +0100 Subject: [PATCH 6/7] fix: move wildcard constraints, readme instructions --- README.md | 4 +--- config/README.md | 2 +- workflow/rules/demultiplex.smk | 4 ++-- 3 files changed, 4 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 0dc2967..f5f5a69 100644 --- a/README.md +++ b/README.md @@ -67,8 +67,6 @@ conda activate snakemake-ont-basecalling This step creates all conda environments specified in the snakemake rules. This step is optional. ```bash -# activate new environment -conda activate snakemake-ont-basecalling snakemake -c 1 --sdm conda --conda-create-envs-only --conda-cleanup-pkgs cache --directory .test ``` @@ -118,7 +116,7 @@ snakemake --cores 3 --sdm conda apptainer --directory .test --apptainer-args "-- To run the workflow with test files on a **slurm cluster**, adjust the slurm-specific profile `workflow/profiles/slurm/config.yaml` file and run: ```bash -snakemake --sdm conda --workflow-profile workflow/profiles/slurm/ --directory .test +snakemake --cores 3 --sdm conda --workflow-profile workflow/profiles/slurm/ --directory .test ``` **Note:** diff --git a/config/README.md b/config/README.md index 119dc02..8985e5d 100644 --- a/config/README.md +++ b/config/README.md @@ -44,7 +44,7 @@ snakemake --cores 3 --sdm conda apptainer --directory .test --apptainer-args "-- To run the workflow with test files on a **slurm cluster**, adjust the slurm-specific profile `workflow/profiles/slurm/config.yaml` file and run: ```bash -snakemake --sdm conda --workflow-profile workflow/profiles/slurm/ --directory .test +snakemake --cores 3 --sdm conda --workflow-profile workflow/profiles/slurm/ --directory .test ``` **Note:** diff --git a/workflow/rules/demultiplex.smk b/workflow/rules/demultiplex.smk index e157bde..6221894 100644 --- a/workflow/rules/demultiplex.smk +++ b/workflow/rules/demultiplex.smk @@ -12,6 +12,8 @@ rule dorado_demux: cuda=config["dorado"]["simplex"]["cuda"], conda: "../envs/base.yml" + wildcard_constraints: + file=config["input"]["file_regex"], threads: 4 log: "results/{run}/dorado_demux/{file}.log", @@ -62,8 +64,6 @@ rule aggregrate_file: fastq="results/{run}/dorado_aggregate/{barcode}.fastq", conda: "../envs/bgzip.yml" - wildcard_constraints: - file=config["input"]["file_regex"], log: "results/{run}/dorado_aggregate/{barcode}.log", shell: From c94eb1345072258b7887c1f75e76a8b7ed12d8be Mon Sep 17 00:00:00 2001 From: Rina Ahmed-Begrich Date: Wed, 7 Jan 2026 14:03:03 +0100 Subject: [PATCH 7/7] fix: adjust slurm profile --- workflow/profiles/slurm/config.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/workflow/profiles/slurm/config.yaml b/workflow/profiles/slurm/config.yaml index 8d137ce..6cf8310 100644 --- a/workflow/profiles/slurm/config.yaml +++ b/workflow/profiles/slurm/config.yaml @@ -1,7 +1,7 @@ executor: slurm jobs: 100 local-cores: 40 -retries: 2 +retries: 1 sdm: conda # set the default resources for all rules @@ -19,7 +19,7 @@ set-resources: slurm_partition: "scc-gpu" gpu: 1 cpus_per_gpu: 4 - mem_mb: 2400 + mem_mb: 16000 dorado_summary: mem_mb: 48000 cpus_per_task: 40