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/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/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 1d834eb728d..5f1da20ae6e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -26025,6 +26025,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 { }; @@ -26101,6 +26103,10 @@ in mpi = true; }); + sambamba = callPackage ../applications/science/biology/sambamba { }; + + 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;