diff --git a/CHANGELOG.md b/CHANGELOG.md index 0713c5e75..5769cd383 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,12 @@ All notable changes to this project will be documented in this file. +## v0.1.2 + +- fix #34 +- fix #33 +- Update to pull test data from a new s3 bucket + ## v0.1.1 Added more informative error messages if an FDR distribution cannot be made or there is not enough coverage. diff --git a/pixi.toml b/pixi.toml index 83111f3d2..080eedf31 100644 --- a/pixi.toml +++ b/pixi.toml @@ -4,56 +4,58 @@ channels = ["conda-forge", "bioconda"] description = "Add a short description here" name = "FIRE" platforms = ["osx-64", "linux-64"] -version = "0.1.1" +version = "0.1.2" [tasks] fmt = "ruff format . && taplo format pixi.toml && snakefmt workflow/" test-data = { cmd = [ - "cd", - "$INIT_CWD", - "&&", - "mkdir", - "-p", - "fire-test-data", - "&&", - "aws", - "s3", - "--no-sign-request", - "sync", - "s3://stergachis-public1/FIRE/test-data", - "fire-test-data/", + "cd", + "$INIT_CWD", + "&&", + "mkdir", + "-p", + "fire-test-data", + "&&", + "aws", + "s3", + "--no-sign-request", + "sync", + "--endpoint-url", + "https://s3.kopah.orci.washington.edu", + "s3://stergachis/public/FIRE/test-data", + "fire-test-data/", ] } test = { cmd = [ - "cd", - "$INIT_CWD/fire-test-data", - "&&", - "snakemake", - "-s", - "$PIXI_PROJECT_ROOT/workflow/Snakefile", - "--configfile", - "test.yaml", - "-k", -], depends_on = [ - "test-data", + "cd", + "$INIT_CWD/fire-test-data", + "&&", + "snakemake", + "-s", + "$PIXI_PROJECT_ROOT/workflow/Snakefile", + "--configfile", + "test.yaml", + "-k", +], depends-on = [ + "test-data", ], clean-env = true } fire = { cmd = [ - "cd", - "$INIT_CWD", - "&&", - "snakemake", - "-s", - "$PIXI_PROJECT_ROOT/workflow/Snakefile", + "cd", + "$INIT_CWD", + "&&", + "snakemake", + "-s", + "$PIXI_PROJECT_ROOT/workflow/Snakefile", ] } slurm = { cmd = [ - "cd", - "$INIT_CWD", - "&&", - "snakemake", - "-s", - "$PIXI_PROJECT_ROOT/workflow/Snakefile", - "--profile", - "$PIXI_PROJECT_ROOT/profiles/slurm-executor", + "cd", + "$INIT_CWD", + "&&", + "snakemake", + "-s", + "$PIXI_PROJECT_ROOT/workflow/Snakefile", + "--profile", + "$PIXI_PROJECT_ROOT/profiles/slurm-executor", ] } [dependencies] @@ -62,7 +64,7 @@ snakemake = "==8.21" snakemake-executor-plugin-slurm = ">=0.11.2" snakefmt = "*" ruff = "*" -awscli = "2.22" +awscli = "2.22.*" taplo = "*" [pypi-dependencies] diff --git a/workflow/rules/apply-model.smk b/workflow/rules/apply-model.smk index 9e6ad9559..8a2a6bf7d 100644 --- a/workflow/rules/apply-model.smk +++ b/workflow/rules/apply-model.smk @@ -36,6 +36,13 @@ rule fire: --output-fmt-option embed_ref=1 \ --input-fmt-option required_fields=0x1bff \ --write-index -o {output.cram} + + # check if the cram file has zero reads + reads_in_header=$(samtools view {output.cram} | head | wc -l || true) + if [ $reads_in_header -eq 0 ]; then + printf "\nNo reads passed filters exiting...\n\nPlease review https://fiberseq.github.io/quick-start.html to make sure the input BAM has been correctly processed.\n\n" + exit 1 + fi """ diff --git a/workflow/rules/coverages.smk b/workflow/rules/coverages.smk index 05f537c45..c354c76cc 100644 --- a/workflow/rules/coverages.smk +++ b/workflow/rules/coverages.smk @@ -151,6 +151,7 @@ rule unreliable_coverage_regions: output: bed="results/{sm}/additional-outputs-{v}/coverage/unreliable-coverage-regions.bed.gz", bed_tbi="results/{sm}/additional-outputs-{v}/coverage/unreliable-coverage-regions.bed.gz.tbi", + tmp=temp("temp/{sm}/additional-outputs-{v}/unreliable-coverage-regions.bed"), bb="results/{sm}/trackHub-{v}/bb/unreliable-coverage-regions.bb", threads: 4 params: @@ -171,10 +172,11 @@ rule unreliable_coverage_regions: > {output.bed} # bigbed - bgzip -cd {output.bed} -@ {threads} \ - | bigtools bedtobigbed \ + # for some reason bigtools gives a too many files open error when reading from stdin + bedtools merge -i {output.bed} > {output.tmp} + bigtools bedtobigbed \ -s start -a {params.bed3_as} \ - - {input.fai} {output.bb} + {output.tmp} {input.fai} {output.bb} # index tabix -f -p bed {output.bed}