aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--examples/call.nix (renamed from example/call.nix)0
-rw-r--r--examples/default.nix (renamed from example/default.nix)0
-rw-r--r--examples/ref.fa (renamed from example/ref.fa)0
-rw-r--r--examples/sample1-1.fq (renamed from example/sample1-1.fq)0
-rw-r--r--examples/sample1-2.fq (renamed from example/sample1-2.fq)0
-rw-r--r--examples/sample2-1.fq (renamed from example/sample2-1.fq)0
-rw-r--r--examples/sample2-2.fq (renamed from example/sample2-2.fq)0
-rwxr-xr-xexamples/tnpair58
-rw-r--r--examples/tnpair.nix26
9 files changed, 84 insertions, 0 deletions
diff --git a/example/call.nix b/examples/call.nix
index c9be673..c9be673 100644
--- a/example/call.nix
+++ b/examples/call.nix
diff --git a/example/default.nix b/examples/default.nix
index bceaa96..bceaa96 100644
--- a/example/default.nix
+++ b/examples/default.nix
diff --git a/example/ref.fa b/examples/ref.fa
index fdc51e6..fdc51e6 100644
--- a/example/ref.fa
+++ b/examples/ref.fa
diff --git a/example/sample1-1.fq b/examples/sample1-1.fq
index 743a5a8..743a5a8 100644
--- a/example/sample1-1.fq
+++ b/examples/sample1-1.fq
diff --git a/example/sample1-2.fq b/examples/sample1-2.fq
index aea7f3e..aea7f3e 100644
--- a/example/sample1-2.fq
+++ b/examples/sample1-2.fq
diff --git a/example/sample2-1.fq b/examples/sample2-1.fq
index a69ee45..a69ee45 100644
--- a/example/sample2-1.fq
+++ b/examples/sample2-1.fq
diff --git a/example/sample2-2.fq b/examples/sample2-2.fq
index a2bd3e3..a2bd3e3 100644
--- a/example/sample2-2.fq
+++ b/examples/sample2-2.fq
diff --git a/examples/tnpair b/examples/tnpair
new file mode 100755
index 0000000..5b84d5c
--- /dev/null
+++ b/examples/tnpair
@@ -0,0 +1,58 @@
+#!/bin/sh
+
+set -e
+
+if [[ $# -ne 5 ]] ; then
+ echo "Usage: $0 ref normal1 normal2 tumour1 tumour2"
+ exit 1
+fi
+
+function cleanup {
+ if [[ -e tnpair-$$ ]]; then
+ rm tnpair-$$
+ fi
+}
+trap cleanup INT TERM EXIT
+
+ref=`readlink -f $1`
+norm1=`readlink -f $2`
+norm2=`readlink -f $3`
+tumour1=`readlink -f $4`
+tumour2=`readlink -f $5`
+
+refhash=`nix-hash --base32 --type sha256 --flat $ref`
+norm1hash=`nix-hash --base32 --type sha256 --flat $norm1`
+norm2hash=`nix-hash --base32 --type sha256 --flat $norm2`
+tumour1hash=`nix-hash --base32 --type sha256 --flat $tumour1`
+tumour2hash=`nix-hash --base32 --type sha256 --flat $tumour2`
+
+cat > tnpair-$$ <<EOF
+import ./tnpair.nix {
+ normal = {
+ input1={
+ url="file://$norm1";
+ sha256="$norm1hash";
+ };
+ input2={
+ url="file://$norm2";
+ sha256="$norm2hash";
+ };
+ };
+ tumour = {
+ input1={
+ url = "file://$tumour1";
+ sha256 = "$tumour1hash";
+ };
+ input2={
+ url = "file://$tumour2";
+ sha256 = "$tumour2hash";
+ };
+ };
+ ref = {
+ url = "file://$ref";
+ sha256 = "$refhash";
+ };
+}
+EOF
+
+nix build --keep-going "(import ./tnpair-$$)"
diff --git a/examples/tnpair.nix b/examples/tnpair.nix
new file mode 100644
index 0000000..2939db4
--- /dev/null
+++ b/examples/tnpair.nix
@@ -0,0 +1,26 @@
+# This is an example tumour-normal calling pipeline using strelka
+{ bionix ? import <bionix> {}
+, normal
+, tumour
+, ref
+}:
+
+with bionix;
+with lib;
+
+let
+ input = mapAttrs (_: fetchFastQGZ);
+
+ preprocess = pipe [
+ input
+ (bwa.align { ref = fetchFastA ref; })
+ (samtools.fixmate {})
+ (samtools.sort {})
+ (samtools.markdup {})
+ ];
+
+in linkDrv [
+ (ln (strelka.call {} {normal = preprocess normal; tumour = preprocess tumour;}) "strelka")
+ (ln (preprocess normal) "normal.bam")
+ (ln (preprocess tumour) "tumour.bam")
+]