From 2ada3b5d3e4d776fc1e5dcdc1c34a4b7bd884614 Mon Sep 17 00:00:00 2001
From: Justin Bedo <cu@cua0.org>
Date: Tue, 17 Dec 2019 14:26:28 +1100
Subject: [PATCH 1/3] samblaster: init 0.1.24

---
 .../science/biology/samblaster/default.nix    | 26 +++++++++++++++++++
 pkgs/top-level/all-packages.nix               |  2 ++
 2 files changed, 28 insertions(+)
 create mode 100644 pkgs/applications/science/biology/samblaster/default.nix

diff --git a/pkgs/applications/science/biology/samblaster/default.nix b/pkgs/applications/science/biology/samblaster/default.nix
new file mode 100644
index 00000000000..7795ba23736
--- /dev/null
+++ b/pkgs/applications/science/biology/samblaster/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  pname = "samblaster";
+  version = "0.1.24";
+
+  src = fetchFromGitHub {
+    owner = "GregoryFaust";
+    repo = "samblaster";
+    rev = "v.${version}";
+    sha256 = "0iv2ddfw8363vb2x8gr3p8g88whb6mb9m0pf71i2cqsbv6jghap7";
+  };
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp samblaster $out/bin
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Tool for marking duplicates and extracting discordant/split reads from SAM/BAM files";
+    maintainers = with maintainers; [ jbedo ];
+    license = licenses.mit;
+    homepage = "https://github.com/GregoryFaust/samblaster";
+    platforms = platforms.x86_64;
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index f635f7a81eb..f2225ac2430 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -24919,6 +24919,8 @@ in
     mpi = true;
   });
 
+  samblaster = callPackage ../applications/science/biology/samblaster { };
+
   samtools = callPackage ../applications/science/biology/samtools { };
   samtools_0_1_19 = callPackage ../applications/science/biology/samtools/samtools_0_1_19.nix {
     stdenv = gccStdenv;

From 617483d27a35247e1fbd8bcb9596a64d74fc4e28 Mon Sep 17 00:00:00 2001
From: Justin Bedo <cu@cua0.org>
Date: Wed, 18 Dec 2019 08:54:44 +1100
Subject: [PATCH 2/3] sambamba: init 0.7.1

---
 .../science/biology/sambamba/default.nix      | 31 +++++++++++++++++++
 pkgs/top-level/all-packages.nix               |  2 ++
 2 files changed, 33 insertions(+)
 create mode 100644 pkgs/applications/science/biology/sambamba/default.nix

diff --git a/pkgs/applications/science/biology/sambamba/default.nix b/pkgs/applications/science/biology/sambamba/default.nix
new file mode 100644
index 00000000000..7e33a661218
--- /dev/null
+++ b/pkgs/applications/science/biology/sambamba/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchFromGitHub, python3, which, dmd, ldc, zlib }:
+
+stdenv.mkDerivation rec {
+  pname = "sambamba";
+  version = "0.7.1";
+
+  src = fetchFromGitHub {
+    owner = "biod";
+    repo = "sambamba";
+    rev = "v${version}";
+    sha256 = "0k5wy06zrbsc40x6answgz7rz2phadyqwlhi9nqxbfqanbg9kq20";
+    fetchSubmodules = true;
+  };
+
+  nativeBuildInputs = [ which python3 dmd ldc ];
+  buildInputs = [ zlib ];
+
+  # Upstream's install target is broken; copy manually
+  installPhase = ''
+    mkdir -p $out/bin
+    cp bin/sambamba-${version} $out/bin/sambamba
+  '';
+
+  meta = with stdenv.lib; {
+    description = "SAM/BAM processing tool";
+    homepage = "https://lomereiter.github.io/sambamba/";
+    maintainers = with maintainers; [ jbedo ];
+    license = with licenses; gpl2;
+    platforms = platforms.x86_64;
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index f2225ac2430..d1a0d7d384e 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -24919,6 +24919,8 @@ in
     mpi = true;
   });
 
+  sambamba = callPackage ../applications/science/biology/sambamba { };
+
   samblaster = callPackage ../applications/science/biology/samblaster { };
 
   samtools = callPackage ../applications/science/biology/samtools { };

From a3d6e7b4b4585c5bc5bd8c7e6c8f305daecdd03b Mon Sep 17 00:00:00 2001
From: Justin Bedo <cu@cua0.org>
Date: Wed, 18 Dec 2019 09:37:39 +1100
Subject: [PATCH 3/3] lumpy: init 0.3.0

---
 .../science/biology/lumpy/default.nix         | 47 +++++++++++++++++++
 pkgs/top-level/all-packages.nix               |  2 +
 2 files changed, 49 insertions(+)
 create mode 100644 pkgs/applications/science/biology/lumpy/default.nix

diff --git a/pkgs/applications/science/biology/lumpy/default.nix b/pkgs/applications/science/biology/lumpy/default.nix
new file mode 100644
index 00000000000..04512e8e372
--- /dev/null
+++ b/pkgs/applications/science/biology/lumpy/default.nix
@@ -0,0 +1,47 @@
+{ stdenv, fetchFromGitHub, htslib, zlib, curl, openssl, samblaster, sambamba
+, samtools, hexdump, python2Packages, which }:
+
+let
+  python =
+    python2Packages.python.withPackages (pkgs: with pkgs; [ pysam numpy ]);
+
+in stdenv.mkDerivation rec {
+  pname = "lumpy";
+  version = "0.3.0";
+
+  src = fetchFromGitHub {
+    owner = "arq5x";
+    repo = "lumpy-sv";
+    rev = version;
+    sha256 = "0azhzvmh9az9jcq0xprlzdz6w16azgszv4kshb903bwbnqirmk18";
+  };
+
+  nativeBuildInputs = [ which ];
+  buildInputs =
+    [ htslib zlib curl openssl python samblaster sambamba samtools hexdump ];
+
+  preConfigure = ''
+    patchShebangs ./.
+
+    # Use Nix htslib over bundled version
+    sed -i 's/lumpy_filter: htslib/lumpy_filter:/' Makefile
+    sed -i 's|../../lib/htslib/libhts.a|-lhts|' src/filter/Makefile
+  '';
+
+  # Upstream's makefile doesn't have an install target
+  installPhase = ''
+    mkdir -p $out
+    cp -r bin $out
+    cp -r scripts $out
+    sed -i 's|/build/source|'$out'|' $out/bin/lumpyexpress.config
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Probabilistic structural variant caller";
+    homepage = "https://github.com/arq5x/lumpy-sv";
+    maintainers = with maintainers; [ jbedo ];
+    license = licenses.mit;
+    platforms = [ "x86_64-linux" ];
+  };
+
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index d1a0d7d384e..e0e54e1da95 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -24845,6 +24845,8 @@ in
 
   last = callPackage ../applications/science/biology/last { };
 
+  lumpy = callPackage ../applications/science/biology/lumpy { };
+
   macse = callPackage ../applications/science/biology/macse { };
 
   migrate = callPackage ../applications/science/biology/migrate { };