aboutsummaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
Diffstat (limited to 'tools')
-rw-r--r--tools/strelka-call.nix8
-rw-r--r--tools/strelka-callSomatic.nix45
-rw-r--r--tools/strelka.nix1
3 files changed, 49 insertions, 5 deletions
diff --git a/tools/strelka-call.nix b/tools/strelka-call.nix
index 8505302..cbdcfb4 100644
--- a/tools/strelka-call.nix
+++ b/tools/strelka-call.nix
@@ -4,7 +4,7 @@
, flags ? null
}:
-{normal, tumour}:
+inputs:
with bionix;
with lib;
@@ -13,7 +13,6 @@ with types;
let
filename = path: last (splitString "/" path);
getref = f: matchFiletype "strelka-call" { bam = x: x.ref; } f;
- inputs = [ normal tumour ];
refs = map getref inputs;
ref = head refs;
@@ -30,9 +29,8 @@ stage {
${concatMapStringsSep "\n" (p: "ln -s ${p} ${filename p}.bam") inputs}
${concatMapStringsSep "\n" (p: "ln -s ${bionix.samtools.index bamIndexAttrs p} ${filename p}.bai") inputs}
- configureStrelkaSomaticWorkflow.py \
- --normalBam ${filename normal}.bam \
- --tumourBam ${filename tumour}.bam \
+ configureStrelkaGermlineWorkflow.py \
+ ${concatMapStringsSep " " (i: "--bam ${filename i}.bam") inputs} \
--ref ref.fa \
--runDir $TMPDIR
diff --git a/tools/strelka-callSomatic.nix b/tools/strelka-callSomatic.nix
new file mode 100644
index 0000000..8505302
--- /dev/null
+++ b/tools/strelka-callSomatic.nix
@@ -0,0 +1,45 @@
+{ bionix
+, indexAttrs ? {}
+, bamIndexAttrs ? {}
+, flags ? null
+}:
+
+{normal, tumour}:
+
+with bionix;
+with lib;
+with types;
+
+let
+ filename = path: last (splitString "/" path);
+ getref = f: matchFiletype "strelka-call" { bam = x: x.ref; } f;
+ inputs = [ normal tumour ];
+ refs = map getref inputs;
+ ref = head refs;
+
+in
+
+assert (length (unique refs) == 1);
+
+stage {
+ name = "strelka";
+ buildInputs = with pkgs; [ strelka ];
+ buildCommand = ''
+ ln -s ${ref} ref.fa
+ ln -s ${bionix.samtools.faidx indexAttrs ref} ref.fa.fai
+ ${concatMapStringsSep "\n" (p: "ln -s ${p} ${filename p}.bam") inputs}
+ ${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
+
+ ./runWorkflow.py \
+ -m local \
+ -j $NIX_BUILD_CORES
+
+ cp -r results $out
+ '';
+}
diff --git a/tools/strelka.nix b/tools/strelka.nix
index 47d5832..04facb9 100644
--- a/tools/strelka.nix
+++ b/tools/strelka.nix
@@ -3,5 +3,6 @@
with bionix;
{
+ callSomatic = callBionixE ./strelka-callSomatic.nix;
call = callBionixE ./strelka-call.nix;
}