From a286b4a4e5896e266235cf7e10b9edfd06eaa744 Mon Sep 17 00:00:00 2001 From: sassy Date: Thu, 22 Sep 2022 09:40:27 +0100 Subject: [PATCH 1/8] adding easyconfigs: DeepLabCut-2.2.1.1-foss-2021b.eb --- .../DeepLabCut-2.2.1.1-foss-2021b.eb | 65 +++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 easybuild/easyconfigs/d/DeepLabCut/DeepLabCut-2.2.1.1-foss-2021b.eb diff --git a/easybuild/easyconfigs/d/DeepLabCut/DeepLabCut-2.2.1.1-foss-2021b.eb b/easybuild/easyconfigs/d/DeepLabCut/DeepLabCut-2.2.1.1-foss-2021b.eb new file mode 100644 index 00000000000..75e529e7d82 --- /dev/null +++ b/easybuild/easyconfigs/d/DeepLabCut/DeepLabCut-2.2.1.1-foss-2021b.eb @@ -0,0 +1,65 @@ +# Loosely based on PR #7680 +# J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'PythonBundle' + +name = 'DeepLabCut' +version = '2.2.1.1' +local_version = '%(versionsuffix)s-contrib' + +homepage = 'http://www.mousemotorlab.org/deeplabcut' +description = "Markerless tracking of user-defined features with deep learning" + +toolchain = {'name': 'foss', 'version': '2021b'} +toolchainopts = {'pic': True} + +dependencies = [ + ('Python', '3.9.6'), + ('h5py', '3.6.0'), + ('IPython', '7.26.0'), + ('scikit-learn', '1.0.1'), + ('scikit-image', '0.19.1'), + ('TensorFlow', '2.7.1'), + ('PyYAML', '5.4.1'), + ('PyTables', '3.6.1'), + ('wxPython', '4.2.0'), + ('OpenCV', '4.5.5', '-contrib'), + ('numba', '0.54.1'), + ('libyaml', '0.2.5'), + ('imgaug', '0.4.0'), + ('tqdm', '4.62.3'), + ('ruamel.yaml', '0.17.21'), + ('PyYAML', '5.4.1'), + ('statsmodels', '0.13.1'), + ('PyTorch', '1.11.0'), +] + +use_pip = True + +exts_list = [ + ('filterpy', '1.4.5', { + 'sources': ['%(name)s-%(version)s.zip'], + 'checksums': ['4f2a4d39e4ea601b9ab42b2db08b5918a9538c168cff1c6895ae26646f3d73b1'], + }), + ('pandas', '1.4.2', { + 'checksums': ['92bc1fc585f1463ca827b45535957815b7deb218c549b7c18402c322c7549a12'], + }), + ('tensorpack', '0.11', { + 'checksums': ['022b610e416e62e3575424cd08e60af27808a5fb6914294615391caf582cbd4f'], + }), + ('tf_slim', '1.1.0', { + 'source_urls': ['https://github.com/google-research/tf-slim/archive'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['964cde4b7728a408dcd5c841ab6b93d95137ab4b60db28b10400f86286bfeb8b'], + }), + ('msgpack-numpy', '0.4.8', { + 'checksums': ['c667d3180513422f9c7545be5eec5d296dcbb357e06f72ed39cc683797556e69'], + 'sources': ['msgpack-numpy-0.4.8.tar.gz'], + }), + (name, version, { + 'source_tmpl': '%(namelower)s-%(version)s.tar.gz', + 'checksums': ['3acabab6c80c075d9b8570568840637062545092c97ba67c8e31858203aaf886'], + }), +] + +moduleclass = 'lib' From a99f301820e03dc5e93ba544092ac0778d0f6dfb Mon Sep 17 00:00:00 2001 From: sassy Date: Mon, 17 Oct 2022 10:25:19 +0100 Subject: [PATCH 2/8] Duplicated PyYAML and pandas removed --- .../easyconfigs/d/DeepLabCut/DeepLabCut-2.2.1.1-foss-2021b.eb | 4 ---- 1 file changed, 4 deletions(-) diff --git a/easybuild/easyconfigs/d/DeepLabCut/DeepLabCut-2.2.1.1-foss-2021b.eb b/easybuild/easyconfigs/d/DeepLabCut/DeepLabCut-2.2.1.1-foss-2021b.eb index 75e529e7d82..727aef2fa17 100644 --- a/easybuild/easyconfigs/d/DeepLabCut/DeepLabCut-2.2.1.1-foss-2021b.eb +++ b/easybuild/easyconfigs/d/DeepLabCut/DeepLabCut-2.2.1.1-foss-2021b.eb @@ -29,7 +29,6 @@ dependencies = [ ('imgaug', '0.4.0'), ('tqdm', '4.62.3'), ('ruamel.yaml', '0.17.21'), - ('PyYAML', '5.4.1'), ('statsmodels', '0.13.1'), ('PyTorch', '1.11.0'), ] @@ -41,9 +40,6 @@ exts_list = [ 'sources': ['%(name)s-%(version)s.zip'], 'checksums': ['4f2a4d39e4ea601b9ab42b2db08b5918a9538c168cff1c6895ae26646f3d73b1'], }), - ('pandas', '1.4.2', { - 'checksums': ['92bc1fc585f1463ca827b45535957815b7deb218c549b7c18402c322c7549a12'], - }), ('tensorpack', '0.11', { 'checksums': ['022b610e416e62e3575424cd08e60af27808a5fb6914294615391caf582cbd4f'], }), From 6e2c1ac68b94dab8be4c551b68232cbfafeafc07 Mon Sep 17 00:00:00 2001 From: sassy Date: Mon, 17 Oct 2022 11:12:07 +0100 Subject: [PATCH 3/8] pip_sanity_check added --- .../easyconfigs/d/DeepLabCut/DeepLabCut-2.2.1.1-foss-2021b.eb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/easybuild/easyconfigs/d/DeepLabCut/DeepLabCut-2.2.1.1-foss-2021b.eb b/easybuild/easyconfigs/d/DeepLabCut/DeepLabCut-2.2.1.1-foss-2021b.eb index 727aef2fa17..3adfae48420 100644 --- a/easybuild/easyconfigs/d/DeepLabCut/DeepLabCut-2.2.1.1-foss-2021b.eb +++ b/easybuild/easyconfigs/d/DeepLabCut/DeepLabCut-2.2.1.1-foss-2021b.eb @@ -33,6 +33,8 @@ dependencies = [ ('PyTorch', '1.11.0'), ] +download_dep_fail = True +sanity_pip_check = True use_pip = True exts_list = [ From b1951954cf4c20d8272704e81e867ae983969bf3 Mon Sep 17 00:00:00 2001 From: sassy Date: Mon, 17 Oct 2022 11:41:27 +0100 Subject: [PATCH 4/8] download_dep removed as PythonBundle being used --- .../easyconfigs/d/DeepLabCut/DeepLabCut-2.2.1.1-foss-2021b.eb | 1 - 1 file changed, 1 deletion(-) diff --git a/easybuild/easyconfigs/d/DeepLabCut/DeepLabCut-2.2.1.1-foss-2021b.eb b/easybuild/easyconfigs/d/DeepLabCut/DeepLabCut-2.2.1.1-foss-2021b.eb index 3adfae48420..46bb330baa1 100644 --- a/easybuild/easyconfigs/d/DeepLabCut/DeepLabCut-2.2.1.1-foss-2021b.eb +++ b/easybuild/easyconfigs/d/DeepLabCut/DeepLabCut-2.2.1.1-foss-2021b.eb @@ -33,7 +33,6 @@ dependencies = [ ('PyTorch', '1.11.0'), ] -download_dep_fail = True sanity_pip_check = True use_pip = True From febb3fd1a9a7a1a30c6e0b23167d801783286e58 Mon Sep 17 00:00:00 2001 From: sassy Date: Mon, 24 Oct 2022 16:21:50 +0100 Subject: [PATCH 5/8] PyTables moved to extension as version >= 3.7.0 is required --- .../DeepLabCut/DeepLabCut-2.2.1.1-foss-2021b.eb | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/d/DeepLabCut/DeepLabCut-2.2.1.1-foss-2021b.eb b/easybuild/easyconfigs/d/DeepLabCut/DeepLabCut-2.2.1.1-foss-2021b.eb index 46bb330baa1..76fa83b2884 100644 --- a/easybuild/easyconfigs/d/DeepLabCut/DeepLabCut-2.2.1.1-foss-2021b.eb +++ b/easybuild/easyconfigs/d/DeepLabCut/DeepLabCut-2.2.1.1-foss-2021b.eb @@ -21,7 +21,6 @@ dependencies = [ ('scikit-image', '0.19.1'), ('TensorFlow', '2.7.1'), ('PyYAML', '5.4.1'), - ('PyTables', '3.6.1'), ('wxPython', '4.2.0'), ('OpenCV', '4.5.5', '-contrib'), ('numba', '0.54.1'), @@ -31,6 +30,11 @@ dependencies = [ ('ruamel.yaml', '0.17.21'), ('statsmodels', '0.13.1'), ('PyTorch', '1.11.0'), + ('MoviePy', '1.0.3'), + ('SciPy-bundle', '2021.10'), + ('HDF5', '1.12.1'), + ('LZO', '2.10'), + ('Blosc', '1.21.1'), ] sanity_pip_check = True @@ -53,6 +57,16 @@ exts_list = [ 'checksums': ['c667d3180513422f9c7545be5eec5d296dcbb357e06f72ed39cc683797556e69'], 'sources': ['msgpack-numpy-0.4.8.tar.gz'], }), + # requires PyTables >= 3.7.0 + ('PyTables', '3.7.0', { + 'source_urls': ['https://github.com/PyTables/PyTables/archive/'], + 'sources': ['v%(version)s.tar.gz'], + 'patches': ['%(name)s-%(version)s-fix-libs.patch'], + 'checksums': ['41065fc11b958dde09bd5b9c069d88e40ca07ad10687dd597835fcc8199e81ea', + # PyTables-3.7.0-fix-libs.patch: + '022c26960b8401f3693974f57be49832b72ee1f3a0a92f8e0dd9281c7c0e2c8c'], + 'modulename': 'tables', + }), (name, version, { 'source_tmpl': '%(namelower)s-%(version)s.tar.gz', 'checksums': ['3acabab6c80c075d9b8570568840637062545092c97ba67c8e31858203aaf886'], From e7f5e3a8296f0a21c112cf8c68f1d5352e77b54c Mon Sep 17 00:00:00 2001 From: sassy Date: Mon, 24 Oct 2022 16:54:31 +0100 Subject: [PATCH 6/8] Style corrected --- .../easyconfigs/d/DeepLabCut/DeepLabCut-2.2.1.1-foss-2021b.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/d/DeepLabCut/DeepLabCut-2.2.1.1-foss-2021b.eb b/easybuild/easyconfigs/d/DeepLabCut/DeepLabCut-2.2.1.1-foss-2021b.eb index 76fa83b2884..3b79af8bcc9 100644 --- a/easybuild/easyconfigs/d/DeepLabCut/DeepLabCut-2.2.1.1-foss-2021b.eb +++ b/easybuild/easyconfigs/d/DeepLabCut/DeepLabCut-2.2.1.1-foss-2021b.eb @@ -63,7 +63,7 @@ exts_list = [ 'sources': ['v%(version)s.tar.gz'], 'patches': ['%(name)s-%(version)s-fix-libs.patch'], 'checksums': ['41065fc11b958dde09bd5b9c069d88e40ca07ad10687dd597835fcc8199e81ea', - # PyTables-3.7.0-fix-libs.patch: + # PyTables-3.7.0-fix-libs.patch: '022c26960b8401f3693974f57be49832b72ee1f3a0a92f8e0dd9281c7c0e2c8c'], 'modulename': 'tables', }), From e90399345ced207a580e9d3a24a060d6ccf3f6e0 Mon Sep 17 00:00:00 2001 From: sassy Date: Mon, 24 Oct 2022 18:35:49 +0100 Subject: [PATCH 7/8] Missing PyTables-3.7.0-fix-libs.patch added --- .../DeepLabCut/PyTables-3.7.0-fix-libs.patch | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 easybuild/easyconfigs/d/DeepLabCut/PyTables-3.7.0-fix-libs.patch diff --git a/easybuild/easyconfigs/d/DeepLabCut/PyTables-3.7.0-fix-libs.patch b/easybuild/easyconfigs/d/DeepLabCut/PyTables-3.7.0-fix-libs.patch new file mode 100644 index 00000000000..323c993a5f9 --- /dev/null +++ b/easybuild/easyconfigs/d/DeepLabCut/PyTables-3.7.0-fix-libs.patch @@ -0,0 +1,19 @@ +# pyTables expects that LIBS is a list of library names and will add +# a -l by itself. +# original patch by ward.poelmans@ugent.be, ported to PyTables 3.5.2 by Kenneth Hoste (HPC-UGent) +# updated to 3.7.0 by J. Sassmannshausen (Imperial College London/UK) +diff --git a/PyTables-3.7.0.orig/setup.py b/PyTables-3.7.0/setup.py +index ab8f8e3..5804ca3 100755 +--- a/PyTables-3.7.0.orig/setup.py ++++ b/PyTables-3.7.0/setup.py +@@ -526,6 +526,10 @@ if __name__ == "__main__": + # is not a good idea. + CFLAGS = os.environ.get("CFLAGS", "").split() + LIBS = os.environ.get("LIBS", "").split() ++ for idx, lib in enumerate(LIBS): ++ if lib.startswith("-l"): ++ LIBS[idx] = lib.replace("-l", "") ++ + CONDA_PREFIX = os.environ.get("CONDA_PREFIX", "") + # We start using pkg-config since some distributions are putting HDF5 + # (and possibly other libraries) in exotic locations. See issue #442. From 8835a6cd0440e4068e939c90150c7671206eb6e8 Mon Sep 17 00:00:00 2001 From: sassy Date: Fri, 26 Jan 2024 18:44:10 +0000 Subject: [PATCH 8/8] PyTorch and wxPython versions to merged one changed --- .../easyconfigs/d/DeepLabCut/DeepLabCut-2.2.1.1-foss-2021b.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/d/DeepLabCut/DeepLabCut-2.2.1.1-foss-2021b.eb b/easybuild/easyconfigs/d/DeepLabCut/DeepLabCut-2.2.1.1-foss-2021b.eb index 3b79af8bcc9..bef520634a7 100644 --- a/easybuild/easyconfigs/d/DeepLabCut/DeepLabCut-2.2.1.1-foss-2021b.eb +++ b/easybuild/easyconfigs/d/DeepLabCut/DeepLabCut-2.2.1.1-foss-2021b.eb @@ -29,7 +29,7 @@ dependencies = [ ('tqdm', '4.62.3'), ('ruamel.yaml', '0.17.21'), ('statsmodels', '0.13.1'), - ('PyTorch', '1.11.0'), + ('PyTorch', '1.12.1'), ('MoviePy', '1.0.3'), ('SciPy-bundle', '2021.10'), ('HDF5', '1.12.1'),