From 3e037c4d706f5ac02c663a8d7f56703373785d29 Mon Sep 17 00:00:00 2001 From: Justin Bedo Date: Thu, 15 Aug 2019 14:27:06 +1000 Subject: SNVer: init 0.5.3 --- tools/snver-app.nix | 24 ++++++++++++++++++++++++ tools/snver-call.nix | 40 ++++++++++++++++++++++++++++++++++++++++ tools/snver.nix | 10 ++++++++++ 3 files changed, 74 insertions(+) create mode 100644 tools/snver-app.nix create mode 100644 tools/snver-call.nix create mode 100644 tools/snver.nix (limited to 'tools') diff --git a/tools/snver-app.nix b/tools/snver-app.nix new file mode 100644 index 0000000..3fd30f2 --- /dev/null +++ b/tools/snver-app.nix @@ -0,0 +1,24 @@ +{ stdenv, fetchurl, jre, makeWrapper }: + +stdenv.mkDerivation rec { + pname = "SNVer"; + version = "0.5.3"; + + src = fetchurl { + url = "mirror://sourceforge/snver/SNVer-${version}.tar.gz"; + sha256 = "1y3c3gm1zdh4iz6zh1lyaaq1ks205wjm3vwx6wdsnh896xrphf5c"; + }; + + buildInputs = [ makeWrapper ]; + + unpackPhase = '' + mkdir -p $out/libexec/SNVer + tar -zxvf $src -C $out/libexec/SNVer + rm -rf $out/libexec/SNVer/test + ''; + + installPhase = '' + mkdir $out/bin + makeWrapper ${jre}/bin/java $out/bin/SNVerPool --add-flags "-jar $out/libexec/SNVer/SNVerPool.jar" + ''; +} diff --git a/tools/snver-call.nix b/tools/snver-call.nix new file mode 100644 index 0000000..645d151 --- /dev/null +++ b/tools/snver-call.nix @@ -0,0 +1,40 @@ +{ bionix +, flags ? null +, ploidy +}: + +inputs: + +with bionix; +with lib; +with types; + +let + config = pkgs.writeText "pool.txt" (concatMapStringsSep "\n" (x: "${x}\t${toString ploidy}\t1") inputs); + getref = f: matchFiletype "SNVer-call" { bam = {ref, ...}: ref; } f; + refs = map getref inputs; + ref = head refs; +in + +assert (length (unique refs) == 1); + +stage { + name = "SNVerPool"; + buildInputs = [ snver.app ]; + outputs = [ "out" "log" "raw" "filter" "indelfilter" "indelraw" ]; + buildCommand = '' + SNVerPool -i / -c ${config} -r ${ref} -o snver + + mkdir $out + cp snver.failed.log $log + ln -s $log $out/snver.failed.log + cp snver.filter.vcf $filter + ln -s $log $out/snver.filter.vcf + cp snver.indel.filter.vcf $indelfilter + ln -s $log $out/snver.indel.filter.vcf + cp snver.indel.raw.vcf $indelraw + ln -s $log $out/snver.indel.raw.vcf + cp snver.raw.vcf $raw + ln -s $log $out/snver.raw.vcf + ''; +} diff --git a/tools/snver.nix b/tools/snver.nix new file mode 100644 index 0000000..7c84777 --- /dev/null +++ b/tools/snver.nix @@ -0,0 +1,10 @@ +{ bionix }: + +with bionix; +with pkgs; + +{ + app = callPackage ./snver-app.nix {}; + + call = callBionix ./snver-call.nix; +} -- cgit v1.2.3