From c4777315bcb327e6cd1df9cc09c0afc49271769c Mon Sep 17 00:00:00 2001 From: Justin Bedo Date: Tue, 23 Oct 2018 22:43:03 +1100 Subject: Allow building bwa-mem with one core --- tools/bwa-mem.nix | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/tools/bwa-mem.nix b/tools/bwa-mem.nix index 0d0f7d8..3208e48 100644 --- a/tools/bwa-mem.nix +++ b/tools/bwa-mem.nix @@ -29,8 +29,7 @@ in stdenv.mkDerivation { done cores=$(echo $NIX_BUILD_CORES ${optionalString bamOutput "- 1"} | bc) if [[ $cores -lt 1 ]] ; then - >&2 echo "not enough build cores" - exit 1 + cores=1 fi bwa mem ${optionalString (flags != null) flags} -t $cores ref.fa ${fq input1} \ ${optionalString (input2 != null) (fq input2)} \ -- cgit v1.2.3 From 94cff4f9e392911421cd8b94973b8c1e5698c430 Mon Sep 17 00:00:00 2001 From: Justin Bedo Date: Wed, 24 Oct 2018 07:46:23 +1100 Subject: Fix platypus bug --- tools/platypus-callVariants.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/platypus-callVariants.nix b/tools/platypus-callVariants.nix index a3e3a65..a57aa83 100644 --- a/tools/platypus-callVariants.nix +++ b/tools/platypus-callVariants.nix @@ -14,7 +14,7 @@ with bionix.types; let filename = path: last (splitString "/" path); - getref = f: matchFiletype "platypus-callVariants" { bam = r: r; } f; + getref = f: matchFiletype "platypus-callVariants" { bam = {ref, ...}: ref; } f; refs = map getref inputs; ref = head refs; in -- cgit v1.2.3 From e25bd63e03ee4da6817fe437e5e4184eae685653 Mon Sep 17 00:00:00 2001 From: Justin Bedo Date: Wed, 24 Oct 2018 16:10:56 +1100 Subject: Simplify test expression --- test.nix | 45 ++++++++++++++++++++++++++------------------- 1 file changed, 26 insertions(+), 19 deletions(-) diff --git a/test.nix b/test.nix index 8126e63..9851310 100644 --- a/test.nix +++ b/test.nix @@ -1,28 +1,35 @@ -{pkgs ? import {}}: +{pkgs ? import {} +,bionix ? import {}}: with pkgs; with lib; +with bionix; let - ref = ./example/ref.fa; - alignWithRG = rg: callPackage ./tools/bwa.nix { inherit ref; flags = "-R'@RG\\tID:${rg}\\tSM:${rg}'";}; - sort = callPackage ./tools/samtools-sort.nix { }; - callVariants = callPackage ./tools/platypus.nix { inherit ref; }; + inherit (types) filetype tagFiletype; - samples = [ {name = "mysample1"; files = {input1 = ./example/sample1-1.fq; input2 = ./example/sample1-2.fq;};} - {name = "mysample2"; files = {input1 = ./example/sample2-1.fq; input2 = ./example/sample2-1.fq;};} ]; + fetchLocal = path: stdenv.mkDerivation { + name = baseNameOf path; + buildCommand = "ln -s ${path} $out"; + }; + tagfq = path: tagFiletype (filetype.fq {}) (fetchLocal path); + tagfa = path: tagFiletype (filetype.fa {}) (fetchLocal path); - alignments = map (i: sort (alignWithRG i.name i.files)) samples; - variants = callVariants alignments; + ref = tagfa ./example/ref.fa; + alignWithRG = rg: bwa.align { inherit ref; flags = "-R'@RG\\tID:${rg}\\tSM:${rg}'";}; - testNaming = stdenv.mkDerivation { - name = "test-naming"; - buildCommand = '' - mkdir $out - ln -s ${variants} $out/myfancyname - mkdir $out/alignments - ${concatStringsSep "\n" (zipListsWith (s: a: "ln -s ${a} $out/alignments/${s.name}.bam") samples alignments)} - ''; - }; + samples = [ {name = "mysample1"; files = {input1 = tagfq ./example/sample1-1.fq; input2 = tagfq ./example/sample1-2.fq;};} + {name = "mysample2"; files = {input1 = tagfq ./example/sample2-1.fq; input2 = tagfq ./example/sample2-1.fq;};} ]; + + alignments = map (i: samtools.sort {} (alignWithRG i.name i.files)) samples; + variants = platypus.call {} alignments; -in testNaming +in stdenv.mkDerivation { + name = "myproject"; + buildCommand = '' + mkdir $out + ln -s ${variants} $out/platypus.vcf + mkdir $out/alignments + ${concatStringsSep "\n" (zipListsWith (s: a: "ln -s ${a} $out/alignments/${s.name}.bam") samples alignments)} + ''; +} -- cgit v1.2.3