From c8c7b624466451f67361c573d1a9144342e30a56 Mon Sep 17 00:00:00 2001 From: Pavel Tomanek Date: Tue, 27 Feb 2024 14:10:42 +0100 Subject: [PATCH 1/3] adding easyconfigs: CellTypist-1.6.2-foss-2023a.eb, igraph-0.10.10-foss-2023a.eb, python-igraph-0.11.4-foss-2023a.eb, libleidenalg-0.11.1-foss-2023a.eb, leidenalg-0.10.2-foss-2023a.eb --- .../CellTypist/CellTypist-1.6.2-foss-2023a.eb | 43 ++++++++++++++ .../i/igraph/igraph-0.10.10-foss-2023a.eb | 41 +++++++++++++ .../leidenalg/leidenalg-0.10.2-foss-2023a.eb | 50 ++++++++++++++++ .../libleidenalg-0.11.1-foss-2023a.eb | 33 +++++++++++ .../python-igraph-0.11.4-foss-2023a.eb | 59 +++++++++++++++++++ 5 files changed, 226 insertions(+) create mode 100644 easybuild/easyconfigs/c/CellTypist/CellTypist-1.6.2-foss-2023a.eb create mode 100644 easybuild/easyconfigs/i/igraph/igraph-0.10.10-foss-2023a.eb create mode 100644 easybuild/easyconfigs/l/leidenalg/leidenalg-0.10.2-foss-2023a.eb create mode 100644 easybuild/easyconfigs/l/libleidenalg/libleidenalg-0.11.1-foss-2023a.eb create mode 100644 easybuild/easyconfigs/p/python-igraph/python-igraph-0.11.4-foss-2023a.eb diff --git a/easybuild/easyconfigs/c/CellTypist/CellTypist-1.6.2-foss-2023a.eb b/easybuild/easyconfigs/c/CellTypist/CellTypist-1.6.2-foss-2023a.eb new file mode 100644 index 000000000000..f45ddb085160 --- /dev/null +++ b/easybuild/easyconfigs/c/CellTypist/CellTypist-1.6.2-foss-2023a.eb @@ -0,0 +1,43 @@ +easyblock = 'PythonBundle' + +name = 'CellTypist' +version = '1.6.2' + +homepage = 'https://www.celltypist.org/' +description = "A tool for semi-automatic cell type annotation" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('scikit-learn', '1.3.1'), + ('openpyxl', '3.1.2'), + ('scanpy', '1.9.8'), + ('leidenalg', '0.10.2'), +] + +exts_list = [ + ('requests', '2.31.0', { + 'checksums': ['942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1'], + }), + ('click', '8.1.7', { + 'checksums': ['ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de'], + }), + ('celltypist', version, { + 'checksums': ['a22309230c578c3738f72643492387167053f35a610625c75d66b056cf520361'], + }), +] + +use_pip = True + +sanity_check_paths = { + 'files': ['bin/celltypist'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["celltypist --help"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/i/igraph/igraph-0.10.10-foss-2023a.eb b/easybuild/easyconfigs/i/igraph/igraph-0.10.10-foss-2023a.eb new file mode 100644 index 000000000000..6ed3462390c8 --- /dev/null +++ b/easybuild/easyconfigs/i/igraph/igraph-0.10.10-foss-2023a.eb @@ -0,0 +1,41 @@ +# Author: Denis Krišťák (INUITS) +# Modified: Jasper Grimm (UoY) +# Update: Pavel Tománek (INUITS) + +easyblock = 'CMakeMake' + +name = 'igraph' +version = '0.10.10' + +homepage = 'https://igraph.org' +description = """igraph is a collection of network analysis tools with the emphasis on +efficiency, portability and ease of use. igraph is open source and free. igraph can be +programmed in R, Python and C/C++.""" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/igraph/igraph/releases/download/%(version)s'] +sources = [SOURCE_TAR_GZ] +checksums = ['6148f2e72a183ef5cd08324cccc73fa9eb8e54bb5a96c7f8f3c0465432ec2404'] + +builddependencies = [ + ('CMake', '3.26.3'), +] + +dependencies = [ + ('GLPK', '5.0'), + ('libxml2', '2.11.4'), + ('zlib', '1.2.13'), + ('arpack-ng', '3.9.0'), +] + +# Build static and shared libraries +configopts = ["-DBUILD_SHARED_LIBS=OFF", "-DBUILD_SHARED_LIBS=ON"] + +sanity_check_paths = { + 'files': ['include/igraph/igraph.h'] + ['lib/libigraph.%s' % x for x in ['a', SHLIB_EXT]], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/leidenalg/leidenalg-0.10.2-foss-2023a.eb b/easybuild/easyconfigs/l/leidenalg/leidenalg-0.10.2-foss-2023a.eb new file mode 100644 index 000000000000..51d653f27b2d --- /dev/null +++ b/easybuild/easyconfigs/l/leidenalg/leidenalg-0.10.2-foss-2023a.eb @@ -0,0 +1,50 @@ +easyblock = 'PythonBundle' + +name = 'leidenalg' +version = '0.10.2' + +homepage = 'https://github.com/vtraag/leidenalg' +description = """Implementation of the Leiden algorithm for various quality +functions to be used with igraph in Python.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [ + ('pkgconf', '1.9.5'), + ('PyYAML', '6.0'), + ('Bison', '3.8.2'), + ('libtool', '2.4.7'), + ('flex', '2.6.4'), + ('CMake', '3.26.3'), + ('poetry', '1.7.1'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('igraph', '0.10.10'), + ('python-igraph', '0.11.4'), + ('libleidenalg', '0.11.1'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('ddt', '1.7.2', { + 'checksums': ['d215d6b083963013c4a19b1e4dcd6a96e80e43ab77519597a6acfcf2e9a3e04b'], + }), + (name, version, { + 'checksums': ['0f4147a92b59834a719bfce30d563ea107e570130a7be60adbc8b95757192e4c'], + }), +] + +sanity_check_commands = [ + # tests require that 'leidenalg' Python module is available, + # so needs to be run after installation + "cd %(builddir)s/leidenalg/leidenalg-%(version)s && python setup.py test", + "python -c 'import leidenalg; import igraph as ig; " + "leidenalg.find_partition(ig.Graph.Erdos_Renyi(100, 0.1), " + "leidenalg.ModularityVertexPartition)'", +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libleidenalg/libleidenalg-0.11.1-foss-2023a.eb b/easybuild/easyconfigs/l/libleidenalg/libleidenalg-0.11.1-foss-2023a.eb new file mode 100644 index 000000000000..63aefe650b97 --- /dev/null +++ b/easybuild/easyconfigs/l/libleidenalg/libleidenalg-0.11.1-foss-2023a.eb @@ -0,0 +1,33 @@ +easyblock = 'CMakeMake' + +name = 'libleidenalg' +version = '0.11.1' + +homepage = 'https://github.com/vtraag/libleidenalg' +description = """Implements the Leiden algorithm in C++""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = ['https://github.com/vtraag/libleidenalg/archive/refs/tags'] +sources = ['%(version)s.tar.gz'] +checksums = ['7d7392afd214c584e023cc2f0d0ac375f58575c32f2e49ba85062065f1637c7f'] + +builddependencies = [ + ('CMake', '3.26.3'), + ('binutils', '2.40'), +] + +dependencies = [ + ('igraph', '0.10.10'), +] + +sanity_check_paths = { + 'files': [ + 'include/%(name)s/GraphHelper.h', + 'include/%(name)s/libleidenalg_export.h', + 'lib/liblibleidenalg.%s' % SHLIB_EXT, + ], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/python-igraph/python-igraph-0.11.4-foss-2023a.eb b/easybuild/easyconfigs/p/python-igraph/python-igraph-0.11.4-foss-2023a.eb new file mode 100644 index 000000000000..b983243de45f --- /dev/null +++ b/easybuild/easyconfigs/p/python-igraph/python-igraph-0.11.4-foss-2023a.eb @@ -0,0 +1,59 @@ +easyblock = 'PythonBundle' + +name = 'python-igraph' +version = '0.11.4' + +homepage = 'https://igraph.org/python' +description = """Python interface to the igraph high performance graph library, primarily aimed at complex network + research and analysis.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [ + ('pkgconf', '1.9.5'), + ('CMake', '3.26.3'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('Clang', '16.0.6'), + ('libxml2', '2.11.4'), + ('zlib', '1.2.13'), + ('igraph', '0.10.10'), +] + +use_pip = True + +exts_list = [ + ('pycparser', '2.21', { + 'checksums': ['e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206'], + }), + ('cffi', '1.16.0', { + 'checksums': ['bcb3ef43e58665bbda2fb198698fcae6776483e0c4a631aa5647806c25e02cc0'], + }), + ('texttable', '1.7.0', { + 'checksums': ['2d2068fb55115807d3ac77a4ca68fa48803e84ebb0ee2340f858107a36522638'], + }), + ('cairocffi', '1.6.1', { + 'checksums': ['78e6bbe47357640c453d0be929fa49cd05cce2e1286f3d2a1ca9cbda7efdb8b7'], + }), + ('igraph', version, { + 'modulename': 'igraph', + 'checksums': ['2437ae0157af6824e2e65a23f7a1fa4fbf0f3664333c72aeca4fc01b83e18483'], + }), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +# cairo must be available for proper plotting support +sanity_check_commands = [ + "python -c 'from igraph.drawing.cairo.utils import find_cairo; " + "cairo = find_cairo(); cairo.Context'", +] + +sanity_pip_check = True + +moduleclass = 'lib' From 8e41f74af4e646b8eed6f42896d855ddb214ae8b Mon Sep 17 00:00:00 2001 From: Pavel Tomanek Date: Tue, 27 Feb 2024 14:33:49 +0100 Subject: [PATCH 2/3] replace some deps by Python-bundle-PyPI --- .../c/CellTypist/CellTypist-1.6.2-foss-2023a.eb | 7 +------ .../python-igraph/python-igraph-0.11.4-foss-2023a.eb | 12 +----------- 2 files changed, 2 insertions(+), 17 deletions(-) diff --git a/easybuild/easyconfigs/c/CellTypist/CellTypist-1.6.2-foss-2023a.eb b/easybuild/easyconfigs/c/CellTypist/CellTypist-1.6.2-foss-2023a.eb index f45ddb085160..65be95087f71 100644 --- a/easybuild/easyconfigs/c/CellTypist/CellTypist-1.6.2-foss-2023a.eb +++ b/easybuild/easyconfigs/c/CellTypist/CellTypist-1.6.2-foss-2023a.eb @@ -11,6 +11,7 @@ toolchain = {'name': 'foss', 'version': '2023a'} dependencies = [ ('Python', '3.11.3'), ('SciPy-bundle', '2023.07'), + ('Python-bundle-PyPI', '2023.06'), ('scikit-learn', '1.3.1'), ('openpyxl', '3.1.2'), ('scanpy', '1.9.8'), @@ -18,12 +19,6 @@ dependencies = [ ] exts_list = [ - ('requests', '2.31.0', { - 'checksums': ['942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1'], - }), - ('click', '8.1.7', { - 'checksums': ['ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de'], - }), ('celltypist', version, { 'checksums': ['a22309230c578c3738f72643492387167053f35a610625c75d66b056cf520361'], }), diff --git a/easybuild/easyconfigs/p/python-igraph/python-igraph-0.11.4-foss-2023a.eb b/easybuild/easyconfigs/p/python-igraph/python-igraph-0.11.4-foss-2023a.eb index b983243de45f..925e86226029 100644 --- a/easybuild/easyconfigs/p/python-igraph/python-igraph-0.11.4-foss-2023a.eb +++ b/easybuild/easyconfigs/p/python-igraph/python-igraph-0.11.4-foss-2023a.eb @@ -16,6 +16,7 @@ builddependencies = [ dependencies = [ ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), ('Clang', '16.0.6'), ('libxml2', '2.11.4'), ('zlib', '1.2.13'), @@ -25,12 +26,6 @@ dependencies = [ use_pip = True exts_list = [ - ('pycparser', '2.21', { - 'checksums': ['e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206'], - }), - ('cffi', '1.16.0', { - 'checksums': ['bcb3ef43e58665bbda2fb198698fcae6776483e0c4a631aa5647806c25e02cc0'], - }), ('texttable', '1.7.0', { 'checksums': ['2d2068fb55115807d3ac77a4ca68fa48803e84ebb0ee2340f858107a36522638'], }), @@ -43,11 +38,6 @@ exts_list = [ }), ] -sanity_check_paths = { - 'files': [], - 'dirs': ['lib/python%(pyshortver)s/site-packages'], -} - # cairo must be available for proper plotting support sanity_check_commands = [ "python -c 'from igraph.drawing.cairo.utils import find_cairo; " From 5d32235e3458e4483e171e2ac9fc423346f1a3ab Mon Sep 17 00:00:00 2001 From: Pavel Tomanek Date: Wed, 28 Feb 2024 17:55:46 +0100 Subject: [PATCH 3/3] add cairo dep --- .../p/python-igraph/python-igraph-0.11.4-foss-2023a.eb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/easybuild/easyconfigs/p/python-igraph/python-igraph-0.11.4-foss-2023a.eb b/easybuild/easyconfigs/p/python-igraph/python-igraph-0.11.4-foss-2023a.eb index 925e86226029..3af264daf8b4 100644 --- a/easybuild/easyconfigs/p/python-igraph/python-igraph-0.11.4-foss-2023a.eb +++ b/easybuild/easyconfigs/p/python-igraph/python-igraph-0.11.4-foss-2023a.eb @@ -21,6 +21,7 @@ dependencies = [ ('libxml2', '2.11.4'), ('zlib', '1.2.13'), ('igraph', '0.10.10'), + ('cairo', '1.17.8'), ] use_pip = True @@ -38,6 +39,7 @@ exts_list = [ }), ] + # cairo must be available for proper plotting support sanity_check_commands = [ "python -c 'from igraph.drawing.cairo.utils import find_cairo; "