diff options
Diffstat (limited to 'tools')
| -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;}); +    }; +  };  } | 
