Merge pull request #75900 from jbedo/tebreak

Tebreak, minia, last, bx-python, python-lzo
This commit is contained in:
Frederik Rietdijk 2019-12-29 10:24:31 +01:00 committed by GitHub
commit eda01862c4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 404 additions and 0 deletions

View file

@ -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;
};
}

View file

@ -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" ];
};
}

View file

@ -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)

View file

@ -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;
};
}

View file

@ -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" ];
};
}

View file

@ -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 ];
};
}

View file

@ -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 { };

View file

@ -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 { };