From 05889c52b9cc857ca7f1a286f40b9c9fcb8fe874 Mon Sep 17 00:00:00 2001 From: Renato Alves Date: Fri, 2 Feb 2018 02:24:19 +0100 Subject: [PATCH] RAxML: init at 8.2.11 (SSE3 & MPI) This can potentially be extended to cover all the other compilation targets. SSE3-PTHREADS and MPI being the most commonly used. --- .../science/biology/raxml/default.nix | 42 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 6 +++ 2 files changed, 48 insertions(+) create mode 100644 pkgs/applications/science/biology/raxml/default.nix diff --git a/pkgs/applications/science/biology/raxml/default.nix b/pkgs/applications/science/biology/raxml/default.nix new file mode 100644 index 000000000000..0bac6c778049 --- /dev/null +++ b/pkgs/applications/science/biology/raxml/default.nix @@ -0,0 +1,42 @@ +{ stdenv +, fetchFromGitHub +, zlib +, pkgs +, mpi ? false +}: + +stdenv.mkDerivation rec { + pname = "RAxML"; + version = "8.2.11"; + name = "${pname}-${version}"; + + src = fetchFromGitHub { + owner = "stamatak"; + repo = "standard-${pname}"; + rev = "v${version}"; + sha256 = "08fmqrr7y5a2fmmrgfz2p0hmn4mn71l5yspxfcwwsqbw6vmdfkhg"; + }; + + buildInputs = if mpi then [ pkgs.openmpi ] else []; + + # TODO darwin, AVX and AVX2 makefile targets + buildPhase = if mpi then '' + make -f Makefile.MPI.gcc + '' else '' + make -f Makefile.SSE3.PTHREADS.gcc + ''; + + installPhase = if mpi then '' + mkdir -p $out/bin && cp raxmlHPC-MPI $out/bin + '' else '' + mkdir -p $out/bin && cp raxmlHPC-PTHREADS-SSE3 $out/bin + ''; + + meta = with stdenv.lib; { + description = "A tool for Phylogenetic Analysis and Post-Analysis of Large Phylogenies"; + license = licenses.gpl3; + homepage = https://sco.h-its.org/exelixis/web/software/raxml/; + maintainers = [ maintainers.unode ]; + platforms = [ "i686-linux" "x86_64-linux" ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 3c5943c54381..cd2c2da4f653 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -19044,6 +19044,12 @@ with pkgs; plink-ng = callPackage ../applications/science/biology/plink-ng/default.nix { }; + raxml = callPackage ../applications/science/biology/raxml { }; + + raxml-mpi = appendToName "mpi" (raxml.override { + mpi = true; + }); + samtools = callPackage ../applications/science/biology/samtools/default.nix { }; snpeff = callPackage ../applications/science/biology/snpeff/default.nix { };