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}[GCCcore/12.2.0] Gubbins v3.3.5, rapidNJ v2.3.3, FastTree v2.1.11, ... #20413

Open
wants to merge 1 commit into
base: develop
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
##
# This is a contribution from DeepThought HPC Service, Flinders University, Adelaide, Australia
# Homepage: https://staff.flinders.edu.au/research/deep-thought
#
# Authors:: Robert Qiao <rob.qiao@flinders.edu.au>
# License:: GNU Free Documentation License
#
# Notes::
##

easyblock = 'ConfigureMake'

name = 'Autoconf-archive'
version = '2023.02.20'

homepage = "https://www.gnu.org/software/autoconf-archive"

description = """
The GNU Autoconf Archive is a collection of more than 500 macros for GNU Autoconf
that have been contributed as free software by friendly supporters of the cause from
all over the Internet. Every single one of those macros can be re-used without
imposing any restrictions whatsoever on the licensing of the generated configure script.
In particular, it is possible to use all those macros in configure scripts that
are meant for non-free software. This policy is unusual for a Free Software Foundation
project. The FSF firmly believes that software ought to be free, and software licenses
like the GPL are specifically designed to ensure that derivative work based on free
software must be free as well. In case of Autoconf, however, an exception has been made,
because Autoconf is at such a pivotal position in the software development tool chain
that the benefits from having this tool available as widely as possible outweigh the
disadvantage that some authors may choose to use it, too, for proprietary software.
"""

toolchain = {'name': 'GCCcore', 'version': '12.2.0'}

source_urls = [GNU_SOURCE]
sources = [SOURCELOWER_TAR_XZ]
checksums = ['71d4048479ae28f1f5794619c3d72df9c01df49b1c628ef85fde37596dc31a33']

builddependencies = [
('binutils', '2.39'),
('Autotools', '20220317'),
('makeinfo', '7.0.3'),
]

preconfigopts = 'autoreconf -i -f &&'

sanity_check_paths = {
'files': [],
'dirs': ['share/%s' % x for x in
['aclocal', 'doc', 'info']],
}

moduleclass = 'devel'
42 changes: 42 additions & 0 deletions easybuild/easyconfigs/f/FastTree/FastTree-2.1.11-GCCcore-12.2.0.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# Updated from previous config
# Author: Pavel Grochal (INUITS)
# License: GPLv2

easyblock = 'CmdCp'

name = 'FastTree'
version = '2.1.11'

homepage = 'http://www.microbesonline.org/fasttree/'
description = """FastTree infers approximately-maximum-likelihood phylogenetic trees from alignments of nucleotide
or protein sequences. FastTree can handle alignments with up to a million of sequences in a reasonable amount of
time and memory. """

toolchain = {'name': 'GCCcore', 'version': '12.2.0'}
toolchainopts = {'openmp': True}

# HTTPS cert error:
# hostname 'www.microbesonline.org' doesn't match either of 'genomics.lbl.gov', 'mojave.qb3.berkeley.edu', ...
source_urls = ['http://www.microbesonline.org/fasttree/']
sources = [{'filename': '%(name)s-%(version)s.c', 'extract_cmd': 'cp %s FastTree.c'}]
checksums = ['9026ae550307374be92913d3098f8d44187d30bea07902b9dcbfb123eaa2050f']

builddependencies = [('binutils', '2.39')]

cmds_map = [('%(name)s-%(version)s.c', '$CC -DOPENMP $CFLAGS $LIBS %%(source)s -o %(name)s')]

files_to_copy = [(['FastTree'], 'bin')]

# as FastTree is built with OpenMP, the correct binary is FastTreeMP
# the FastTree binary should normally be built without OpenMP, but let’s keep it as is for backward compatibility
# see http://www.microbesonline.org/fasttree/#OpenMP
postinstallcmds = ['cd %(installdir)s/bin && ln -s FastTree FastTreeMP']

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

sanity_check_commands = ['FastTree 2>&1 | grep "FastTree Version %(version)s"']

moduleclass = 'bio'
64 changes: 64 additions & 0 deletions easybuild/easyconfigs/g/Gubbins/Gubbins-3.3.5-foss-2022b.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
# This easyconfig was created by the BEAR Software team at the University of Birmingham.
easyblock = 'ConfigureMake'

name = 'Gubbins'
version = '3.3.5'

homepage = "https://nickjcroucher.github.io/gubbins/"
description = """Gubbins (Genealogies Unbiased By recomBinations In Nucleotide Sequences) is an algorithm that
iteratively identifies loci containing elevated densities of base substitutions, which are marked as recombinations,
while concurrently constructing a phylogeny based on the putative point mutations outside of these regions.
Simulations demonstrate the algorithm generates highly accurate reconstructions under realistic models of short-term
bacterial evolution, and can be run in only a few hours on alignments of hundreds of bacterial genome sequences."""

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

source_urls = ['https://github.com/nickjcroucher/gubbins/archive/refs/tags/']
sources = ['v%(version)s.tar.gz']

builddependencies = [
('Autotools', '20220317'),
('Autoconf-archive', '2023.02.20'),
('pkgconf', '1.9.3'),
('Check', '0.15.2'),
('subunit', '1.4.3'),
]

dependencies = [
('Python', '3.10.8'),
('Biopython', '1.81'),
('DendroPy', '4.5.2'),
('numba', '0.58.1'),
('SciPy-bundle', '2023.02'),
('FastTree', '2.1.11'),
('IQ-TREE', '2.2.2.6'),
('rapidNJ', '2.3.3'),
('RAxML', '8.2.12', '-avx2'),
('RAxML-NG', '1.2.0'),
('SKA2', '0.3.7'),
('dill', '0.3.7'),
('multiprocess', '0.70.15'),
]

preconfigopts = "autoreconf -i && "
# runtest = 'check' # runs the Python tests and this causes package to be installed into the Python install
postinstallcmds = [
"""sed -i 's/self.executable = "iqtree"/self.executable = "iqtree2"/' python/gubbins/treebuilders.py""",
"cd python && python -m pip install --prefix %(installdir)s --no-build-isolation . "
]

modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'}

sanity_check_paths = {
'files': ['bin/gubbins', 'lib/libgubbins.%s' % SHLIB_EXT],
'dirs': [],
}

sanity_check_commands = [
"gubbins --help",
"run_gubbins.py --version",
'python -c "import gubbins"',
'python -m pip check',
]

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

name = 'multiprocess'
version = '0.70.15'

homepage = 'https://github.com/uqfoundation/multiprocess'
description = "better multiprocessing and multithreading in python"

toolchain = {'name': 'gfbf', 'version': '2022b'}

sources = [SOURCE_TAR_GZ]
checksums = ['f20eed3036c0ef477b07a4177cf7c1ba520d9a2677870a4f47fe026f0cd6787e']

dependencies = [
('Python', '3.10.8'),
('dill', '0.3.7'),
('Arrow', '11.0.0'), # if needed rebuild --from-pr 19758
]

download_dep_fail = True
use_pip = True
sanity_pip_check = True

moduleclass = 'lib'
41 changes: 41 additions & 0 deletions easybuild/easyconfigs/r/rapidNJ/rapidNJ-2.3.3-GCCcore-12.2.0.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# This seems to be actively maintained version of the code by the looks of it.
# See issue #5
# https://github.com/somme89/rapidNJ/issues/5
# why -march=native will not be used
# Author: J. Sassmannshausen (Imperial College London/UK)

easyblock = 'MakeCp'

name = 'rapidNJ'
version = '2.3.3'

homepage = 'https://github.com/somme89/rapidNJ'
description = """RapidNJ is an algorithmic engineered implementation of canonical
neighbour-joining. It uses an efficient search heuristic to speed-up the core
computations of the neighbour-joining method that enables RapidNJ to
outperform other state-of-the-art neighbour-joining implementations."""

citing = """Rapid Neighbour Joining. Martin Simonsen, Thomas Mailund and Christian N. S. Pedersen.
In: Proceedings of the 8th Workshop in Algorithms in Bioinformatics (WABI), LNBI 5251, 113-122,
Springer Verlag, October 2008.
doi: 10.1007/978-3-540-87361-7_10"""

toolchain = {'name': 'GCCcore', 'version': '12.2.0'}

source_urls = ['https://github.com/somme89/rapidNJ/archive/']
sources = [{'filename': 'v%(version)s.tar.gz', 'download_filename': 'latest.tar.gz'}]
checksums = ['662f864cc3e5bc68aea23129f02e0062cac9ebd37e414b54c5c5e616ff4f245d']

builddependencies = [('binutils', '2.39')]

files_to_copy = [(['bin/rapidnj'], 'bin')]

# That is returning 1 instead of 0, so disabled for now
# sanity_check_commands = ['rapidnj --help']

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

moduleclass = 'bio'