diff options
author | Justin Bedo <cu@cua0.org> | 2019-01-16 11:14:00 +1100 |
---|---|---|
committer | Justin Bedo <cu@cua0.org> | 2019-01-16 15:29:14 +1100 |
commit | d9223958d2d83a936719694db63c4777a8dde274 (patch) | |
tree | 5cd44c1f1b61f607cf2aa8948f0ed7f0d978e2b1 | |
parent | 2bf74101a862d0417ccda2bafe55e0d2616d1e1a (diff) |
strelka: split out vcfs
-rw-r--r-- | tools/strelka-call.nix | 17 | ||||
-rw-r--r-- | 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;}); + }; + }; } |