From 1fbe073ab310a7b30d961b594740bffd29a9c5b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Kr=C3=A1l?= Date: Fri, 15 Nov 2024 21:32:22 +0100 Subject: [PATCH 1/2] adding easyconfigs: bakta-1.10.0-foss-2023b.eb, PyHMMER-0.10.15-gompi-2023b.eb, psutil-6.1.0-GCCcore-13.2.0.eb, zlib-ng-2.2.2-GCCcore-13.2.0.eb, versioningit-3.1.2-GCCcore-13.2.0.eb --- .../b/bakta/bakta-1.10.0-foss-2023b.eb | 60 +++++++++++++++++++ .../p/PyHMMER/PyHMMER-0.10.15-gompi-2023b.eb | 47 +++++++++++++++ .../p/psutil/psutil-6.1.0-GCCcore-13.2.0.eb | 26 ++++++++ .../versioningit-3.1.2-GCCcore-13.2.0.eb | 27 +++++++++ .../z/zlib-ng/zlib-ng-2.2.2-GCCcore-13.2.0.eb | 50 ++++++++++++++++ 5 files changed, 210 insertions(+) create mode 100644 easybuild/easyconfigs/b/bakta/bakta-1.10.0-foss-2023b.eb create mode 100644 easybuild/easyconfigs/p/PyHMMER/PyHMMER-0.10.15-gompi-2023b.eb create mode 100644 easybuild/easyconfigs/p/psutil/psutil-6.1.0-GCCcore-13.2.0.eb create mode 100644 easybuild/easyconfigs/v/versioningit/versioningit-3.1.2-GCCcore-13.2.0.eb create mode 100644 easybuild/easyconfigs/z/zlib-ng/zlib-ng-2.2.2-GCCcore-13.2.0.eb diff --git a/easybuild/easyconfigs/b/bakta/bakta-1.10.0-foss-2023b.eb b/easybuild/easyconfigs/b/bakta/bakta-1.10.0-foss-2023b.eb new file mode 100644 index 00000000000..f144cd38b10 --- /dev/null +++ b/easybuild/easyconfigs/b/bakta/bakta-1.10.0-foss-2023b.eb @@ -0,0 +1,60 @@ +easyblock = 'PythonBundle' + +name = 'bakta' +version = '1.10.0' + +homepage = "https://github.com/oschwengers/bakta" +description = """Bakta is a tool for the rapid & standardized annotation of bacterial genomes and plasmids + from both isolates and MAGs. It provides dbxref-rich, sORF-including and taxon-independent annotations + in machine-readable JSON & bioinformatics standard file formats for automated downstream analysis.""" + +toolchain = {'name': 'foss', 'version': '2023b'} + +builddependencies = [ + ('scikit-build-core', '0.9.3'), +] + +dependencies = [ + ('Python', '3.11.5'), + ('Biopython', '1.84'), + ('PyYAML', '6.0.1'), + ('PyHMMER', '0.10.15'), + ('matplotlib', '3.8.2'), + ('python-isal', '1.6.1'), + ('zlib-ng', '2.2.2'), + ('archspec', '0.2.2'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('about_time', '4.2.1', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['8bbf4c75fe13cbd3d72f49a03b02c5c7dca32169b6d49117c257e7eb3eaee341'], + }), + ('grapheme', '0.6.0', { + 'checksums': ['44c2b9f21bbe77cfb05835fec230bd435954275267fea1858013b102f8603cca'], + }), + ('alive_progress', '3.2.0', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['0677929f8d3202572e9d142f08170b34dbbe256cc6d2afbf75ef187c7da964a8'], + }), + ('pyCirclize', '1.7.1', { + 'source_tmpl': SOURCELOWER_PY3_WHL, + 'checksums': ['e0c049877b1ee47245866cc9968f2aded5fe3ead8a3333841536dc29fd14bc90'], + }), + ('pyrodigal', '3.6.3', { + 'checksums': ['3e226f743c960d4d30c46ae6868aff7e2a6b98f8d837cfbd2637568569b21f78'], + }), + ('xopen', '2.0.2', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['74e7f7fb7e7f42bd843c798595fa5a52086d7d1bf3de0e8513c6615516431313'], + }), + (name, version, { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['48c24b23e1adad62ea22bee572341923cb84454bf76de0b03848b132363f1bed'], + }), +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/PyHMMER/PyHMMER-0.10.15-gompi-2023b.eb b/easybuild/easyconfigs/p/PyHMMER/PyHMMER-0.10.15-gompi-2023b.eb new file mode 100644 index 00000000000..2d6165976d9 --- /dev/null +++ b/easybuild/easyconfigs/p/PyHMMER/PyHMMER-0.10.15-gompi-2023b.eb @@ -0,0 +1,47 @@ +# Thomas Hoffmann, EMBL Heidelberg, structures-it@embl.de, 2024/02 +# Update: Petr Král (INUITS) + +easyblock = 'PythonBundle' + +name = 'PyHMMER' +version = '0.10.15' + +homepage = 'https://github.com/althonos/pyhmmer' +description = """ +HMMER is a biological sequence analysis tool that uses profile hidden Markov +models to search for sequence homologs. HMMER3 is developed and maintained by +the Eddy/Rivas Laboratory at Harvard University. + +pyhmmer is a Python package, implemented using the Cython language, that +provides bindings to HMMER3. It directly interacts with the HMMER internals, +which has the following advantages over CLI wrappers (like hmmer-py)""" + +toolchain = {'name': 'gompi', 'version': '2023b'} + +builddependencies = [ + ('Cython', '3.0.10'), +] + +dependencies = [ + ('Python', '3.11.5'), + ('HMMER', '3.4'), + ('psutil', '6.1.0') +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('%(namelower)s', version, { + # Requirement for `psutil` is too strict. + 'preinstallopts': "sed -i 's/psutil ~=5.8/psutil >=5.8/g' setup.cfg && ", + 'checksums': ['bf8e97ce8da6fb5850298f3074640f3e998d5a655877f865c1592eb057dc7921'], + }), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages/%(namelower)s'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/psutil/psutil-6.1.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/p/psutil/psutil-6.1.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..5ba7c5d9380 --- /dev/null +++ b/easybuild/easyconfigs/p/psutil/psutil-6.1.0-GCCcore-13.2.0.eb @@ -0,0 +1,26 @@ +easyblock = 'PythonBundle' + +name = 'psutil' +version = '6.1.0' + +homepage = 'https://github.com/giampaolo/psutil' +description = """A cross-platform process and system utilities module for Python""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +builddependencies = [('binutils', '2.40')] + +dependencies = [('Python', '3.11.5')] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'source_urls': ['https://github.com/giampaolo/psutil/archive'], + 'sources': ['release-%(version)s.tar.gz'], + 'checksums': ['0ffb8a92fac0e89c10b0beb152acae27975fd488d0b9938e441106f319e7599c'], + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/v/versioningit/versioningit-3.1.2-GCCcore-13.2.0.eb b/easybuild/easyconfigs/v/versioningit/versioningit-3.1.2-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..3ea3731df79 --- /dev/null +++ b/easybuild/easyconfigs/v/versioningit/versioningit-3.1.2-GCCcore-13.2.0.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonPackage' + +name = 'versioningit' +version = '3.1.2' + +homepage = 'https://github.com/jwodder/versioningit' +description = """versioningit is yet another Python packaging plugin for automatically determining your +package’s version based on your version control repository’s tags. +Unlike others, it allows easy customization of the version format and even lets you easily override +the separate functions used for version extraction & calculation.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +builddependencies = [ + ('binutils', '2.40'), + ('hatchling', '1.18.0'), +] +dependencies = [('Python', '3.11.5')] + +sources = [SOURCE_TAR_GZ] +checksums = ['4db83ed99f56b07d83940bee3445ca46ca120d13b6b304cdb5fb44e5aa4edec0'] + +download_dep_fail = True +sanity_pip_check = True +use_pip = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/z/zlib-ng/zlib-ng-2.2.2-GCCcore-13.2.0.eb b/easybuild/easyconfigs/z/zlib-ng/zlib-ng-2.2.2-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..8e1cf20a94d --- /dev/null +++ b/easybuild/easyconfigs/z/zlib-ng/zlib-ng-2.2.2-GCCcore-13.2.0.eb @@ -0,0 +1,50 @@ +easyblock = 'PythonBundle' + +name = 'zlib-ng' +version = '2.2.2' + +homepage = 'https://github.com/zlib-ng/zlib-ng' +description = """zlib data compression library for the next generation systems""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +builddependencies = [ + ('CMake', '3.27.6'), + ('binutils', '2.40'), + ('versioningit', '3.1.2'), +] + +dependencies = [ + ('Python', '3.11.5'), +] + +components = [ + (name, version, { + 'easyblock': 'CMakeMake', + 'source_urls': ['https://github.com/zlib-ng/zlib-ng/archive/'], + 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}], + 'checksums': ['fcb41dd59a3f17002aeb1bb21f04696c9b721404890bb945c5ab39d2cb69654c'], + 'start_dir': '%(name)s-%(version)s', + 'configopts': '-DZLIB_ENABLE_TESTS=ON', + }), + +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, '0.5.1', { + 'source_tmpl': 'zlib_ng-%(version)s.tar.gz', + 'checksums': ['32a46649e8efc21ddd74776a55366a8d8be4e3a95b93dc1f0ffe3880718990d9'], + 'preinstallopts': 'PYTHON_ZLIB_NG_LINK_DYNAMIC=true', + 'modulename': 'zlib_ng', + }), +] + +sanity_check_paths = { + 'files': ['include/zconf-ng.h', 'include/zlib-ng.h', 'lib/libz-ng.a', 'lib/libz-ng.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'tools' From 2161ea76ce0855bea0e63cff4246d06f43c3a127 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Kr=C3=A1l?= Date: Mon, 18 Nov 2024 13:52:49 +0100 Subject: [PATCH 2/2] add sanity checks, update version --- ...0.0-foss-2023b.eb => bakta-1.10.1-foss-2023b.eb} | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) rename easybuild/easyconfigs/b/bakta/{bakta-1.10.0-foss-2023b.eb => bakta-1.10.1-foss-2023b.eb} (82%) diff --git a/easybuild/easyconfigs/b/bakta/bakta-1.10.0-foss-2023b.eb b/easybuild/easyconfigs/b/bakta/bakta-1.10.1-foss-2023b.eb similarity index 82% rename from easybuild/easyconfigs/b/bakta/bakta-1.10.0-foss-2023b.eb rename to easybuild/easyconfigs/b/bakta/bakta-1.10.1-foss-2023b.eb index f144cd38b10..89703e6caf7 100644 --- a/easybuild/easyconfigs/b/bakta/bakta-1.10.0-foss-2023b.eb +++ b/easybuild/easyconfigs/b/bakta/bakta-1.10.1-foss-2023b.eb @@ -1,7 +1,7 @@ easyblock = 'PythonBundle' name = 'bakta' -version = '1.10.0' +version = '1.10.1' homepage = "https://github.com/oschwengers/bakta" description = """Bakta is a tool for the rapid & standardized annotation of bacterial genomes and plasmids @@ -53,8 +53,17 @@ exts_list = [ }), (name, version, { 'source_tmpl': SOURCE_PY3_WHL, - 'checksums': ['48c24b23e1adad62ea22bee572341923cb84454bf76de0b03848b132363f1bed'], + 'checksums': ['82967b4eefd2a1084743211fe955fa394972c2d2c878c6682e00b13dabc5a445'], }), ] +local_bins = ['bakta', 'bakta_db', 'bakta_io', 'bakta_plot', 'bakta_proteins'] + +sanity_check_paths = { + 'files': ['bin/%s' % bin for bin in local_bins], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ['%s --help' % bin for bin in local_bins] + moduleclass = 'tools'