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 /pkgs/applications/science | |
parent | 62ef779f2a5050549772722665bedf52f01268d2 (diff) | |
parent | 11460d4cac3a7cd744522511f2f6cf68cbfff8ff (diff) |
Merge pull request #75900 from jbedo/tebreak
Tebreak, minia, last, bx-python, python-lzo
Diffstat (limited to 'pkgs/applications/science')
4 files changed, 327 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 0000000000000..5ece9a463d438 --- /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 0000000000000..2a80de733b08f --- /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 0000000000000..21d12c7f6f2d0 --- /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 0000000000000..9ff81944f6a7d --- /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; + }; +} |