Workflow languages like snakemake and nextflow support specifying a docker container for individual pipeline steps, which is nice for clearly documenting the environment:
https://snakemake.readthedocs.io/en/stable/snakefiles/deployment.html?highlight=docker#running-jobs-in-containers
https://www.nextflow.io/docs/latest/docker.html
Is it possible to use these features with the parabricks docker image? I am not sure how it would work given 1) inserting the license and 2) nvidia-docker
. An example snakemake snippet might be:
rule gpu_fq2bam:
container: "docker://nvcr.io/nvidia/clara/clara-parabricks:3.7.0-1"
input:
fastq_1="{sample}_1.fastq.gz",
fastq_2="{sample}_2.fastq.gz",
ref_fasta="refdata/bwa/hg37.fasta"
output:
"output.bam"
shell:
"""
fq2bam \
--in-fq {input.fastq_1} {input.fastq_2} '@RG\tID:id\tSM:TUMOR\tLB:lib' \
--ref {input.ref_fasta} \
--out-bam {output}
"""