Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

{bio}[foss/2018b] bmtagger v3.101, SRPRISM v3.0.0 #7890

Merged
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
37 changes: 37 additions & 0 deletions easybuild/easyconfigs/b/bmtagger/bmtagger-3.101-foss-2018b.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
easyblock = 'MakeCp'

name = 'bmtagger'
version = '3.101'

homepage = 'ftp://ftp.ncbi.nlm.nih.gov/pub/agarwala/bmtagger/'
description = "Best Match Tagger for removing human reads from metagenomics datasets"

toolchain = {'name': 'foss', 'version': '2018b'}
toolchainopts = {'cstd': 'c++98'}

source_urls = ['ftp://ftp.ncbi.nlm.nih.gov/pub/agarwala/bmtagger/']
sources = [{'download_filename': 'bmtools.tar.gz', 'filename': 'bmtools-%(version)s.tar.gz'}]
patches = ['bmtagger-%(version)s_fix-hardcoding.patch']
checksums = [
'81ac6d47aa478c2e0ef760f15b9c71e1c52430c96a2c8d064667ebbef148e873', # bmtools-3.101.tar.gz
'8779edd4dab6c0a3bc1bbcc5f265d61ccfd685972a0570bc3a84f5a131972195', # bmtagger-3.101_fix-hardcoding.patch
]

dependencies = [
('BLAST+', '2.7.1'),
('SRPRISM', '3.0.0'),
]

files_to_copy = [(['bmtagger/bmfilter', 'bmtagger/bmtagger.sh', 'bmtagger/bmtool', 'bmtagger/extract_fullseq'], 'bin')]

sanity_check_paths = {
'files': ['bin/bmfilter', 'bin/bmtagger.sh', 'bin/bmtool', 'bin/extract_fullseq'],
'dirs': [],
}

sanity_check_commands = [
"bmtool -h",
"bmfilter -h",
]

moduleclass = 'bio'
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
fix hardcoding of compiler command & flags, by passing down $CXX, $CXX and $CXXFLAGS
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

you're passing down CFLAGS, not CXXFLAGS?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@wpoely86 The code is partially C & C++, and the flags are identical anyway...

--- Makefile.orig 2014-02-21 01:20:50.000000000 +0100
+++ Makefile 2019-03-14 16:20:18.415277482 +0100
@@ -4,6 +4,6 @@


all depend test clean:
- set -e ; for file in $(SUBDIRS) ; do make -C $$file $(MAKEFLAGS:%=-%) $@ ; done
+ set -e ; for file in $(SUBDIRS) ; do make -C $$file $@ CC="${CC}" CXX="${CXX}" FLAGS="${CFLAGS}"; done


36 changes: 36 additions & 0 deletions easybuild/easyconfigs/s/SRPRISM/SRPRISM-3.0.0-foss-2018b.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
easyblock = 'MakeCp'

name = 'SRPRISM'
version = '3.0.0'

homepage = 'https://github.com/ncbi/SRPRISM'
description = "Single Read Paired Read Indel Substitution Minimizer"

toolchain = {'name': 'foss', 'version': '2018b'}

source_urls = ['https://github.com/ncbi/SRPRISM/archive/']
sources = ['v%(version)s.tar.gz']
patches = ['SRPRISM-%(version)s_fix-GCC-7.patch']
checksums = [
'ff40ad5b3d41fa5980550425b5f7ad570f1ee830c158bfd6cb468372091e11f0', # v3.0.0.tar.gz
'b65a594851f25e22fce28ad16732f110eec118a6f7125ecd7ea163f95b1f5121', # SRPRISM-3.0.0_fix-GCC-7.patch
]

dependencies = [
('NGS', '2.9.3', '-Java-1.8'),
('bzip2', '1.0.6'),
]

prebuildopts = "cd srprism/lib && "
buildopts = " && cd ../app && make"

files_to_copy = [(['srprism/app/srprism'], 'bin')]

sanity_check_paths = {
'files': ['bin/srprism'],
'dirs': [],
}

sanity_check_commands = ["srprism help"]

moduleclass = 'bio'
54 changes: 54 additions & 0 deletions easybuild/easyconfigs/s/SRPRISM/SRPRISM-3.0.0_fix-GCC-7.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
fix compilation with GCC 7.x
author: Kenneth Hoste (HPC-UGent)
see also https://github.com/ncbi/SRPRISM/issues/1
--- srprism/lib/srprism/query_acct.hpp.orig 2019-03-14 17:53:26.960989751 +0100
+++ srprism/lib/srprism/query_acct.hpp 2019-03-14 18:47:10.461173398 +0100
@@ -112,10 +112,10 @@

template< bool paired >
bool BestLevelFull( TQNum qn ) const
- { return query_info_[qn].BestLevelFull< paired >( res_lim_ ); }
+ { return query_info_[qn].template BestLevelFull< paired >( res_lim_ ); }

template< bool paired > int MaxErr( TQNum qn ) const
- { return query_info_[qn].MaxErr< paired >(); }
+ { return query_info_[qn].template MaxErr< paired >(); }

int GroupMaxErr( TQNum dup_idx ) const
{ return t_scoring::template MaxErr< true >( dup_data_[dup_idx] ); }
--- srprism/lib/srprism/query_store.hpp.orig 2019-03-14 17:58:03.219288045 +0100
+++ srprism/lib/srprism/query_store.hpp 2019-03-14 18:48:45.310588004 +0100
@@ -662,7 +662,7 @@
else AdjustMinRankInfo< t_scoring >( qn );
}

- int max_err( qa->MaxErr< true >( qn ) );
+ int max_err( qa->template MaxErr< true >( qn ) );

if( max_err < min_err ||
(max_err == min_err &&
@@ -687,7 +687,7 @@
qn, align_len, n_err, n_gap, n_del, n_gopen ) );

if( res ) {
- int max_err( qa->MaxErr< false >( qn ) );
+ int max_err( qa->template MaxErr< false >( qn ) );

if( max_err < min_err ||
(max_err == min_err &&
@@ -715,13 +715,13 @@
TSeqSize MaxQueryLen( void ) const { return max_query_len_; }

template< typename t_scoring, bool paired > int MaxErr( TQNum qn ) const
- { return GetScoringData< t_scoring >()->MaxErr< paired >( qn ); }
+ { return GetScoringData< t_scoring >()->template MaxErr< paired >( qn ); }

template< typename t_scoring, bool paired > int
GroupMaxErr( TQNum qn ) const
{
if( IsUnique( qn ) || DupDataStart( qn )[N_MIN_RANK] == 0 ) {
- return GetScoringData< t_scoring >()->MaxErr< paired >( qn );
+ return GetScoringData< t_scoring >()->template MaxErr< paired >( qn );
}
else {
return GetScoringData< t_scoring >()->GroupMaxErr(