Skip to content

Commit

Permalink
feat: added shards temp folder (#441)
Browse files Browse the repository at this point in the history
* Added shards temp file

* Added missing import

* Fixed typo

* Changed to int to avoid warning

* Changed tmpdir
  • Loading branch information
fgvieira committed Jan 18, 2022
1 parent cbba82d commit dda1546
Showing 1 changed file with 15 additions and 11 deletions.
26 changes: 15 additions & 11 deletions bio/gatk/applybqsrspark/wrapper.py
Expand Up @@ -3,6 +3,8 @@
__license__ = "MIT"

import tempfile
import random
from pathlib import Path

from snakemake.shell import shell
from snakemake_wrapper_utils.java import get_java_opts
Expand All @@ -15,16 +17,18 @@
spark_extra = snakemake.params.get("spark_extra", "")
java_opts = get_java_opts(snakemake)

tmpdir = tempfile.gettempdir()

log = snakemake.log_fmt_shell(stdout=True, stderr=True)

shell(
"gatk --java-options '{java_opts}' ApplyBQSRSpark {extra} "
"--reference {snakemake.input.ref} --input {snakemake.input.bam} "
"--bqsr-recal-file {snakemake.input.recal_table} "
"--tmp-dir {tmpdir} "
"--output {snakemake.output.bam} "
"-- --spark-runner {spark_runner} --spark-master {spark_master} {spark_extra} "
"{log}"
)
with tempfile.TemporaryDirectory() as tmpdir:
# This folder must not exist; it is created by GATK
tmpdir_shards = Path(tmpdir) / "shards_{:06d}".format(random.randrange(10 ** 6))

shell(
"gatk --java-options '{java_opts}' ApplyBQSRSpark {extra} "
"--reference {snakemake.input.ref} --input {snakemake.input.bam} "
"--bqsr-recal-file {snakemake.input.recal_table} "
"--tmp-dir {tmpdir} --output-shard-tmp-dir {tmpdir_shards} "
"--output {snakemake.output.bam} "
"-- --spark-runner {spark_runner} --spark-master {spark_master} {spark_extra} "
"{log}"
)

0 comments on commit dda1546

Please sign in to comment.