diff options
author | Justin Bedo <cu@cua0.org> | 2019-08-15 14:27:06 +1000 |
---|---|---|
committer | Justin Bedo <cu@cua0.org> | 2019-08-15 14:27:06 +1000 |
commit | 3e037c4d706f5ac02c663a8d7f56703373785d29 (patch) | |
tree | a36051c85099dc0dfa46c60b7cedb97db5c554e6 /tools | |
parent | 2117e14fe6bcef6de715974b0e34a77429b4148a (diff) |
SNVer: init 0.5.3
Diffstat (limited to 'tools')
-rw-r--r-- | tools/snver-app.nix | 24 | ||||
-rw-r--r-- | tools/snver-call.nix | 40 | ||||
-rw-r--r-- | tools/snver.nix | 10 |
3 files changed, 74 insertions, 0 deletions
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; +} |