.. _`bio/gatk/callcopyratiosegments`: GATK CALLCOPYRATIONSEGMENTS =========================== .. image:: https://img.shields.io/github/issues-pr/snakemake/snakemake-wrappers/bio/gatk/callcopyratiosegments?label=version%20update%20pull%20requests :target: https://github.com/snakemake/snakemake-wrappers/pulls?q=is%3Apr+is%3Aopen+label%3Abio/gatk/callcopyratiosegments Calls copy-ratio segments as amplified, deleted, or copy-number neutral **URL**: https://gatk.broadinstitute.org/hc/en-us/articles/13832751795227-CallCopyRatioSegments Example ------- This wrapper can be used in the following way: .. code-block:: python rule call_copy_ratio_segments: input: copy_ratio_seg="a.cr.seg", output: called_copy_ratio_seg="a.called.seg", igv_seg="a.called.igv.seg", log: "logs/gatk/call_copy_ratio_segments.log", params: #prefix="a.den.test", extra="", # optional java_opts="", # optional resources: mem_mb=1024, wrapper: "v3.0.1/bio/gatk/callcopyratiosegments" Note that input, output and log file paths can be chosen freely. When running with .. code-block:: bash snakemake --use-conda the software dependencies will be automatically deployed into an isolated environment before execution. Software dependencies --------------------- * ``gatk4=4.4.0.0`` * ``snakemake-wrapper-utils=0.6.2`` Input/Output ------------ **Input:** * ``copy_ratio_seg``: cr.seq file from ModelSegments **Output:** * ``copy_ratio_seg``: called copy ratio segments file * ``igv_seg``: CBS formatted igv.seg file, optional Params ------ * ``java_opts``: param allows for additional arguments to be passed to the java compiler, e.g. "-XX:ParallelGCThreads=10" (not for `-XmX` or `-Djava.io.tmpdir`, since they are handled automatically). * ``extra``: param allows for additional program arguments. Authors ------- * Patrik Smeds Code ---- .. code-block:: python __author__ = "Patrik Smeds" __copyright__ = "Copyright 2023, Patrik Smed" __email__ = "patrik.smeds@gmail.com" __license__ = "MIT" import os import tempfile from snakemake.shell import shell from snakemake_wrapper_utils.java import get_java_opts input_copy_ratio_seg = snakemake.input.copy_ratio_seg called_copy_ratio_seg = snakemake.output.called_copy_ratio_seg extra = snakemake.params.get("extra", "") java_opts = get_java_opts(snakemake) log = snakemake.log_fmt_shell(stdout=True, stderr=True) with tempfile.TemporaryDirectory() as tmpdir: outputfile_call = os.path.join(tmpdir, "temp.seq") outputfile_igv = os.path.join(tmpdir, "temp.igv.seg") shell( "gatk --java-options '{java_opts}' CallCopyRatioSegments" " -I {input_copy_ratio_seg}" " -O {outputfile_call}" " --tmp-dir {tmpdir}" " {extra}" " {log}" ) shell("cp {outputfile_call} {called_copy_ratio_seg}") if snakemake.output.get("igv_seg", None): shell("cp {outputfile_igv} {snakemake.output.igv_seg}") .. |nl| raw:: html