BGZIP
Block compression/decompression utility
URL: https://github.com/samtools/htslib
Example
This wrapper can be used in the following way:
rule bgzip:
input:
"{prefix}.vcf",
output:
"{prefix}.vcf.gz",
params:
extra="", # optional
threads: 1
log:
"logs/bgzip/{prefix}.log",
wrapper:
"v3.0.0/bio/bgzip"
Note that input, output and log file paths can be chosen freely.
When running with
snakemake --use-conda
the software dependencies will be automatically deployed into an isolated environment before execution.
Software dependencies
htslib=1.18
Input/Output
Input:
file to be compressed or decompressed
Output:
compressed or decompressed output
Code
__author__ = "William Rowell"
__copyright__ = "Copyright 2020, William Rowell"
__email__ = "wrowell@pacb.com"
__license__ = "MIT"
from snakemake.shell import shell
extra = snakemake.params.get("extra", "")
log = snakemake.log_fmt_shell(stdout=True, stderr=True)
shell(
"""
(bgzip -c {extra} --threads {snakemake.threads} \
{snakemake.input} > {snakemake.output}) {log}
"""
)