diff options
author | Frederik Rietdijk <freddyrietdijk@fridh.nl> | 2019-12-29 10:24:31 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-12-29 10:24:31 +0100 |
commit | eda01862c45732b415014001b8bf4d71a8f624cb (patch) | |
tree | f511a407a2cd9de57c5c4cb0a287ed8bd7bf0dfd | |
parent | 62ef779f2a5050549772722665bedf52f01268d2 (diff) | |
parent | 11460d4cac3a7cd744522511f2f6cf68cbfff8ff (diff) | |
download | nixlib-eda01862c45732b415014001b8bf4d71a8f624cb.tar nixlib-eda01862c45732b415014001b8bf4d71a8f624cb.tar.gz nixlib-eda01862c45732b415014001b8bf4d71a8f624cb.tar.bz2 nixlib-eda01862c45732b415014001b8bf4d71a8f624cb.tar.lz nixlib-eda01862c45732b415014001b8bf4d71a8f624cb.tar.xz nixlib-eda01862c45732b415014001b8bf4d71a8f624cb.tar.zst nixlib-eda01862c45732b415014001b8bf4d71a8f624cb.zip |
Merge pull request #75900 from jbedo/tebreak
Tebreak, minia, last, bx-python, python-lzo
-rw-r--r-- | pkgs/applications/science/biology/last/default.nix | 30 | ||||
-rw-r--r-- | pkgs/applications/science/biology/minia/default.nix | 33 | ||||
-rw-r--r-- | pkgs/applications/science/biology/minia/no-bundle.patch | 222 | ||||
-rw-r--r-- | pkgs/applications/science/biology/tebreak/default.nix | 42 | ||||
-rw-r--r-- | pkgs/development/python-modules/bx-python/default.nix | 39 | ||||
-rw-r--r-- | pkgs/development/python-modules/python-lzo/default.nix | 22 | ||||
-rw-r--r-- | pkgs/top-level/all-packages.nix | 8 | ||||
-rw-r--r-- | pkgs/top-level/python-packages.nix | 8 |
8 files changed, 404 insertions, 0 deletions
diff --git a/pkgs/applications/science/biology/last/default.nix b/pkgs/applications/science/biology/last/default.nix new file mode 100644 index 000000000000..5ece9a463d43 --- /dev/null +++ b/pkgs/applications/science/biology/last/default.nix @@ -0,0 +1,30 @@ +{ stdenv, fetchurl, unzip, zlib, python3, parallel }: + +stdenv.mkDerivation rec { + pname = "last"; + version = "1042"; + + src = fetchurl { + url = "http://last.cbrc.jp/last-${version}.zip"; + sha256 = "0mgbhd01m9riqza2gx56qk6x5682kg71zflhisr6d3q05wrv103f"; + }; + + nativeBuildInputs = [ unzip ]; + buildInputs = [ zlib python3 ]; + + makeFlags = [ "prefix=${placeholder "out"}" ]; + + postFixup = '' + for f in $out/bin/parallel-* ; do + sed -i 's|parallel |${parallel}/bin/parallel |' $f + done + ''; + + meta = with stdenv.lib; { + description = "Genomic sequence aligner"; + homepage = "http://last.cbrc.jp/"; + license = licenses.gpl3; + maintainers = with maintainers; [ jbedo ]; + platforms = platforms.x86_64; + }; +} diff --git a/pkgs/applications/science/biology/minia/default.nix b/pkgs/applications/science/biology/minia/default.nix new file mode 100644 index 000000000000..2a80de733b08 --- /dev/null +++ b/pkgs/applications/science/biology/minia/default.nix @@ -0,0 +1,33 @@ +{ stdenv, fetchFromGitHub, cmake, hdf5, boost }: + +stdenv.mkDerivation rec { + pname = "minia"; + version = "3.2.1"; + + src = fetchFromGitHub { + owner = "GATB"; + repo = "minia"; + rev = "v${version}"; + sha256 = "0bmfrywixaaql898l0ixsfkhxjf2hb08ssnqzlzacfizxdp46siq"; + fetchSubmodules = true; + }; + + patches = [ ./no-bundle.patch ]; + + NIX_CFLAGS_COMPILE = [ "-Wformat" ]; + + nativeBuildInputs = [ cmake ]; + buildInputs = [ hdf5 boost ]; + + prePatch = '' + rm -rf thirdparty/gatb-core/gatb-core/thirdparty/{hdf5,boost} + ''; + + meta = with stdenv.lib; { + description = "Short read genome assembler"; + homepage = "https://github.com/GATB/minia"; + license = licenses.agpl3; + maintainers = with maintainers; [ jbedo ]; + platforms = [ "x86_64-linux" ]; + }; +} diff --git a/pkgs/applications/science/biology/minia/no-bundle.patch b/pkgs/applications/science/biology/minia/no-bundle.patch new file mode 100644 index 000000000000..21d12c7f6f2d --- /dev/null +++ b/pkgs/applications/science/biology/minia/no-bundle.patch @@ -0,0 +1,222 @@ +diff --git a/thirdparty/gatb-core/gatb-core/CMakeLists.txt b/thirdparty/gatb-core/gatb-core/CMakeLists.txt +index f48a70b..0e11ece 100644 +--- a/thirdparty/gatb-core/gatb-core/CMakeLists.txt ++++ b/thirdparty/gatb-core/gatb-core/CMakeLists.txt +@@ -257,7 +257,6 @@ ADD_SUBDIRECTORY(thirdparty) + # DEPENDENCIES + ################################################################################ + # we must be sure that hdf5 is built and installed before building gatb-core +-ADD_DEPENDENCIES (gatbcore-static hdf5 hdf5_postbuild) + + ################################################################################ + # DOCUMENTATION GENERATION +@@ -288,7 +287,6 @@ IF (NOT DEFINED GATB_CORE_INSTALL_EXCLUDE) + INSTALL (FILES ${PROJECT_SOURCE_DIR}/doc/misc/README.txt DESTINATION . OPTIONAL) + INSTALL (FILES ${PROJECT_SOURCE_DIR}/LICENCE DESTINATION . OPTIONAL) + INSTALL (FILES ${PROJECT_SOURCE_DIR}/THIRDPARTIES.md DESTINATION . OPTIONAL) +- INSTALL (DIRECTORY ${PROJECT_SOURCE_DIR}/thirdparty/boost DESTINATION ./include) + ENDIF() + + ################################################################################ +diff --git a/thirdparty/gatb-core/gatb-core/src/gatb/tools/math/LargeInt.hpp b/thirdparty/gatb-core/gatb-core/src/gatb/tools/math/LargeInt.hpp +index dfeee1c..d5553a2 100644 +--- a/thirdparty/gatb-core/gatb-core/src/gatb/tools/math/LargeInt.hpp ++++ b/thirdparty/gatb-core/gatb-core/src/gatb/tools/math/LargeInt.hpp +@@ -35,7 +35,7 @@ + #include <stdint.h> + #include <algorithm> + #include <iostream> +-#include <hdf5/hdf5.h> ++#include <hdf5.h> + + #include <gatb/system/api/Exception.hpp> + #include <gatb/system/api/config.hpp> +diff --git a/thirdparty/gatb-core/gatb-core/src/gatb/tools/math/NativeInt128.hpp b/thirdparty/gatb-core/gatb-core/src/gatb/tools/math/NativeInt128.hpp +index 60be5d5..25ae75e 100644 +--- a/thirdparty/gatb-core/gatb-core/src/gatb/tools/math/NativeInt128.hpp ++++ b/thirdparty/gatb-core/gatb-core/src/gatb/tools/math/NativeInt128.hpp +@@ -33,7 +33,7 @@ + /********************************************************************************/ + + #include <iostream> +-#include <hdf5/hdf5.h> ++#include <hdf5.h> + + #include <gatb/system/api/types.hpp> + #include <gatb/tools/misc/api/Abundance.hpp> +diff --git a/thirdparty/gatb-core/gatb-core/src/gatb/tools/math/NativeInt16.hpp b/thirdparty/gatb-core/gatb-core/src/gatb/tools/math/NativeInt16.hpp +index 6a71bb0..b9205df 100644 +--- a/thirdparty/gatb-core/gatb-core/src/gatb/tools/math/NativeInt16.hpp ++++ b/thirdparty/gatb-core/gatb-core/src/gatb/tools/math/NativeInt16.hpp +@@ -31,7 +31,7 @@ + #include <iostream> + #include <gatb/system/api/types.hpp> + #include <gatb/tools/misc/api/Abundance.hpp> +-#include <hdf5/hdf5.h> ++#include <hdf5.h> + + /********************************************************************************/ + namespace gatb { +diff --git a/thirdparty/gatb-core/gatb-core/src/gatb/tools/math/NativeInt32.hpp b/thirdparty/gatb-core/gatb-core/src/gatb/tools/math/NativeInt32.hpp +index c22b892..62e6586 100644 +--- a/thirdparty/gatb-core/gatb-core/src/gatb/tools/math/NativeInt32.hpp ++++ b/thirdparty/gatb-core/gatb-core/src/gatb/tools/math/NativeInt32.hpp +@@ -31,7 +31,7 @@ + #include <iostream> + #include <gatb/system/api/types.hpp> + #include <gatb/tools/misc/api/Abundance.hpp> +-#include <hdf5/hdf5.h> ++#include <hdf5.h> + + /********************************************************************************/ + namespace gatb { +diff --git a/thirdparty/gatb-core/gatb-core/src/gatb/tools/math/NativeInt64.hpp b/thirdparty/gatb-core/gatb-core/src/gatb/tools/math/NativeInt64.hpp +index c06aaab..e0befba 100644 +--- a/thirdparty/gatb-core/gatb-core/src/gatb/tools/math/NativeInt64.hpp ++++ b/thirdparty/gatb-core/gatb-core/src/gatb/tools/math/NativeInt64.hpp +@@ -31,7 +31,7 @@ + #include <iostream> + #include <gatb/system/api/types.hpp> + #include <gatb/tools/misc/api/Abundance.hpp> +-#include <hdf5/hdf5.h> ++#include <hdf5.h> + + extern const unsigned char revcomp_4NT[]; + extern const unsigned char comp_NT []; +diff --git a/thirdparty/gatb-core/gatb-core/src/gatb/tools/math/NativeInt8.hpp b/thirdparty/gatb-core/gatb-core/src/gatb/tools/math/NativeInt8.hpp +index 9659874..0c79ff6 100644 +--- a/thirdparty/gatb-core/gatb-core/src/gatb/tools/math/NativeInt8.hpp ++++ b/thirdparty/gatb-core/gatb-core/src/gatb/tools/math/NativeInt8.hpp +@@ -31,7 +31,7 @@ + #include <iostream> + #include <gatb/system/api/types.hpp> + #include <gatb/tools/misc/api/Abundance.hpp> +-#include <hdf5/hdf5.h> ++#include <hdf5.h> + + /********************************************************************************/ + namespace gatb { +diff --git a/thirdparty/gatb-core/gatb-core/src/gatb/tools/misc/api/Abundance.hpp b/thirdparty/gatb-core/gatb-core/src/gatb/tools/misc/api/Abundance.hpp +index 3cb84f8..cd5d382 100644 +--- a/thirdparty/gatb-core/gatb-core/src/gatb/tools/misc/api/Abundance.hpp ++++ b/thirdparty/gatb-core/gatb-core/src/gatb/tools/misc/api/Abundance.hpp +@@ -31,7 +31,7 @@ + /********************************************************************************/ + + #include <sys/types.h> +-#include <hdf5/hdf5.h> ++#include <hdf5.h> + + /********************************************************************************/ + namespace gatb { +diff --git a/thirdparty/gatb-core/gatb-core/src/gatb/tools/misc/api/IHistogram.hpp b/thirdparty/gatb-core/gatb-core/src/gatb/tools/misc/api/IHistogram.hpp +index b8f6c79..a040832 100644 +--- a/thirdparty/gatb-core/gatb-core/src/gatb/tools/misc/api/IHistogram.hpp ++++ b/thirdparty/gatb-core/gatb-core/src/gatb/tools/misc/api/IHistogram.hpp +@@ -28,7 +28,7 @@ + + #include <gatb/system/api/ISmartPointer.hpp> + #include <gatb/tools/storage/impl/Storage.hpp> +-#include <hdf5/hdf5.h> ++#include <hdf5.h> + + /********************************************************************************/ + namespace gatb { +diff --git a/thirdparty/gatb-core/gatb-core/src/gatb/tools/storage/impl/CollectionHDF5.hpp b/thirdparty/gatb-core/gatb-core/src/gatb/tools/storage/impl/CollectionHDF5.hpp +index 2645abd..fad48c0 100644 +--- a/thirdparty/gatb-core/gatb-core/src/gatb/tools/storage/impl/CollectionHDF5.hpp ++++ b/thirdparty/gatb-core/gatb-core/src/gatb/tools/storage/impl/CollectionHDF5.hpp +@@ -40,7 +40,7 @@ + #include <string> + #include <vector> + #include <stdarg.h> +-#include <hdf5/hdf5.h> ++#include <hdf5.h> + + /********************************************************************************/ + namespace gatb { +diff --git a/thirdparty/gatb-core/gatb-core/src/gatb/tools/storage/impl/CollectionHDF5Patch.hpp b/thirdparty/gatb-core/gatb-core/src/gatb/tools/storage/impl/CollectionHDF5Patch.hpp +index a92b729..66d552f 100644 +--- a/thirdparty/gatb-core/gatb-core/src/gatb/tools/storage/impl/CollectionHDF5Patch.hpp ++++ b/thirdparty/gatb-core/gatb-core/src/gatb/tools/storage/impl/CollectionHDF5Patch.hpp +@@ -40,7 +40,7 @@ + #include <string> + #include <vector> + #include <stdarg.h> +-#include <hdf5/hdf5.h> ++#include <hdf5.h> + + /********************************************************************************/ + namespace gatb { +diff --git a/thirdparty/gatb-core/gatb-core/src/gatb/tools/storage/impl/StorageHDF5.hpp b/thirdparty/gatb-core/gatb-core/src/gatb/tools/storage/impl/StorageHDF5.hpp +index 29e0949..0565cc4 100644 +--- a/thirdparty/gatb-core/gatb-core/src/gatb/tools/storage/impl/StorageHDF5.hpp ++++ b/thirdparty/gatb-core/gatb-core/src/gatb/tools/storage/impl/StorageHDF5.hpp +@@ -33,7 +33,7 @@ + #include <gatb/tools/storage/impl/CollectionHDF5.hpp> + #include <gatb/tools/storage/impl/CollectionHDF5Patch.hpp> + #include <gatb/system/impl/System.hpp> +-#include <hdf5/hdf5.h> ++#include <hdf5.h> + #include <sstream> + + /********************************************************************************/ +diff --git a/thirdparty/gatb-core/gatb-core/thirdparty/CMakeLists.txt b/thirdparty/gatb-core/gatb-core/thirdparty/CMakeLists.txt +index 6e0b5c4..34aef28 100644 +--- a/thirdparty/gatb-core/gatb-core/thirdparty/CMakeLists.txt ++++ b/thirdparty/gatb-core/gatb-core/thirdparty/CMakeLists.txt +@@ -1,54 +1,3 @@ +-################################################################################ +-# HDF5 GENERATION +-################################################################################ +- +-#SET (HDF5_ENABLE_THREADSAFE ON) +-#SET (H5_HAVE_THREADSAFE 1) +- +-########## MOMENTARY DEACTIVATED => CRASH ON MACOS TO BE INVESTIGATED ########## +-SET (HDF5_BUILD_TOOLS ON CACHE BOOL "Build HDF5 Tools") +-#SET (CMAKE_EXE_LINKER_FLAGS "-lpthread -lz") +- +-SET (HDF5_EXTERNALLY_CONFIGURED ON) +- +-#SET (HDF5_INSTALL_BIN_DIR ${PROJECT_BINARY_DIR}/bin/${CMAKE_BUILD_TYPE}) +-#SET (HDF5_INSTALL_LIB_DIR ${PROJECT_BINARY_DIR}/lib/${CMAKE_BUILD_TYPE}) +-SET (HDF5_INSTALL_BIN_DIR bin) +-SET (HDF5_INSTALL_LIB_DIR lib) +- +-SET (HDF5_INSTALL_INCLUDE_DIR ${PROJECT_BINARY_DIR}/include/${CMAKE_BUILD_TYPE}/hdf5) +-SET (HDF5_INSTALL_DATA_DIR ${PROJECT_BINARY_DIR}/share/${CMAKE_BUILD_TYPE}) +-SET (HDF5_INSTALL_CMAKE_DIR ${PROJECT_BINARY_DIR}/share/${CMAKE_BUILD_TYPE}) +- +-IF (NOT DEFINED GATB_CORE_INSTALL_EXCLUDE) +- SET (HDF5_EXPORTED_TARGETS "gatb-hdf5") +-ENDIF() +- +-IF (NOT DEFINED GATB_CORE_EXCLUDE_HDF5_ZLIB) +- OPTION (HDF5_ENABLE_Z_LIB_SUPPORT "Enable Zlib Filters" ON) +-ENDIF() +- +-# We don't want warnings from HDF5 compilation +-set (COMPILE_DEFINITIONS "${COMPILE_DEFINITIONS} -w") +-add_definitions (${COMPILE_DEFINITIONS}) +- +-# add HDF5 generation +-ADD_SUBDIRECTORY (hdf5) +- +-# We add a custom target for copying header files. +-add_custom_target (hdf5_postbuild ALL) +- +-# We build the output directory +-add_custom_command (TARGET hdf5_postbuild POST_BUILD COMMAND ${CMAKE_COMMAND} -E make_directory ${HDF5_INSTALL_INCLUDE_DIR}) +- +-# We define all the header files to be copied +-file (GLOB headerfiles ${PROJECT_SOURCE_DIR}/thirdparty/hdf5/src/*.h ${PROJECT_BINARY_DIR}/thirdparty/hdf5/H5pubconf.h) +- +-# We copy each header file +-foreach (header ${headerfiles}) +- add_custom_command (TARGET hdf5_postbuild POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different ${header} ${HDF5_INSTALL_INCLUDE_DIR} ) +-endforeach() +- + # include other smaller libraries (json, Boophf) + + add_custom_target (thirdparty_copy ALL) diff --git a/pkgs/applications/science/biology/tebreak/default.nix b/pkgs/applications/science/biology/tebreak/default.nix new file mode 100644 index 000000000000..9ff81944f6a7 --- /dev/null +++ b/pkgs/applications/science/biology/tebreak/default.nix @@ -0,0 +1,42 @@ +{ stdenv, fetchFromGitHub, last, exonerate, minia, python3Packages, bwa +, samtools, findutils }: + +python3Packages.buildPythonApplication rec { + pname = "tebreak"; + version = "1.0"; + + src = fetchFromGitHub { + owner = "adamewing"; + repo = "tebreak"; + rev = version; + sha256 = "194av17wz66n4zxyi56mbkik31j2wmkly5i9qmxgaxymhavzi3kq"; + }; + + nativeBuildInputs = [ findutils python3Packages.cython ]; + propagatedBuildInputs = with python3Packages; [ + pysam + scipy + bx-python + scikit-bio + ]; + + preConfigure = '' + # patch the paths to all required software + for f in $(find . -type f) ; do + sed -i "s|'bwa'|'${bwa}/bin/bwa'|" $f + sed -i "s|'minia'|'${minia}/bin/minia'|" $f + sed -i "s|'exonerate'|'${exonerate}/bin/exonerate'|" $f + sed -i "s|'samtools'|'${samtools}/bin/samtools'|" $f + sed -i "s|'lastal'|'${last}/bin/lastal'|" $f + sed -i "s|'lastdb'|'${last}/bin/lastdb'|" $f + done + ''; + + meta = with stdenv.lib; { + description = "Find and characterise transposable element insertions"; + homepage = "https://github.com/adamewing/tebreak"; + license = licenses.mit; + maintainers = with maintainers; [ jbedo ]; + platforms = platforms.x86_64; + }; +} diff --git a/pkgs/development/python-modules/bx-python/default.nix b/pkgs/development/python-modules/bx-python/default.nix new file mode 100644 index 000000000000..57a3609bad0a --- /dev/null +++ b/pkgs/development/python-modules/bx-python/default.nix @@ -0,0 +1,39 @@ +{ lib, fetchFromGitHub, buildPythonPackage, isPy27, numpy, cython, zlib, six +, python-lzo, nose }: + +buildPythonPackage rec { + pname = "bx-python"; + version = "0.8.6"; + disabled = isPy27; + + src = fetchFromGitHub { + owner = "bxlab"; + repo = "bx-python"; + rev = "v${version}"; + sha256 = "1i40vmn8n83vqcpqj843riv9vp16s753jc4wc90p0cmrnhmzcv13"; + }; + + nativeBuildInputs = [ cython ]; + buildInputs = [ zlib ]; + propagatedBuildInputs = [ numpy six python-lzo ]; + checkInputs = [ nose ]; + + postInstall = '' + cp -r scripts/* $out/bin + + # This is a small hack; the test suit uses the scripts which need to + # be patched. Linking the patched scripts in $out back to the + # working directory allows the tests to run + rm -rf scripts + ln -s $out/bin scripts + ''; + + meta = with lib; { + homepage = "https://github.com/bxlab/bx-python"; + description = + "Tools for manipulating biological data, particularly multiple sequence alignments"; + license = licenses.mit; + maintainers = [ maintainers.jbedo ]; + platforms = [ "x86_64-linux" ]; + }; +} diff --git a/pkgs/development/python-modules/python-lzo/default.nix b/pkgs/development/python-modules/python-lzo/default.nix new file mode 100644 index 000000000000..5025b86361a3 --- /dev/null +++ b/pkgs/development/python-modules/python-lzo/default.nix @@ -0,0 +1,22 @@ +{ lib, fetchPypi, buildPythonPackage, lzo, nose }: + +buildPythonPackage rec { + pname = "python-lzo"; + version = "1.12"; + + src = fetchPypi { + inherit pname version; + sha256 = "0iakqgd51n1cd7r3lpdylm2rgbmd16y74cra9kcapwg84mlf9a4p"; + }; + + buildInputs = [ lzo ]; + propagatedBuildInputs = [ ]; + checkInputs = [ nose ]; + + meta = with lib; { + homepage = "https://github.com/jd-boyd/python-lzo"; + description = "Python bindings for the LZO data compression library"; + license = licenses.gpl2; + maintainers = [ maintainers.jbedo ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index ff133717731f..bd7ab8885acc 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -23672,10 +23672,16 @@ in kssd = callPackage ../applications/science/biology/kssd { }; + last = callPackage ../applications/science/biology/last { }; + macse = callPackage ../applications/science/biology/macse { }; migrate = callPackage ../applications/science/biology/migrate { }; + minia = callPackage ../applications/science/biology/minia { + boost = boost159; + }; + mirtk = callPackage ../development/libraries/science/biology/mirtk { }; muscle = callPackage ../applications/science/biology/muscle { }; @@ -23762,6 +23768,8 @@ in svaba = callPackage ../applications/science/biology/svaba { }; + tebreak = callPackage ../applications/science/biology/tebreak { }; + trimal = callPackage ../applications/science/biology/trimal { }; truvari = callPackage ../applications/science/biology/truvari { }; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 273695af1363..8420f2a03dfb 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1702,6 +1702,10 @@ in { bumps = callPackage ../development/python-modules/bumps {}; + bx-python = callPackage ../development/python-modules/bx-python { + inherit (pkgs) zlib; + }; + cached-property = callPackage ../development/python-modules/cached-property { }; caffe = toPythonModule (pkgs.caffe.override { @@ -2940,6 +2944,10 @@ in { python-ctags3 = callPackage ../development/python-modules/python-ctags3 { }; + python-lzo = callPackage ../development/python-modules/python-lzo { + inherit (pkgs) lzo; + }; + junos-eznc = callPackage ../development/python-modules/junos-eznc {}; raven = callPackage ../development/python-modules/raven { }; |