ConfigureMake example

ConfigureMake example#

easyblock = 'ConfigureMake'

name = 'HMMER'
version = '3.3.2'

homepage = 'http://hmmer.org/'
description = """HMMER is used for searching sequence databases for homologs
 of protein sequences, and for making protein sequence alignments. It
 implements methods using probabilistic models called profile hidden Markov
 models (profile HMMs).  Compared to BLAST, FASTA, and other sequence
 alignment and database search tools based on older scoring methodology,
 HMMER aims to be significantly more accurate and more able to detect remote
 homologs because of the strength of its underlying mathematical models. In the
 past, this strength came at significant computational expense, but in the new
 HMMER3 project, HMMER is now essentially as fast as BLAST."""

toolchain = {'name': 'gompi', 'version': '2023b'}

source_urls = [
    'http://eddylab.org/software/hmmer/',
    'http://eddylab.org/software/hmmer%(version_major)s/%(version)s/',
]
sources = [SOURCELOWER_TAR_GZ]
patches = ['%(name)s-%(version)s_fix_perl.patch']
checksums = [
    {'hmmer-3.3.2.tar.gz': '92fee9b5efe37a5276352d3502775e7c46e9f7a0ee45a331eacb2a0cac713c69'},
    {'HMMER-3.3.2_fix_perl.patch': '9f04123ca33118549b94adf6a07df9ab1cb7b680dd706d7b76ee0794f2def22d'},
]

builddependencies = [
    ('Python', '3.11.5'),
    ('Perl', '5.38.0'),
]

configopts = '--enable-mpi'

buildopts = ' V=1 '

testopts = buildopts
runtest = 'check'

installopts = ' && cd easel && make install'

local_bin_files = ['alimask', 'esl-afetch', 'esl-alimanip', 'esl-alimap', 'esl-alimask',
                   'esl-alimerge', 'esl-alipid', 'esl-alirev', 'esl-alistat', 'esl-compalign',
                   'esl-compstruct', 'esl-construct', 'esl-histplot', 'esl-mask', 'esl-reformat',
                   'esl-selectn', 'esl-seqrange', 'esl-seqstat', 'esl-sfetch', 'esl-shuffle',
                   'esl-ssdraw', 'esl-translate', 'esl-weight', 'hmmalign', 'hmmbuild',
                   'hmmconvert', 'hmmemit', 'hmmfetch', 'hmmlogo', 'hmmpgmd', 'hmmpress',
                   'hmmscan', 'hmmsearch', 'hmmsim', 'hmmstat', 'jackhmmer', 'makehmmerdb',
                   'nhmmer', 'nhmmscan', 'phmmer']

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

sanity_check_commands = [
    "esl-construct -h",
    "hmmsearch -h",
    "nhmmer -h",
]

moduleclass = 'bio'