Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 40 additions & 0 deletions easybuild/easyconfigs/g/GATB-Core/GATB-Core-1.4.2-gompi-2022a.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
easyblock = 'CMakeMake'

name = 'GATB-Core'
version = '1.4.2'

homepage = 'https://gatb.inria.fr/software/gatb-core'
description = """GATB-Core is a high-performance and low memory footprint C++ library that provides a set of highly
efficient algorithms to analyse NGS data sets"""

toolchain = {'name': 'gompi', 'version': '2022a'}

source_urls = ['https://github.com/GATB/gatb-core/archive/']
sources = ['v%(version)s.tar.gz']
patches = ['GATB-Core-1.4.2_no-thirdparty-boost-hdf5.patch']
checksums = [
{'v1.4.2.tar.gz': '824c84a3712973746b977a9d49923fd499021a894225231100eaad1a66e9742d'},
{'GATB-Core-1.4.2_no-thirdparty-boost-hdf5.patch':
'938ff686e1fc8170b8ef4a73c1c0af059eb3eb76a6251b44a3dfddf991e05c63'},
]

builddependencies = [
('CMake', '3.24.3'),
('Doxygen', '1.9.4'),
]

dependencies = [
('Boost', '1.79.0'),
('HDF5', '1.12.2'),
]

start_dir = 'gatb-core'

preconfigopts = "rm -r %(start_dir)s/thirdparty/{boost,hdf5} && "

sanity_check_paths = {
'files': ['bin/dbginfo', 'bin/leon', 'lib/libgatbcore.a'],
'dirs': ['include/gatb'],
}

moduleclass = 'bio'
Original file line number Diff line number Diff line change
@@ -0,0 +1,232 @@
don't use vendored boost/hdf5 from gatb-core/thirdparty
author: Kenneth Hoste (HPC-UGent)
diff -ru gatb-core-1.4.2.orig/gatb-core/CMakeLists.txt gatb-core-1.4.2/gatb-core/CMakeLists.txt
--- gatb-core-1.4.2.orig/gatb-core/CMakeLists.txt 2020-04-12 23:15:34.000000000 +0200
+++ gatb-core-1.4.2/gatb-core/CMakeLists.txt 2023-03-31 21:25:42.862864064 +0200
@@ -209,7 +209,7 @@
set (gatb-core-includes ${PROJECT_BINARY_DIR}/include ${PROJECT_BINARY_DIR}/include/${CMAKE_BUILD_TYPE} ${PROJECT_SOURCE_DIR}/src ${PROJECT_SOURCE_DIR}/thirdparty ${gatb-core-extra-libraries-inc})

# We define the libraries used for linking binary based on gatb core
-set (gatb-core-libraries gatbcore-static dl pthread z hdf5-static ${gatb-core-extra-libraries})
+set (gatb-core-libraries gatbcore-static dl pthread z hdf5 ${gatb-core-extra-libraries})

# We define the directory where to find cmake helpers
set (gatb-core-cmake ${CMAKE_MODULE_PATH})
@@ -252,12 +252,6 @@
ADD_SUBDIRECTORY(thirdparty)

################################################################################
-# DEPENDENCIES
-################################################################################
-# we must be sure that hdf5 is built and installed before building gatb-core
-ADD_DEPENDENCIES (gatbcore-static hdf5-static hdf5_postbuild)
-
-################################################################################
# DOCUMENTATION GENERATION
################################################################################
IF (EXISTS "${PROJECT_SOURCE_DIR}/doc")
@@ -286,7 +280,6 @@
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()

################################################################################
--- gatb-core-1.4.2.orig/gatb-core/thirdparty/CMakeLists.txt 2020-04-12 23:15:34.000000000 +0200
+++ gatb-core-1.4.2/gatb-core/thirdparty/CMakeLists.txt 2023-03-31 14:39:11.999034862 +0200
@@ -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)
@@ -63,7 +12,6 @@
# INSTALL
################################################################################
IF (NOT DEFINED GATB_CORE_INSTALL_EXCLUDE)
- INSTALL (DIRECTORY ${PROJECT_BINARY_DIR}/include/${CMAKE_BUILD_TYPE}/hdf5 DESTINATION include)
INSTALL (DIRECTORY ${PROJECT_BINARY_DIR}/include/${CMAKE_BUILD_TYPE}/json DESTINATION include)
INSTALL (DIRECTORY ${PROJECT_BINARY_DIR}/include/${CMAKE_BUILD_TYPE}/BooPHF DESTINATION include)
ENDIF ()
diff -ru gatb-core-1.4.2.orig/gatb-core/src/gatb/tools/math/LargeInt.hpp gatb-core-1.4.2/gatb-core/src/gatb/tools/math/LargeInt.hpp
--- gatb-core-1.4.2.orig/gatb-core/src/gatb/tools/math/LargeInt.hpp 2020-04-12 23:15:34.000000000 +0200
+++ gatb-core-1.4.2/gatb-core/src/gatb/tools/math/LargeInt.hpp 2023-03-31 10:40:57.005450131 +0200
@@ -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 -ru gatb-core-1.4.2.orig/gatb-core/src/gatb/tools/math/NativeInt128.hpp gatb-core-1.4.2/gatb-core/src/gatb/tools/math/NativeInt128.hpp
--- gatb-core-1.4.2.orig/gatb-core/src/gatb/tools/math/NativeInt128.hpp 2020-04-12 23:15:34.000000000 +0200
+++ gatb-core-1.4.2/gatb-core/src/gatb/tools/math/NativeInt128.hpp 2023-03-31 10:40:57.005450131 +0200
@@ -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 -ru gatb-core-1.4.2.orig/gatb-core/src/gatb/tools/math/NativeInt16.hpp gatb-core-1.4.2/gatb-core/src/gatb/tools/math/NativeInt16.hpp
--- gatb-core-1.4.2.orig/gatb-core/src/gatb/tools/math/NativeInt16.hpp 2020-04-12 23:15:34.000000000 +0200
+++ gatb-core-1.4.2/gatb-core/src/gatb/tools/math/NativeInt16.hpp 2023-03-31 10:40:57.005450131 +0200
@@ -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 -ru gatb-core-1.4.2.orig/gatb-core/src/gatb/tools/math/NativeInt32.hpp gatb-core-1.4.2/gatb-core/src/gatb/tools/math/NativeInt32.hpp
--- gatb-core-1.4.2.orig/gatb-core/src/gatb/tools/math/NativeInt32.hpp 2020-04-12 23:15:34.000000000 +0200
+++ gatb-core-1.4.2/gatb-core/src/gatb/tools/math/NativeInt32.hpp 2023-03-31 10:40:57.006450171 +0200
@@ -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 -ru gatb-core-1.4.2.orig/gatb-core/src/gatb/tools/math/NativeInt64.hpp gatb-core-1.4.2/gatb-core/src/gatb/tools/math/NativeInt64.hpp
--- gatb-core-1.4.2.orig/gatb-core/src/gatb/tools/math/NativeInt64.hpp 2020-04-12 23:15:34.000000000 +0200
+++ gatb-core-1.4.2/gatb-core/src/gatb/tools/math/NativeInt64.hpp 2023-03-31 10:40:57.006450171 +0200
@@ -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 -ru gatb-core-1.4.2.orig/gatb-core/src/gatb/tools/math/NativeInt8.hpp gatb-core-1.4.2/gatb-core/src/gatb/tools/math/NativeInt8.hpp
--- gatb-core-1.4.2.orig/gatb-core/src/gatb/tools/math/NativeInt8.hpp 2020-04-12 23:15:34.000000000 +0200
+++ gatb-core-1.4.2/gatb-core/src/gatb/tools/math/NativeInt8.hpp 2023-03-31 10:40:57.006450171 +0200
@@ -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 -ru gatb-core-1.4.2.orig/gatb-core/src/gatb/tools/misc/api/Abundance.hpp gatb-core-1.4.2/gatb-core/src/gatb/tools/misc/api/Abundance.hpp
--- gatb-core-1.4.2.orig/gatb-core/src/gatb/tools/misc/api/Abundance.hpp 2020-04-12 23:15:34.000000000 +0200
+++ gatb-core-1.4.2/gatb-core/src/gatb/tools/misc/api/Abundance.hpp 2023-03-31 10:40:57.006450171 +0200
@@ -31,7 +31,7 @@
/********************************************************************************/

#include <sys/types.h>
-#include <hdf5/hdf5.h>
+#include <hdf5.h>

/********************************************************************************/
namespace gatb {
diff -ru gatb-core-1.4.2.orig/gatb-core/src/gatb/tools/misc/api/IHistogram.hpp gatb-core-1.4.2/gatb-core/src/gatb/tools/misc/api/IHistogram.hpp
--- gatb-core-1.4.2.orig/gatb-core/src/gatb/tools/misc/api/IHistogram.hpp 2020-04-12 23:15:34.000000000 +0200
+++ gatb-core-1.4.2/gatb-core/src/gatb/tools/misc/api/IHistogram.hpp 2023-03-31 10:40:57.007450212 +0200
@@ -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 -ru gatb-core-1.4.2.orig/gatb-core/src/gatb/tools/storage/impl/CollectionHDF5.hpp gatb-core-1.4.2/gatb-core/src/gatb/tools/storage/impl/CollectionHDF5.hpp
--- gatb-core-1.4.2.orig/gatb-core/src/gatb/tools/storage/impl/CollectionHDF5.hpp 2020-04-12 23:15:34.000000000 +0200
+++ gatb-core-1.4.2/gatb-core/src/gatb/tools/storage/impl/CollectionHDF5.hpp 2023-03-31 10:40:57.007450212 +0200
@@ -40,7 +40,7 @@
#include <string>
#include <vector>
#include <stdarg.h>
-#include <hdf5/hdf5.h>
+#include <hdf5.h>

/********************************************************************************/
namespace gatb {
diff -ru gatb-core-1.4.2.orig/gatb-core/src/gatb/tools/storage/impl/CollectionHDF5Patch.hpp gatb-core-1.4.2/gatb-core/src/gatb/tools/storage/impl/CollectionHDF5Patch.hpp
--- gatb-core-1.4.2.orig/gatb-core/src/gatb/tools/storage/impl/CollectionHDF5Patch.hpp 2020-04-12 23:15:34.000000000 +0200
+++ gatb-core-1.4.2/gatb-core/src/gatb/tools/storage/impl/CollectionHDF5Patch.hpp 2023-03-31 10:40:57.008450252 +0200
@@ -40,7 +40,7 @@
#include <string>
#include <vector>
#include <stdarg.h>
-#include <hdf5/hdf5.h>
+#include <hdf5.h>

/********************************************************************************/
namespace gatb {
diff -ru gatb-core-1.4.2.orig/gatb-core/src/gatb/tools/storage/impl/StorageHDF5.hpp gatb-core-1.4.2/gatb-core/src/gatb/tools/storage/impl/StorageHDF5.hpp
--- gatb-core-1.4.2.orig/gatb-core/src/gatb/tools/storage/impl/StorageHDF5.hpp 2020-04-12 23:15:34.000000000 +0200
+++ gatb-core-1.4.2/gatb-core/src/gatb/tools/storage/impl/StorageHDF5.hpp 2023-03-31 10:40:57.008450252 +0200
@@ -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>

/********************************************************************************/
45 changes: 45 additions & 0 deletions easybuild/easyconfigs/l/LoRDEC/LoRDEC-0.9-gompi-2022a.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
easyblock = 'MakeCp'

name = 'LoRDEC'
version = '0.9'

homepage = 'https://www.lirmm.fr/~rivals/lordec'
description = """Program for correcting sequencing errors in long reads (e.g., PacBio, Oxford Nanopore) using highly
accurate short reads (e.g., Illumina)."""

toolchain = {'name': 'gompi', 'version': '2022a'}

source_urls = ['https://gite.lirmm.fr/lordec/lordec-releases/uploads/800a96d81b3348e368a0ff3a260a88e1/']
sources = ['lordec-src_%(version)s.tar.bz2']
patches = [
'LoRDEC-0.9_GATB.patch',
'LoRDEC-0.9_GraphVector.patch',
]
checksums = [
{'lordec-src_0.9.tar.bz2': '8108b82a8404fbf44c7e300d3abb43358ccc28993f90546168a20ca82536923b'},
{'LoRDEC-0.9_GATB.patch': '8ff5e097455bb6ea515423bc76059f64d1983eb4873e640cd5021f00be85ca99'},
{'LoRDEC-0.9_GraphVector.patch': '8c42dda643f8e1f79ee7d4ea2e3d8904cb755dc44cb907ada35b1e2873605ae5'},
]

local_gatb_version = '1.4.2'
dependencies = [
('Boost', '1.79.0'),
('GATB-Core', local_gatb_version),
]

build_cmd_targets = 'lordec_%s' % ''.join(local_gatb_version.split('.'))

buildopts = "AUTOMATIC_LIBBOOST_LOCAL_INSTALL=no GATB=${EBROOTGATBMINCORE}"

local_bins = ['lordec-%s' % x for x in ('build-SR-graph', 'correct', 'stat', 'trim', 'trim-split')]

files_to_copy = [(local_bins, 'bin')]

sanity_check_paths = {
'files': ['bin/%s' % x for x in local_bins],
'dirs': [],
}

sanity_check_commands = ["%s --help 2>&1 | grep 'using GATB v%s'" % (x, local_gatb_version) for x in local_bins]

moduleclass = 'bio'
13 changes: 13 additions & 0 deletions easybuild/easyconfigs/l/LoRDEC/LoRDEC-0.9_GATB.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
don't hardcode path to include/gatb/gatb_core.hpp so we can use GATB-Core provided as dependency
author: Kenneth Hoste (HPC-UGent)
--- lordec-src_0.9/Makefile.orig 2023-03-31 09:54:40.838204432 +0200
+++ lordec-src_0.9/Makefile 2023-03-31 09:55:42.987061551 +0200
@@ -63,7 +63,7 @@
$(PROG_GRAPH) $(OBJS_TEST_CORRECT) $(OBJS_CATCHTEST_CORRECT) $(OBJS_CORRECT) $(OBJS_STATS) $(OBJS_TRIM) $(OBJS_TRIM_SPLIT): boost_include/boost/graph/graph_traits.hpp
endif
# ANYWAY we need GATB (compiled and installed) to compile all the objects
-$(PROG_GRAPH) $(OBJS_TEST_CORRECT) $(OBJS_CATCHTEST_CORRECT) $(OBJS_CORRECT) $(OBJS_STATS) $(OBJS_TRIM) $(OBJS_TRIM_SPLIT): gatb_v$(GATBVERSION)$(SUFFIX)/include/gatb/gatb_core.hpp
+$(PROG_GRAPH) $(OBJS_TEST_CORRECT) $(OBJS_CATCHTEST_CORRECT) $(OBJS_CORRECT) $(OBJS_STATS) $(OBJS_TRIM) $(OBJS_TRIM_SPLIT): $(GATB)/include/gatb/gatb_core.hpp

# get version from a file
VERSION := $(shell cat version.txt)
Loading