From 2bd2c3958ed91ef3bbea2fc3e077a8c03a648a1b Mon Sep 17 00:00:00 2001 From: Justin Bedo Date: Mon, 16 May 2022 12:46:12 +1000 Subject: quip: init --- tools/quip-app.nix | 19 +++++++++++++++++++ tools/quip-quip.nix | 17 +++++++++++++++++ tools/quip-unquip.nix | 18 ++++++++++++++++++ tools/quip.nix | 6 ++++++ 4 files changed, 60 insertions(+) create mode 100644 tools/quip-app.nix create mode 100644 tools/quip-quip.nix create mode 100644 tools/quip-unquip.nix create mode 100644 tools/quip.nix (limited to 'tools') diff --git a/tools/quip-app.nix b/tools/quip-app.nix new file mode 100644 index 0000000..422b603 --- /dev/null +++ b/tools/quip-app.nix @@ -0,0 +1,19 @@ +{ + stdenv, + fetchFromGitHub, + autoreconfHook, + zlib, +}: +stdenv.mkDerivation rec { + name = "quip"; + + src = fetchFromGitHub { + owner = "dcjones"; + repo = "quip"; + rev = "9165bb5ac17a2cf2822e437df573487d7adfa1cc"; + sha256 = "PpvgLzdiYcLyJ1JH9UzbUd29eKIlyY440HiJGYWvkrs="; + }; + + nativeBuildInputs = [autoreconfHook]; + buildInputs = [zlib]; +} diff --git a/tools/quip-quip.nix b/tools/quip-quip.nix new file mode 100644 index 0000000..77cf557 --- /dev/null +++ b/tools/quip-quip.nix @@ -0,0 +1,17 @@ +{bionix}: +with bionix; +with lib.types; + input: let + ref = matchFiletype "quip" {bam = f: f.ref;} input; + in + stage { + name = "quip"; + buildInputs = [quip.app]; + buildCommand = '' + ln -s ${input} input.bam + quip -r ${ref} input.bam + cp input.bam.qp $out + ''; + stripStorePaths = false; + passthru.filetype = filetype.qp input.filetype; + } diff --git a/tools/quip-unquip.nix b/tools/quip-unquip.nix new file mode 100644 index 0000000..8c9cc01 --- /dev/null +++ b/tools/quip-unquip.nix @@ -0,0 +1,18 @@ +{bionix}: +with bionix; +with lib.types; + input: let + bamft = matchFiletype "unquip" {qp = x: x;} input; + ref = matchFiletype' "unquip-sub" {bam = f: f.ref;} bamft; + in + stage { + name = "unquip"; + buildInputs = [quip.app]; + buildCommand = '' + ln -s ${input} input.bam.qp + unquip -r ${ref} input.bam.qp + cp input.bam $out + ''; + stripStorePaths = false; + passthru.filetype = bamft; + } diff --git a/tools/quip.nix b/tools/quip.nix new file mode 100644 index 0000000..f0a57aa --- /dev/null +++ b/tools/quip.nix @@ -0,0 +1,6 @@ +{bionix}: +with bionix; { + app = pkgs.callPackage ./quip-app.nix {}; + quip = callBionix ./quip-quip.nix; + unquip = callBionix ./quip-unquip.nix; +} -- cgit v1.2.3