aboutsummaryrefslogtreecommitdiff
path: root/test-tnpair.nix
diff options
context:
space:
mode:
authorJustin Bedo <cu@cua0.org>2018-10-05 16:16:20 +1000
committerJustin Bedo <cu@cua0.org>2018-10-05 16:19:06 +1000
commit871ef64f3c43199dfa01216ac86db56650c2c8a2 (patch)
tree7053b4533d7306b3fc0eed8f9bc25e8e2abb6d6e /test-tnpair.nix
parentdd3666f6a069105e61f8889665cf55eed9a14e51 (diff)
implement types
Diffstat (limited to 'test-tnpair.nix')
-rw-r--r--test-tnpair.nix31
1 files changed, 24 insertions, 7 deletions
diff --git a/test-tnpair.nix b/test-tnpair.nix
index 3260b7b..7deaf3b 100644
--- a/test-tnpair.nix
+++ b/test-tnpair.nix
@@ -14,15 +14,31 @@ in
with bionix;
let
- ref = { seq = ./example/ref.fa; };
- alignWithRG = rg: bwa.align { inherit ref; flags = "-R'@RG\\tID:${rg}\\tSM:${rg}'";};
+ fetchlocal = path: stdenv.mkDerivation {
+ name = baseNameOf path;
+ buildCommand = "ln -s ${path} $out";
+ };
+ fetchfq = attrs: types.tagFiletype (types.filetype.fq {}) (fetchlocal attrs);
+ fetchfa = attrs: types.tagFiletype (types.filetype.fa {}) (fetchlocal attrs);
+
+ alignWithRG = rg: bwa.align { ref = fetchfa ./example/ref.fa; flags = "-R'@RG\\tID:${rg}\\tSM:${rg}'";};
sort = samtools.sort {};
flagstat = samtools.flagstat {};
check = fastqc.check {};
- callVariants = strelka.call { inherit ref; };
+ callVariants = strelka.call {};
- tnpair = { tumour = {name = "mysample1"; files = {input1 = ./example/sample1-1.fq; input2 = ./example/sample1-2.fq;};};
- normal = {name = "mysample2"; files = {input1 = ./example/sample2-1.fq; input2 = ./example/sample2-1.fq;};};};
+ tnpair = {
+ tumour = {name = "mysample1"; files = {
+ input1 = fetchfq ./example/sample1-1.fq;
+ input2 = fetchfq ./example/sample1-2.fq;
+ };
+ };
+ normal = {name = "mysample2"; files = {
+ input1 = fetchfq ./example/sample2-1.fq;
+ input2 = fetchfq ./example/sample2-1.fq;
+ };
+ };
+ };
processPair = { tumour, normal }: rec {
alignments = mapAttrs (_: x: sort (alignWithRG x.name x.files)) { inherit normal tumour; };
@@ -37,8 +53,9 @@ let
mkdir $out
ln -s ${tnpairResult.variants} $out/strelka
mkdir $out/alignments
- ln -s ${tnpairResult.alignments.tumour} $out/alignments/${tnpair.tumour.name}.bam
- ln -s ${tnpairResult.alignments.normal} $out/alignments/${tnpair.normal.name}.bam
+ ln -s ${gridss.callVariants {} (with tnpairResult.alignments; [tumour])} $out/gridss
+ ln -s ${samtools.view { outfmt = types.toCram; } (tnpairResult.alignments.tumour)} $out/alignments/${tnpair.tumour.name}.cram
+ ln -s ${samtools.view { outfmt = types.toCram; } (tnpairResult.alignments.normal)} $out/alignments/${tnpair.normal.name}.cram
ln -s ${flagstat tnpairResult.alignments.tumour} $out/alignments/${tnpair.tumour.name}.flagstat
ln -s ${flagstat tnpairResult.alignments.normal} $out/alignments/${tnpair.normal.name}.flagstat
mkdir $out/fastqc