-
Notifications
You must be signed in to change notification settings - Fork 706
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #20217 from smoors/20240326170611_new_pr_bwa-mem2221
{bio}[intel-compilers/2023.1.0] bwa-mem2 v2.2.1
- Loading branch information
Showing
3 changed files
with
138 additions
and
0 deletions.
There are no files selected for viewing
37 changes: 37 additions & 0 deletions
37
easybuild/easyconfigs/b/bwa-mem2/bwa-mem2-2.2.1-intel-compilers-2023.1.0.eb
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
easyblock = 'MakeCp' | ||
|
||
name = 'bwa-mem2' | ||
version = '2.2.1' | ||
|
||
homepage = 'https://github.com/bwa-mem2/bwa-mem2' | ||
description = """ | ||
The tool bwa-mem2 is the next version of the bwa-mem algorithm in bwa. It | ||
produces alignment identical to bwa and is ~1.3-3.1x faster depending on the | ||
use-case, dataset and the running machine.""" | ||
|
||
toolchain = {'name': 'intel-compilers', 'version': '2023.1.0'} | ||
toolchainopts = {'pic': True, 'oneapi': False} | ||
|
||
github_account = 'bwa-mem2' | ||
source_urls = [GITHUB_SOURCE] | ||
sources = ['v%(version)s.tar.gz'] | ||
patches = ['%(name)s-%(version)s_use_external_deps.patch'] | ||
checksums = [ | ||
{'v2.2.1.tar.gz': '36ddd28ce7020d5a036ddeffa00e692296fd40c80380671bd4ea5757bd28841b'}, | ||
{'bwa-mem2-2.2.1_use_external_deps.patch': '0a9d7f7b3289029e19cf7dbab1778448097b9e0f92fa41a74a8cf81c9e114967'}, | ||
] | ||
|
||
dependencies = [('safestringlib', '20240228')] | ||
|
||
build_cmd_targets = 'multi' | ||
|
||
files_to_copy = [(['bwa-mem2*'], 'bin')] | ||
|
||
sanity_check_paths = { | ||
'files': ['bin/%(name)s'], | ||
'dirs': [], | ||
} | ||
|
||
sanity_check_commands = ['bwa-mem2 version'] | ||
|
||
moduleclass = 'bio' |
62 changes: 62 additions & 0 deletions
62
easybuild/easyconfigs/b/bwa-mem2/bwa-mem2-2.2.1_use_external_deps.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
Use external safestringlib dependency | ||
Author: Samuel Moors (Vrije Universiteit Brussel) | ||
|
||
diff -ur bwa-mem2-2.2.1.orig/Makefile bwa-mem2-2.2.1/Makefile | ||
--- bwa-mem2-2.2.1.orig/Makefile 2021-03-17 06:36:00.000000000 +0100 | ||
+++ bwa-mem2-2.2.1/Makefile 2024-03-27 20:54:40.532807000 +0100 | ||
@@ -42,14 +42,13 @@ | ||
ARCH_FLAGS= -msse -msse2 -msse3 -mssse3 -msse4.1 | ||
MEM_FLAGS= -DSAIS=1 | ||
CPPFLAGS+= -DENABLE_PREFETCH -DV17=1 -DMATE_SORT=0 $(MEM_FLAGS) | ||
-INCLUDES= -Isrc -Iext/safestringlib/include | ||
-LIBS= -lpthread -lm -lz -L. -lbwa -Lext/safestringlib -lsafestring $(STATIC_GCC) | ||
+INCLUDES= -Isrc | ||
+LIBS= -lpthread -lm -lz -L. -lbwa -lsafestring_shared $(STATIC_GCC) | ||
OBJS= src/fastmap.o src/bwtindex.o src/utils.o src/memcpy_bwamem.o src/kthread.o \ | ||
src/kstring.o src/ksw.o src/bntseq.o src/bwamem.o src/profiling.o src/bandedSWA.o \ | ||
src/FMI_search.o src/read_index_ele.o src/bwamem_pair.o src/kswv.o src/bwa.o \ | ||
src/bwamem_extra.o src/kopen.o | ||
BWA_LIB= libbwa.a | ||
-SAFE_STR_LIB= ext/safestringlib/libsafestring.a | ||
|
||
ifeq ($(arch),sse41) | ||
ifeq ($(CXX), icpc) | ||
@@ -101,31 +100,27 @@ | ||
all:$(EXE) | ||
|
||
multi: | ||
- rm -f src/*.o $(BWA_LIB); cd ext/safestringlib/ && $(MAKE) clean; | ||
+ rm -f src/*.o $(BWA_LIB); | ||
$(MAKE) arch=sse41 EXE=bwa-mem2.sse41 CXX=$(CXX) all | ||
- rm -f src/*.o $(BWA_LIB); cd ext/safestringlib/ && $(MAKE) clean; | ||
+ rm -f src/*.o $(BWA_LIB); | ||
$(MAKE) arch=sse42 EXE=bwa-mem2.sse42 CXX=$(CXX) all | ||
- rm -f src/*.o $(BWA_LIB); cd ext/safestringlib/ && $(MAKE) clean; | ||
+ rm -f src/*.o $(BWA_LIB); | ||
$(MAKE) arch=avx EXE=bwa-mem2.avx CXX=$(CXX) all | ||
- rm -f src/*.o $(BWA_LIB); cd ext/safestringlib/ && $(MAKE) clean; | ||
+ rm -f src/*.o $(BWA_LIB); | ||
$(MAKE) arch=avx2 EXE=bwa-mem2.avx2 CXX=$(CXX) all | ||
- rm -f src/*.o $(BWA_LIB); cd ext/safestringlib/ && $(MAKE) clean; | ||
+ rm -f src/*.o $(BWA_LIB); | ||
$(MAKE) arch=avx512 EXE=bwa-mem2.avx512bw CXX=$(CXX) all | ||
- $(CXX) -Wall -O3 src/runsimd.cpp -Iext/safestringlib/include -Lext/safestringlib/ -lsafestring $(STATIC_GCC) -o bwa-mem2 | ||
+ $(CXX) -Wall -O3 src/runsimd.cpp -lsafestring_shared $(STATIC_GCC) -o bwa-mem2 | ||
|
||
|
||
-$(EXE):$(BWA_LIB) $(SAFE_STR_LIB) src/main.o | ||
+$(EXE):$(BWA_LIB) src/main.o | ||
$(CXX) $(CXXFLAGS) $(LDFLAGS) src/main.o $(BWA_LIB) $(LIBS) -o $@ | ||
|
||
$(BWA_LIB):$(OBJS) | ||
ar rcs $(BWA_LIB) $(OBJS) | ||
|
||
-$(SAFE_STR_LIB): | ||
- cd ext/safestringlib/ && $(MAKE) clean && $(MAKE) CC=$(CC) directories libsafestring.a | ||
- | ||
clean: | ||
rm -fr src/*.o $(BWA_LIB) $(EXE) bwa-mem2.sse41 bwa-mem2.sse42 bwa-mem2.avx bwa-mem2.avx2 bwa-mem2.avx512bw | ||
- cd ext/safestringlib/ && $(MAKE) clean | ||
|
||
depend: | ||
(LC_ALL=C; export LC_ALL; makedepend -Y -- $(CXXFLAGS) $(CPPFLAGS) -I. -- src/*.cpp) |
39 changes: 39 additions & 0 deletions
39
easybuild/easyconfigs/s/safestringlib/safestringlib-20240228-intel-compilers-2023.1.0.eb
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
easyblock = 'CMakeMake' | ||
|
||
name = 'safestringlib' | ||
version = '20240228' | ||
_commit = 'b006356' | ||
|
||
homepage = 'https://github.com/intel/safestringlib' | ||
description = """ | ||
The Secure Development Lifecycle (SDL) recommends banning certain C Library | ||
functions because they directly contribute to security vulnerabilities such as | ||
buffer overflows. However routines for the manipulation of strings and memory | ||
buffers are common in software and firmware, and are essential to accomplish | ||
certain programming tasks. Safer replacements for these functions that avoid or | ||
prevent serious security vulnerabilities (e.g. buffer overflows, string format | ||
attacks, conversion overflows/underflows, etc.) are available in the SafeString | ||
Library.""" | ||
|
||
toolchain = {'name': 'intel-compilers', 'version': '2023.1.0'} | ||
|
||
github_account = 'intel' | ||
sources = [{ | ||
'source_urls': [GITHUB_SOURCE], | ||
'download_filename': '%s.tar.gz' % _commit, | ||
'filename': SOURCE_TAR_GZ, | ||
}] | ||
checksums = ['ea8e8952d7ade32a19df18af3a645ea54af924ff63a9b1a0b60e0e51be396d31'] | ||
|
||
builddependencies = [ | ||
('CMake', '3.26.3'), | ||
] | ||
|
||
postinstallcmds = ['cp libsafestring_static.a %(installdir)s/lib/'] | ||
|
||
sanity_check_paths = { | ||
'files': ['lib/libsafestring_shared.%s' % SHLIB_EXT, 'lib/libsafestring_static.a'], | ||
'dirs': ['include', 'share/safestring/cmake'], | ||
} | ||
|
||
moduleclass = 'lib' |