From d9223958d2d83a936719694db63c4777a8dde274 Mon Sep 17 00:00:00 2001 From: Justin Bedo Date: Wed, 16 Jan 2019 11:14:00 +1100 Subject: strelka: split out vcfs --- tools/strelka-call.nix | 17 +++++++++++++---- tools/strelka-callSomatic.nix | 34 ++++++++++++++++++++++++---------- 2 files changed, 37 insertions(+), 14 deletions(-) diff --git a/tools/strelka-call.nix b/tools/strelka-call.nix index cbdcfb4..e90bdfd 100644 --- a/tools/strelka-call.nix +++ b/tools/strelka-call.nix @@ -16,12 +16,14 @@ let refs = map getref inputs; ref = head refs; + drv = bionix.strelka.call {inherit indexAttrs bamIndexAttrs flags;} inputs; + in assert (length (unique refs) == 1); stage { - name = "strelka"; + name = "strelka-call"; buildInputs = with pkgs; [ strelka ]; buildCommand = '' ln -s ${ref} ref.fa @@ -30,14 +32,21 @@ stage { ${concatMapStringsSep "\n" (p: "ln -s ${bionix.samtools.index bamIndexAttrs p} ${filename p}.bai") inputs} configureStrelkaGermlineWorkflow.py \ - ${concatMapStringsSep " " (i: "--bam ${filename i}.bam") inputs} \ + ${concatMapStringsSep " " (i: "--bam ${filename i}.bam") inputs} \ --ref ref.fa \ --runDir $TMPDIR ./runWorkflow.py \ -m local \ - -j $NIX_BUILD_CORES + -j $NIX_BUILD_CORES 2>&1 cp -r results $out - ''; + ''; + passthru.variants = stage { + name = "strelka-call-variants"; + buildCommand = '' + ln -s ${drv}/variants/variants.vcf.gz $out + ''; + passthru.filetype = filetype.gz (filetype.vcf {ref=ref;}); + }; } diff --git a/tools/strelka-callSomatic.nix b/tools/strelka-callSomatic.nix index 8505302..888e589 100644 --- a/tools/strelka-callSomatic.nix +++ b/tools/strelka-callSomatic.nix @@ -12,18 +12,20 @@ with types; let filename = path: last (splitString "/" path); - getref = f: matchFiletype "strelka-call" { bam = x: x.ref; } f; + getref = f: matchFiletype "strelka-callSomatic" { bam = x: x.ref; } f; inputs = [ normal tumour ]; refs = map getref inputs; ref = head refs; + drv = bionix.strelka.callSomatic {inherit indexAttrs bamIndexAttrs flags;} {inherit normal tumour;}; + in assert (length (unique refs) == 1); stage { - name = "strelka"; - buildInputs = with pkgs; [ strelka ]; + name = "strelka-callSomatic"; + buildInputs = with pkgs; [ strelka gzip ]; buildCommand = '' ln -s ${ref} ref.fa ln -s ${bionix.samtools.faidx indexAttrs ref} ref.fa.fai @@ -31,15 +33,27 @@ stage { ${concatMapStringsSep "\n" (p: "ln -s ${bionix.samtools.index bamIndexAttrs p} ${filename p}.bai") inputs} configureStrelkaSomaticWorkflow.py \ - --normalBam ${filename normal}.bam \ - --tumourBam ${filename tumour}.bam \ - --ref ref.fa \ - --runDir $TMPDIR + --normalBam ${filename normal}.bam \ + --tumourBam ${filename tumour}.bam \ + --ref ref.fa \ + --runDir $TMPDIR ./runWorkflow.py \ - -m local \ - -j $NIX_BUILD_CORES + -m local \ + -j $NIX_BUILD_CORES cp -r results $out - ''; + ''; + passthru = { + indels = stage { + name = "strelka-callVariants-indels"; + buildCommand = "ln -s ${drv}/variants/somatic.indels.vcf.gz $out"; + passthru.filetype = filetype.gz (filetype.vcf {ref = ref;}); + }; + snvs = stage { + name = "strelka-callVariants-snvs"; + buildCommand = "ln -s ${drv}/variants/somatic.snvs.vcf.gz $out"; + passthru.filetype = filetype.gz (filetype.vcf {ref = ref;}); + }; + }; } -- cgit v1.2.3