Skip to content

Commit

Permalink
Merge pull request easybuilders#18216 from sib-swiss/20230628151838_n…
Browse files Browse the repository at this point in the history
…ew_pr_RMBlast2140

{bio}[foss/2021a,gompi/2021a] RMBlast v2.14.0, RepeatMasker v4.1.5 w/ Python 3.9.5
  • Loading branch information
verdurin authored Sep 28, 2023
2 parents 350ba4c + e048e1f commit 6a608f0
Show file tree
Hide file tree
Showing 2 changed files with 120 additions and 0 deletions.
63 changes: 63 additions & 0 deletions easybuild/easyconfigs/r/RMBlast/RMBlast-2.14.0-gompi-2021a.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
##
# EasyBuild reciPY as per https://github.com/easybuilders/easybuild
#
# Copyright:: Copyright 2012-2014 Uni.Lu/LCSB, NTUA
# Authors:: Fotis Georgatos <[email protected]>, Kenneth Hoste (UGent)
# License:: MIT/GPL
# $Id$
#
# This work implements a part of the HPCBIOS project and is a component of
# the policy: https://hpcbios.readthedocs.org/en/latest/HPCBIOS_2012-94.html
##

easyblock = 'ConfigureMake'

name = 'RMBlast'
version = '2.14.0'

homepage = 'https://www.repeatmasker.org/rmblast/'
description = """RMBlast is a RepeatMasker compatible version of the standard NCBI BLAST suite. The primary
difference between this distribution and the NCBI distribution is the addition of a new program 'rmblastn'
for use with RepeatMasker and RepeatModeler."""

toolchain = {'name': 'gompi', 'version': '2021a'}
toolchainopts = {'usempi': True}

# RMBlast is distributed as a patch that applies on top of BLAST+
source_urls = ['https://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/%(version)s/']
sources = ['ncbi-blast-%(version)s+-src.tar.gz']
patches = [('https://www.repeatmasker.org/%(namelower)s/isb-%(version)s+-%(namelower)s.patch.gz', 2)]
checksums = [
{'ncbi-blast-2.14.0+-src.tar.gz': 'bf477f1b0c3b82f0b7a7094bf003a9a83e37e3b0716c1df799060c4feab17500'},
{'isb-2.14.0+-rmblast.patch.gz': '9de0e67467a4cffdde0c5f67e3658fb52ed313e4550f9a36a251bddb2ba33f49'},
]

dependencies = [
('zlib', '1.2.11'),
('bzip2', '1.0.8'),
('PCRE', '8.44'),
('Boost.MPI', '1.76.0'),
('GMP', '6.2.1'),
('libpng', '1.6.37'),
('libjpeg-turbo', '2.0.6'),
('LMDB', '0.9.28'),
]

# Disable auto-vectorization for the API on CPUs with AVX512 (Intel Skylake and onwards)
# Compilation fails on src/algo/blast/api/prelim_stage.cpp
local_apimake = 'src/algo/blast/api/Makefile.xblast.lib'
preconfigopts = "sed -i 's/FAST_CXXFLAGS)/FAST_CXXFLAGS) -fno-tree-vectorize/g' %s &&" % local_apimake

configopts = "--with-64 --with-z=$EBROOTZLIB --with-bz2=$EBROOTBZIP2 "
configopts += "--with-pcre=$EBROOTPCRE --with-boost=$EBROOTBOOST "
configopts += "--with-gmp=$EBROOTGMP --with-png=$EBROOTLIBPNG "
configopts += "--with-jpeg=$EBROOTLIBJPEGMINTURBO --with-lmdb=$EBROOTLMDB"

prebuildopts = "sed -i 's/LIBS =/LIBS = $(BLAST_THIRD_PARTY_LIBS)/' src/app/rmblastn/Makefile.rmblastn.app && "

sanity_check_paths = {
'files': ['bin/blastp', 'bin/blastn', 'bin/deltablast', 'bin/rmblastn'],
'dirs': []
}

moduleclass = 'bio'
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
easyblock = 'Tarball'

name = 'RepeatMasker'
version = '4.1.5'

homepage = 'https://www.repeatmasker.org/'
description = """RepeatMasker is a program that screens DNA sequences for interspersed repeats
and low complexity DNA sequences."""

toolchain = {'name': 'foss', 'version': '2021a'}

source_urls = ['https://www.repeatmasker.org/%(name)s']
sources = [
SOURCE_TAR_GZ,
# optional but recommended: RepBase RepeatMasker Edition
# requires subscription and academic license, download from here: https://www.girinst.org/server/RepBase/index.php
# {
# 'filename': 'RepBaseRepeatMaskerEdition-20181026.tar.gz',
# 'extract_cmd': "tar -xzf %s -C %(builddir)s/%(name)s/Libraries --strip-components 1",
# },
]
checksums = ['16e07f9efd99adf15f4492b0e334df5ad4ea6ca38ddf62bdd180d257f2f4753f']

dependencies = [
('Python', '3.9.5'),
('Perl', '5.32.1'),
('TRF', '4.09.1'),
('h5py', '3.2.1'),
# At least one search engine of: RMBlast, HMMER, ABBlast/WUBlast, Cross_Match
('HMMER', '3.3.2'),
('RMBlast', '2.14.0'),
]

local_default_search_engine = 'RMBlast'

local_config_command = 'cd %(installdir)s &&'
local_config_command += './configure -perlbin "$EBROOTPERL/bin/perl" -trf_prgm "$EBROOTTRF/bin/trf" '
local_config_command += '-hmmer_dir "$EBROOTHMMER/bin" -rmblast_dir "$EBROOTRMBLAST/bin" '
local_config_command += '-default_search_engine %s' % local_default_search_engine.lower()

postinstallcmds = [local_config_command]

fix_perl_shebang_for = ['RepeatMasker']

sanity_check_paths = {
'files': ['RepeatMasker', 'RepeatMaskerConfig.pm'],
'dirs': ['Libraries', 'util'],
}

sanity_check_commands = ['RepeatMasker -help']

modextrapaths = {
'PATH': '',
'PERL5LIB': '',
}

moduleclass = 'bio'

0 comments on commit 6a608f0

Please sign in to comment.