aboutsummaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
Diffstat (limited to 'tools')
-rw-r--r--tools/strelka-call.nix17
-rw-r--r--tools/strelka-callSomatic.nix34
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;});
+ };
+ };
}