Skip to content

{bio}[foss/2023a] AlphaPulldown v2.0.0 Uni-Core v0.0.3 w/ CUDA v12.1.1#21204

Merged
akesandgren merged 19 commits intoeasybuilders:developfrom
ThomasHoffmann77:20240817200306_new_pr_AlphaPulldown200b4
Dec 13, 2024
Merged

{bio}[foss/2023a] AlphaPulldown v2.0.0 Uni-Core v0.0.3 w/ CUDA v12.1.1#21204
akesandgren merged 19 commits intoeasybuilders:developfrom
ThomasHoffmann77:20240817200306_new_pr_AlphaPulldown200b4

Conversation

@ThomasHoffmann77
Copy link
Copy Markdown
Contributor

@ThomasHoffmann77 ThomasHoffmann77 commented Aug 17, 2024

(created using eb --new-pr)
requires:

adapted from PR #21179

@boegel
Copy link
Copy Markdown
Member

boegel commented Aug 21, 2024

@ThomasHoffmann77 Additional extensions are required for the convert_to_modelcif.py script, see 99abe91 (included in #21179)

@boegel boegel added the update label Aug 21, 2024
@boegel boegel added this to the 4.x milestone Aug 21, 2024
@ThomasHoffmann77 ThomasHoffmann77 marked this pull request as draft October 10, 2024 08:00
@ThomasHoffmann77
Copy link
Copy Markdown
Contributor Author

ThomasHoffmann77 commented Oct 10, 2024

switched to draft: expecting 2.0.0 final release soon with setup.cfg not using hardcoded lib/python3.10/site-packages (see KosinskiLab/AlphaPulldown@cc4b0af)

@ThomasHoffmann77 ThomasHoffmann77 changed the title {bio}[foss/2023a] AlphaPulldown v2.0.0b4 Uni-Core v0.0.3 w/ CUDA v12.1.1 {bio}[foss/2023a] AlphaPulldown v2.0.0b6 Uni-Core v0.0.3 w/ CUDA v12.1.1 Oct 14, 2024
ThomasHoffmann77 and others added 2 commits October 14, 2024 14:58
AlphaPulldown TF2.15.1 multivariant dependency
@ThomasHoffmann77 ThomasHoffmann77 marked this pull request as ready for review October 15, 2024 07:49
…AlphaPulldown-2.0.0-foss-2023a-CUDA-12.1.1.eb

update 2.0.0
@github-actions
Copy link
Copy Markdown

github-actions bot commented Nov 8, 2024

Updated software AlphaPulldown-2.0.0-foss-2023a-CUDA-12.1.1.eb

Diff against AlphaPulldown-2.0.0b4-foss-2022a-CUDA-11.7.0.eb

easybuild/easyconfigs/a/AlphaPulldown/AlphaPulldown-2.0.0b4-foss-2022a-CUDA-11.7.0.eb

diff --git a/easybuild/easyconfigs/a/AlphaPulldown/AlphaPulldown-2.0.0b4-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/a/AlphaPulldown/AlphaPulldown-2.0.0-foss-2023a-CUDA-12.1.1.eb
index 492a787c91..e1dd253f81 100644
--- a/easybuild/easyconfigs/a/AlphaPulldown/AlphaPulldown-2.0.0b4-foss-2022a-CUDA-11.7.0.eb
+++ b/easybuild/easyconfigs/a/AlphaPulldown/AlphaPulldown-2.0.0-foss-2023a-CUDA-12.1.1.eb
@@ -1,55 +1,59 @@
 # created by Denis Kristak (Inuits)
+# update: Thomas Hoffmann, EMBL
 easyblock = 'PythonBundle'
 
 name = 'AlphaPulldown'
-version = '2.0.0b4'
+version = '2.0.0'
 versionsuffix = '-CUDA-%(cudaver)s'
 
 homepage = 'https://github.com/KosinskiLab/AlphaPulldown'
 description = """AlphaPulldown is a Python package that streamlines protein-protein
 interaction screens and high-throughput modelling of higher-order oligomers using AlphaFold-Multimer"""
 
-toolchain = {'name': 'foss', 'version': '2022a'}
+toolchain = {'name': 'foss', 'version': '2023a'}
+
+builddependencies = [
+    ('poetry', '1.5.1'),
+]
 
 dependencies = [
-    ('CUDA', '11.7.0', '', SYSTEM),
-    ('Python', '3.10.4'),
-    ('OpenMM', '8.0.0'),
-    ('Kalign', '3.3.5'),
+    ('CUDA', '12.1.1', '', SYSTEM),
+    ('Python', '3.11.3'),
+    ('OpenMM', '8.0.0', versionsuffix),
+    ('Kalign', '3.4.0'),
     ('PyYAML', '6.0'),
-    ('jax', '0.3.25', versionsuffix),  # also provides absl-py
-    ('Biopython', '1.79'),
-    ('h5py', '3.7.0'),
-    ('IPython', '8.5.0'),
-    ('JupyterLab', '3.5.0'),
-    ('matplotlib', '3.5.2'),
-    ('TensorFlow', '2.11.0', versionsuffix),
-    ('PyTorch', '1.12.0', versionsuffix),
-    ('tqdm', '4.64.0'),
+    ('jax', '0.4.25', versionsuffix),  # also provides absl-py
+    ('Biopython', '1.83'),
+    ('h5py', '3.9.0'),
+    ('IPython', '8.14.0'),
+    ('matplotlib', '3.7.2'),
+    # ('TensorFlow', '2.15.1', versionsuffix),
+    ('TensorFlow', '2.13.0'),  # to be consistent with AF2 ?
+    ('PyTorch', '2.1.2', versionsuffix),
+    ('tqdm', '4.66.1'),
     ('dm-tree', '0.1.8'),
-    ('py3Dmol', '2.0.1.post1'),
-    ('HMMER', '3.3.2'),
+    ('py3Dmol', '2.1.0'),
+    ('HMMER', '3.4'),
     ('HH-suite', '3.3.0'),
+    ('dm-haiku', '0.0.12', versionsuffix),
     ('Uni-Core', '0.0.3', versionsuffix),
+    ('JupyterLab', '4.0.5'),
 ]
-
+local_commit = 'cc4b0af60518c078305bbe4c584691d1ed9ade31'
 use_pip = True
 
+local_tests = [
+    'custom_db',
+    'remove_clashes_low_plddt',
+    'modelcif',
+    'features_with_templates',
+    'post_prediction',
+    # require pyrosetta, analysis aptainer image, and AlphaFold2 data:
+    # 'pdb_analyser',
+    # 'get_good_inter_pae',
+]
+local_testinstall_PATH = """ PATH=$(echo $PYTHONPATH|awk -F ':' '{print $1}')/../../../bin:$PATH """
 exts_list = [
-    ('importlib-resources', '5.13.0', {
-        'modulename': 'importlib_resources',
-        'source_tmpl': 'importlib_resources-%(version)s.tar.gz',
-        'checksums': ['82d5c6cca930697dbbd86c93333bb2c2e72861d4789a11c2662b933e5ad2b528'],
-    }),
-    ('jmp', '0.0.4', {
-        'checksums': ['5dfeb0fd7c7a9f72a70fff0aab9d0cbfae32a809c02f4037ff3485ceb33e1730'],
-    }),
-    ('dm-haiku', '0.0.9', {
-        'modulename': 'haiku',
-        'source_urls': ['https://github.com/deepmind/dm-haiku/archive/refs/tags/'],
-        'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}],
-        'checksums': ['d550f07f5891ede30ada5faafde98f549ed1b8ceadb7a601cca3d81db7d82414'],
-    }),
     ('contextlib2', '21.6.0', {
         'checksums': ['ab1e2bfe1d01d968e1b7e8d9023bc51ef3509bba217bb730cee3827e1ee82869'],
     }),
@@ -69,38 +73,49 @@ exts_list = [
     ('modelcif', '1.0', {
         'checksums': ['e8375bc502a73dcfab0b7fbdd454d67d393bbb8969981eb52199d77192a3de56'],
     }),
+    ('looseversion', '1.1.2', {
+        'checksums': ['94d80bdbd0b6d57c11b886147ba1601f7d1531571621b81933b34537cbe469ad'],
+    }),
+    ('mmtf-python', '1.1.3', {
+        'modulename': 'mmtf',
+        'checksums': ['12a02fe1b7131f0a2b8ce45b46f1e0cdd28b9818fe4499554c26884987ea0c32'],
+    }),
+    ('biopandas', '0.5.1.dev0', {
+        'checksums': ['6dc9de631babf8221c1ac60230133717039e08911f15e8ac48498c787022de12'],
+    }),
+    ('immutabledict', '4.1.0', {
+        'checksums': ['93d100ccd2cd09a1fd3f136b9328c6e59529ba341de8bb499437f6819159fe8a'],
+    }),
     (name, version, {
+        'preinstallopts': "sed -i 's/[>=]=.*//g;s/tensorflow-cpu/tensorflow/g' setup.cfg && ",
+        'runtest': '%s pytest -s %s ' % (local_testinstall_PATH, " ".join('test/test_%s.py' % x for x in local_tests)),
         'sources': [{
-            'filename': SOURCE_TAR_GZ,
+            'filename': '%(name)s-%(version)s.tar.gz',
             'git_config': {
                 'url': 'https://github.com/KosinskiLab',
                 'repo_name': 'AlphaPulldown',
-                'tag': version,
-                'recursive': True,
-            },
+                'tag': version, 'recursive': True
+            }
         }],
-        'patches': ['AlphaPulldown-2.0.0b2_fix-import-protein_letters_3to1.patch'],
-        'checksums': [
-            None,
-            'd41247cd12f6ef8579adbc893f6c1af5fba051167ee838449974365f4bdccf06',
-        ],
-        # remove strict version requirements for Python dependencies
-        'preinstallopts': "sed -i 's/[>=]=.*//g' setup.cfg && ",
+        'testinstall': True,
+        # This needs to be [None], at least until EB v5 is out
+        # 'checksums': ['e338195987e003f3caadb06bda0ca56dece87e358738143ea72662f9ad69b1d4'],
+        'checksums': [None],
     }),
 ]
 
 fix_python_shebang_for = ['bin/*.py']
-
 sanity_pip_check = True
 
 sanity_check_paths = {
-    'files': ['bin/run_multimer_jobs.py', 'bin/rename_colab_search_a3m.py'],
+    'files': ['bin/run_multimer_jobs.py', 'bin/rename_colab_search_a3m.py',
+              'lib/python%(pyshortver)s/site-packages/alphafold/common/stereo_chemical_props.txt'],
     'dirs': ['lib/python%(pyshortver)s/site-packages/alphapulldown'],
 }
 
 sanity_check_commands = [
     "run_multimer_jobs.py --help | grep 'A script to perform structure prediction'",
-    "convert_to_modelcif.py --help | grep 'turn it into a ModelCIF'",
+    "create_individual_features.py --helpfull|grep 'Additional allowance for hydrogen bonding'",
 ]
 
 moduleclass = 'bio'
Diff against AlphaPulldown-2.0.0b4-foss-2022a.eb

easybuild/easyconfigs/a/AlphaPulldown/AlphaPulldown-2.0.0b4-foss-2022a.eb

diff --git a/easybuild/easyconfigs/a/AlphaPulldown/AlphaPulldown-2.0.0b4-foss-2022a.eb b/easybuild/easyconfigs/a/AlphaPulldown/AlphaPulldown-2.0.0-foss-2023a-CUDA-12.1.1.eb
index f410c438e2..e1dd253f81 100644
--- a/easybuild/easyconfigs/a/AlphaPulldown/AlphaPulldown-2.0.0b4-foss-2022a.eb
+++ b/easybuild/easyconfigs/a/AlphaPulldown/AlphaPulldown-2.0.0-foss-2023a-CUDA-12.1.1.eb
@@ -1,53 +1,59 @@
 # created by Denis Kristak (Inuits)
+# update: Thomas Hoffmann, EMBL
 easyblock = 'PythonBundle'
 
 name = 'AlphaPulldown'
-version = '2.0.0b4'
+version = '2.0.0'
+versionsuffix = '-CUDA-%(cudaver)s'
 
 homepage = 'https://github.com/KosinskiLab/AlphaPulldown'
 description = """AlphaPulldown is a Python package that streamlines protein-protein
 interaction screens and high-throughput modelling of higher-order oligomers using AlphaFold-Multimer"""
 
-toolchain = {'name': 'foss', 'version': '2022a'}
+toolchain = {'name': 'foss', 'version': '2023a'}
+
+builddependencies = [
+    ('poetry', '1.5.1'),
+]
 
 dependencies = [
-    ('Python', '3.10.4'),
-    ('OpenMM', '8.0.0'),
-    ('Kalign', '3.3.5'),
+    ('CUDA', '12.1.1', '', SYSTEM),
+    ('Python', '3.11.3'),
+    ('OpenMM', '8.0.0', versionsuffix),
+    ('Kalign', '3.4.0'),
     ('PyYAML', '6.0'),
-    ('jax', '0.3.25'),  # also provides absl-py
-    ('Biopython', '1.79'),
-    ('h5py', '3.7.0'),
-    ('IPython', '8.5.0'),
-    ('JupyterLab', '3.5.0'),
-    ('matplotlib', '3.5.2'),
-    ('TensorFlow', '2.11.0'),
-    ('PyTorch', '1.12.0'),
-    ('tqdm', '4.64.0'),
+    ('jax', '0.4.25', versionsuffix),  # also provides absl-py
+    ('Biopython', '1.83'),
+    ('h5py', '3.9.0'),
+    ('IPython', '8.14.0'),
+    ('matplotlib', '3.7.2'),
+    # ('TensorFlow', '2.15.1', versionsuffix),
+    ('TensorFlow', '2.13.0'),  # to be consistent with AF2 ?
+    ('PyTorch', '2.1.2', versionsuffix),
+    ('tqdm', '4.66.1'),
     ('dm-tree', '0.1.8'),
-    ('py3Dmol', '2.0.1.post1'),
-    ('HMMER', '3.3.2'),
+    ('py3Dmol', '2.1.0'),
+    ('HMMER', '3.4'),
     ('HH-suite', '3.3.0'),
-    ('Uni-Core', '0.0.3'),
+    ('dm-haiku', '0.0.12', versionsuffix),
+    ('Uni-Core', '0.0.3', versionsuffix),
+    ('JupyterLab', '4.0.5'),
 ]
-
+local_commit = 'cc4b0af60518c078305bbe4c584691d1ed9ade31'
 use_pip = True
 
+local_tests = [
+    'custom_db',
+    'remove_clashes_low_plddt',
+    'modelcif',
+    'features_with_templates',
+    'post_prediction',
+    # require pyrosetta, analysis aptainer image, and AlphaFold2 data:
+    # 'pdb_analyser',
+    # 'get_good_inter_pae',
+]
+local_testinstall_PATH = """ PATH=$(echo $PYTHONPATH|awk -F ':' '{print $1}')/../../../bin:$PATH """
 exts_list = [
-    ('importlib-resources', '5.13.0', {
-        'modulename': 'importlib_resources',
-        'source_tmpl': 'importlib_resources-%(version)s.tar.gz',
-        'checksums': ['82d5c6cca930697dbbd86c93333bb2c2e72861d4789a11c2662b933e5ad2b528'],
-    }),
-    ('jmp', '0.0.4', {
-        'checksums': ['5dfeb0fd7c7a9f72a70fff0aab9d0cbfae32a809c02f4037ff3485ceb33e1730'],
-    }),
-    ('dm-haiku', '0.0.9', {
-        'modulename': 'haiku',
-        'source_urls': ['https://github.com/deepmind/dm-haiku/archive/refs/tags/'],
-        'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}],
-        'checksums': ['d550f07f5891ede30ada5faafde98f549ed1b8ceadb7a601cca3d81db7d82414'],
-    }),
     ('contextlib2', '21.6.0', {
         'checksums': ['ab1e2bfe1d01d968e1b7e8d9023bc51ef3509bba217bb730cee3827e1ee82869'],
     }),
@@ -67,38 +73,49 @@ exts_list = [
     ('modelcif', '1.0', {
         'checksums': ['e8375bc502a73dcfab0b7fbdd454d67d393bbb8969981eb52199d77192a3de56'],
     }),
+    ('looseversion', '1.1.2', {
+        'checksums': ['94d80bdbd0b6d57c11b886147ba1601f7d1531571621b81933b34537cbe469ad'],
+    }),
+    ('mmtf-python', '1.1.3', {
+        'modulename': 'mmtf',
+        'checksums': ['12a02fe1b7131f0a2b8ce45b46f1e0cdd28b9818fe4499554c26884987ea0c32'],
+    }),
+    ('biopandas', '0.5.1.dev0', {
+        'checksums': ['6dc9de631babf8221c1ac60230133717039e08911f15e8ac48498c787022de12'],
+    }),
+    ('immutabledict', '4.1.0', {
+        'checksums': ['93d100ccd2cd09a1fd3f136b9328c6e59529ba341de8bb499437f6819159fe8a'],
+    }),
     (name, version, {
+        'preinstallopts': "sed -i 's/[>=]=.*//g;s/tensorflow-cpu/tensorflow/g' setup.cfg && ",
+        'runtest': '%s pytest -s %s ' % (local_testinstall_PATH, " ".join('test/test_%s.py' % x for x in local_tests)),
         'sources': [{
-            'filename': SOURCE_TAR_GZ,
+            'filename': '%(name)s-%(version)s.tar.gz',
             'git_config': {
                 'url': 'https://github.com/KosinskiLab',
                 'repo_name': 'AlphaPulldown',
-                'tag': version,
-                'recursive': True,
-            },
+                'tag': version, 'recursive': True
+            }
         }],
-        'patches': ['AlphaPulldown-2.0.0b2_fix-import-protein_letters_3to1.patch'],
-        'checksums': [
-            None,
-            'd41247cd12f6ef8579adbc893f6c1af5fba051167ee838449974365f4bdccf06',
-        ],
-        # remove strict version requirements for Python dependencies
-        'preinstallopts': "sed -i 's/[>=]=.*//g' setup.cfg && ",
+        'testinstall': True,
+        # This needs to be [None], at least until EB v5 is out
+        # 'checksums': ['e338195987e003f3caadb06bda0ca56dece87e358738143ea72662f9ad69b1d4'],
+        'checksums': [None],
     }),
 ]
 
 fix_python_shebang_for = ['bin/*.py']
-
 sanity_pip_check = True
 
 sanity_check_paths = {
-    'files': ['bin/run_multimer_jobs.py', 'bin/rename_colab_search_a3m.py'],
+    'files': ['bin/run_multimer_jobs.py', 'bin/rename_colab_search_a3m.py',
+              'lib/python%(pyshortver)s/site-packages/alphafold/common/stereo_chemical_props.txt'],
     'dirs': ['lib/python%(pyshortver)s/site-packages/alphapulldown'],
 }
 
 sanity_check_commands = [
     "run_multimer_jobs.py --help | grep 'A script to perform structure prediction'",
-    "convert_to_modelcif.py --help | grep 'turn it into a ModelCIF'",
+    "create_individual_features.py --helpfull|grep 'Additional allowance for hydrogen bonding'",
 ]
 
 moduleclass = 'bio'
Diff against AlphaPulldown-0.30.4-fosscuda-2020b.eb

easybuild/easyconfigs/a/AlphaPulldown/AlphaPulldown-0.30.4-fosscuda-2020b.eb

diff --git a/easybuild/easyconfigs/a/AlphaPulldown/AlphaPulldown-0.30.4-fosscuda-2020b.eb b/easybuild/easyconfigs/a/AlphaPulldown/AlphaPulldown-2.0.0-foss-2023a-CUDA-12.1.1.eb
index fe9b546828..e1dd253f81 100644
--- a/easybuild/easyconfigs/a/AlphaPulldown/AlphaPulldown-0.30.4-fosscuda-2020b.eb
+++ b/easybuild/easyconfigs/a/AlphaPulldown/AlphaPulldown-2.0.0-foss-2023a-CUDA-12.1.1.eb
@@ -1,84 +1,121 @@
 # created by Denis Kristak (Inuits)
-easyblock = "PythonBundle"
+# update: Thomas Hoffmann, EMBL
+easyblock = 'PythonBundle'
 
-name = "AlphaPulldown"
-version = "0.30.4"
+name = 'AlphaPulldown'
+version = '2.0.0'
+versionsuffix = '-CUDA-%(cudaver)s'
 
-homepage = "https://github.com/KosinskiLab/AlphaPulldown"
+homepage = 'https://github.com/KosinskiLab/AlphaPulldown'
 description = """AlphaPulldown is a Python package that streamlines protein-protein
 interaction screens and high-throughput modelling of higher-order oligomers using AlphaFold-Multimer"""
 
-toolchain = {'name': 'fosscuda', 'version': '2020b'}
+toolchain = {'name': 'foss', 'version': '2023a'}
 
-dependencies = [
-    ('Python', '3.8.6'),
-    ("OpenMM", "7.5.0"),
-    ("Kalign", "3.3.1"),
-    ('PyYAML', '5.3.1'),
-    ("cctbx-base", "2020.8"),
-    ('jax', '0.2.19'),  # also provides absl-py
-    ('Biopython', '1.78'),
-    ('h5py', '3.1.0'),
-    ('IPython', '7.18.1'),
-    ('JupyterLab', '2.2.8'),
-    ('matplotlib', '3.3.3'),
-    ('TensorFlow', '2.4.1'),
-    ('tqdm', '4.56.2'),
-    ('dm-tree', '0.1.5'),
+builddependencies = [
+    ('poetry', '1.5.1'),
 ]
 
+dependencies = [
+    ('CUDA', '12.1.1', '', SYSTEM),
+    ('Python', '3.11.3'),
+    ('OpenMM', '8.0.0', versionsuffix),
+    ('Kalign', '3.4.0'),
+    ('PyYAML', '6.0'),
+    ('jax', '0.4.25', versionsuffix),  # also provides absl-py
+    ('Biopython', '1.83'),
+    ('h5py', '3.9.0'),
+    ('IPython', '8.14.0'),
+    ('matplotlib', '3.7.2'),
+    # ('TensorFlow', '2.15.1', versionsuffix),
+    ('TensorFlow', '2.13.0'),  # to be consistent with AF2 ?
+    ('PyTorch', '2.1.2', versionsuffix),
+    ('tqdm', '4.66.1'),
+    ('dm-tree', '0.1.8'),
+    ('py3Dmol', '2.1.0'),
+    ('HMMER', '3.4'),
+    ('HH-suite', '3.3.0'),
+    ('dm-haiku', '0.0.12', versionsuffix),
+    ('Uni-Core', '0.0.3', versionsuffix),
+    ('JupyterLab', '4.0.5'),
+]
+local_commit = 'cc4b0af60518c078305bbe4c584691d1ed9ade31'
 use_pip = True
 
+local_tests = [
+    'custom_db',
+    'remove_clashes_low_plddt',
+    'modelcif',
+    'features_with_templates',
+    'post_prediction',
+    # require pyrosetta, analysis aptainer image, and AlphaFold2 data:
+    # 'pdb_analyser',
+    # 'get_good_inter_pae',
+]
+local_testinstall_PATH = """ PATH=$(echo $PYTHONPATH|awk -F ':' '{print $1}')/../../../bin:$PATH """
 exts_list = [
-    ('py3Dmol', '2.0.1.post1', {
-        'modulename': 'py3Dmol',
-        'checksums': ['add70ecf8f647970925eb8c1043c5c1343813fa49e613b77f0628e522c4148ac'],
-    }),
-    ('PDBFixer', '1.7', {
-        'source_urls': ['https://github.com/openmm/pdbfixer/archive/refs/tags/'],
-        'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}],
-        'checksums': ['a0bef3c52a7bbe69a6aea5333f51f3e7d158339be5829aed19b0344bd66d4eea'],
-    }),
-    ('dm-haiku', '0.0.4', {
-        'modulename': 'haiku',
-        'patches': ['%(name)s-%(version)s_fix-deps.patch'],
-        'source_urls': ['https://github.com/deepmind/dm-haiku/archive/refs/tags/'],
-        'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}],
-        'checksums': [
-            {'dm-haiku-0.0.4.tar.gz': 'e9896d161938b53f869fde207f3f6fca496d09b2a47d21dd9b6b65e897ad6aab'},
-            {'dm-haiku-0.0.4_fix-deps.patch': 'c509e0aa049401f340234b0a5eba59c9e8af8eff94b9e92f0693aeadfa4c5aa8'},
-        ],
-    }),
-    ('toolz', '0.11.1', {
-        'checksums': ['c7a47921f07822fe534fb1c01c9931ab335a4390c782bd28c6bcc7c2f71f3fbf'],
-    }),
-    ('importlib-resources', '5.12.0', {
-        'modulename': 'importlib_resources',
-        'source_tmpl': 'importlib_resources-%(version)s.tar.gz',
-        'checksums': ['4be82589bf5c1d7999aedf2a45159d10cb3ca4f19b2271f8792bc8e6da7b22f6'],
-    }),
     ('contextlib2', '21.6.0', {
         'checksums': ['ab1e2bfe1d01d968e1b7e8d9023bc51ef3509bba217bb730cee3827e1ee82869'],
     }),
     ('ml-collections', '0.1.1', {
+        'preinstallopts': "touch requirements.txt && touch requirements-test.txt && ",
         'sources': ['ml_collections-%(version)s.tar.gz'],
         'checksums': ['3fefcc72ec433aa1e5d32307a3e474bbb67f405be814ea52a2166bfc9dbe68cc'],
     }),
+    ('PDBFixer', '1.9', {
+        'source_urls': ['https://github.com/openmm/pdbfixer/archive/'],
+        'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}],
+        'checksums': ['88b9a77e50655f89d0eb2075093773e82c27a4cef842cb7d735c877b20cd39fb'],
+    }),
+    ('ihm', '1.3', {
+        'checksums': ['09f69809fd81509cc26b60253c55b02ce79fc01fc8f4a068bca2953a7dfd33be'],
+    }),
+    ('modelcif', '1.0', {
+        'checksums': ['e8375bc502a73dcfab0b7fbdd454d67d393bbb8969981eb52199d77192a3de56'],
+    }),
+    ('looseversion', '1.1.2', {
+        'checksums': ['94d80bdbd0b6d57c11b886147ba1601f7d1531571621b81933b34537cbe469ad'],
+    }),
+    ('mmtf-python', '1.1.3', {
+        'modulename': 'mmtf',
+        'checksums': ['12a02fe1b7131f0a2b8ce45b46f1e0cdd28b9818fe4499554c26884987ea0c32'],
+    }),
+    ('biopandas', '0.5.1.dev0', {
+        'checksums': ['6dc9de631babf8221c1ac60230133717039e08911f15e8ac48498c787022de12'],
+    }),
+    ('immutabledict', '4.1.0', {
+        'checksums': ['93d100ccd2cd09a1fd3f136b9328c6e59529ba341de8bb499437f6819159fe8a'],
+    }),
     (name, version, {
-        'patches': ['%(name)s-%(version)s_fix-deps.patch'],
-        'sources': ['%(namelower)s-%(version)s.tar.gz'],
-        'checksums': [
-            {'alphapulldown-0.30.4.tar.gz': '7797500abaee2e92d28034dc97844bca8c8d7281817e29dc110220824e9d1b5b'},
-            {'AlphaPulldown-0.30.4_fix-deps.patch': 'fc5bf395cb36d02efa6d538df49749e722b2d2c257197e3dac83a81c9405c0c9'},
-        ],
+        'preinstallopts': "sed -i 's/[>=]=.*//g;s/tensorflow-cpu/tensorflow/g' setup.cfg && ",
+        'runtest': '%s pytest -s %s ' % (local_testinstall_PATH, " ".join('test/test_%s.py' % x for x in local_tests)),
+        'sources': [{
+            'filename': '%(name)s-%(version)s.tar.gz',
+            'git_config': {
+                'url': 'https://github.com/KosinskiLab',
+                'repo_name': 'AlphaPulldown',
+                'tag': version, 'recursive': True
+            }
+        }],
+        'testinstall': True,
+        # This needs to be [None], at least until EB v5 is out
+        # 'checksums': ['e338195987e003f3caadb06bda0ca56dece87e358738143ea72662f9ad69b1d4'],
+        'checksums': [None],
     }),
 ]
 
+fix_python_shebang_for = ['bin/*.py']
 sanity_pip_check = True
 
 sanity_check_paths = {
-    "files": ['bin/run_multimer_jobs.py', 'bin/rename_colab_search_a3m.py'],
-    "dirs": ["lib/python%(pyshortver)s/site-packages/alphapulldown"],
+    'files': ['bin/run_multimer_jobs.py', 'bin/rename_colab_search_a3m.py',
+              'lib/python%(pyshortver)s/site-packages/alphafold/common/stereo_chemical_props.txt'],
+    'dirs': ['lib/python%(pyshortver)s/site-packages/alphapulldown'],
 }
 
-moduleclass = "data"
+sanity_check_commands = [
+    "run_multimer_jobs.py --help | grep 'A script to perform structure prediction'",
+    "create_individual_features.py --helpfull|grep 'Additional allowance for hydrogen bonding'",
+]
+
+moduleclass = 'bio'

Updated software Uni-Core-0.0.3-foss-2023a-CUDA-12.1.1.eb

Diff against Uni-Core-0.0.3-foss-2022a-CUDA-11.7.0.eb

easybuild/easyconfigs/u/Uni-Core/Uni-Core-0.0.3-foss-2022a-CUDA-11.7.0.eb

diff --git a/easybuild/easyconfigs/u/Uni-Core/Uni-Core-0.0.3-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/u/Uni-Core/Uni-Core-0.0.3-foss-2023a-CUDA-12.1.1.eb
index 2ca769764a..24fb0a0d2e 100644
--- a/easybuild/easyconfigs/u/Uni-Core/Uni-Core-0.0.3-foss-2022a-CUDA-11.7.0.eb
+++ b/easybuild/easyconfigs/u/Uni-Core/Uni-Core-0.0.3-foss-2023a-CUDA-12.1.1.eb
@@ -7,46 +7,51 @@ versionsuffix = '-CUDA-%(cudaver)s'
 homepage = 'https://github.com/dptech-corp/Uni-Core'
 description = "An efficient distributed PyTorch framework"
 
-toolchain = {'name': 'foss', 'version': '2022a'}
+toolchain = {'name': 'foss', 'version': '2023a'}
 
+builddependencies = [
+    ('maturin', '1.4.0', '-Rust-1.75.0')
+]
 dependencies = [
-    ('CUDA', '11.7.0', '', SYSTEM),
-    ('Python', '3.10.4'),
-    ('PyTorch', '1.12.0', versionsuffix),
-    ('jax', '0.3.25', versionsuffix),  # provides absl-py
-    ('tensorboardX', '2.5.1'),
-    ('tqdm', '4.64.0'),
-    ('wandb', '0.13.4'),
+    ('CUDA', '12.1.1', '', SYSTEM),
+    ('Python', '3.11.3'),
+    ('PyTorch', '2.1.2', versionsuffix),
+    ('jax', '0.4.25', versionsuffix),  # provides absl-py
+    ('tensorboardX', '2.6.2.2'),
+    ('tqdm', '4.66.1'),
+    ('wandb', '0.16.1'),
 ]
 
 use_pip = True
+local_preinstallopts = "sed -i "
+# local_preinstallopts += "-e 's/DISABLE_CUDA_EXTENSION = False/DISABLE_CUDA_EXTENSION = True/g' "
+local_preinstallopts += "-e 's/torch>=[0-9.]*/torch/g' setup.py && "
 
 exts_list = [
-    ('lmdb', '1.4.1', {
-        'checksums': ['1f4c76af24e907593487c904ef5eba1993beb38ed385af82adb25a858f2d658d'],
+    ('lmdb', '1.5.1', {
+        'checksums': ['717c255827d331e02f7242b44051aa06466c90f6d732ecb07b31edfb1e06c67a'],
     }),
     ('contextlib2', '21.6.0', {
         'checksums': ['ab1e2bfe1d01d968e1b7e8d9023bc51ef3509bba217bb730cee3827e1ee82869'],
     }),
     ('ml-collections', '0.1.1', {
+        'preinstallopts': "touch requirements.txt && touch requirements-test.txt && ",
         'sources': ['ml_collections-%(version)s.tar.gz'],
         'checksums': ['3fefcc72ec433aa1e5d32307a3e474bbb67f405be814ea52a2166bfc9dbe68cc'],
-        'preinstallopts': "touch requirements.txt && touch requirements-test.txt && ",
     }),
-    ('huggingface-hub', '0.17.3', {
+    ('huggingface-hub', '0.24.5', {
         'source_tmpl': 'huggingface_hub-%(version)s.tar.gz',
-        'checksums': ['40439632b211311f788964602bf8b0d9d6b7a2314fba4e8d67b2ce3ecea0e3fd'],
+        'checksums': ['7b45d6744dd53ce9cbf9880957de00e9d10a9ae837f1c9b7255fc8fa4e8264f3'],
     }),
-    ('tokenizers', '0.19.1', {
-        'sources': ['tokenizers-%(version)s-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl'],
-        'checksums': ['8b01afb7193d47439f091cd8f070a1ced347ad0f9144952a30a41836902fe09e'],
+    ('tokenizers', '0.20.0', {
+        'checksums': ['39d7acc43f564c274085cafcd1dae9d36f332456de1a31970296a6b8da4eac8d'],
     }),
     (name, version, {
+        'modulename': 'unicore',
+        'preinstallopts': local_preinstallopts,
         'source_urls': ['https://github.com/dptech-corp/Uni-Core/archive/'],
         'sources': ['%(version)s.tar.gz'],
         'checksums': ['e7a1e938d7d340d7aa483a05ed5ecf715bfa22f5f32a92e46d096da5b9a08043'],
-        'preinstallopts': "sed -i 's/torch>=[0-9.]*/torch/g' setup.py && ",
-        'modulename': 'unicore',
     }),
 ]
 
Diff against Uni-Core-0.0.3-foss-2022a.eb

easybuild/easyconfigs/u/Uni-Core/Uni-Core-0.0.3-foss-2022a.eb

diff --git a/easybuild/easyconfigs/u/Uni-Core/Uni-Core-0.0.3-foss-2022a.eb b/easybuild/easyconfigs/u/Uni-Core/Uni-Core-0.0.3-foss-2023a-CUDA-12.1.1.eb
index d82f94349b..24fb0a0d2e 100644
--- a/easybuild/easyconfigs/u/Uni-Core/Uni-Core-0.0.3-foss-2022a.eb
+++ b/easybuild/easyconfigs/u/Uni-Core/Uni-Core-0.0.3-foss-2023a-CUDA-12.1.1.eb
@@ -2,52 +2,56 @@ easyblock = 'PythonBundle'
 
 name = 'Uni-Core'
 version = '0.0.3'
+versionsuffix = '-CUDA-%(cudaver)s'
 
 homepage = 'https://github.com/dptech-corp/Uni-Core'
 description = "An efficient distributed PyTorch framework"
 
-toolchain = {'name': 'foss', 'version': '2022a'}
+toolchain = {'name': 'foss', 'version': '2023a'}
 
+builddependencies = [
+    ('maturin', '1.4.0', '-Rust-1.75.0')
+]
 dependencies = [
-    ('Python', '3.10.4'),
-    ('PyTorch', '1.12.0'),
-    ('jax', '0.3.25'),  # provides absl-py
-    ('tensorboardX', '2.5.1'),
-    ('tqdm', '4.64.0'),
-    ('wandb', '0.13.4'),
+    ('CUDA', '12.1.1', '', SYSTEM),
+    ('Python', '3.11.3'),
+    ('PyTorch', '2.1.2', versionsuffix),
+    ('jax', '0.4.25', versionsuffix),  # provides absl-py
+    ('tensorboardX', '2.6.2.2'),
+    ('tqdm', '4.66.1'),
+    ('wandb', '0.16.1'),
 ]
 
 use_pip = True
-
-local_preinstallopts = "sed -i -e 's/DISABLE_CUDA_EXTENSION = False/DISABLE_CUDA_EXTENSION = True/g' "
+local_preinstallopts = "sed -i "
+# local_preinstallopts += "-e 's/DISABLE_CUDA_EXTENSION = False/DISABLE_CUDA_EXTENSION = True/g' "
 local_preinstallopts += "-e 's/torch>=[0-9.]*/torch/g' setup.py && "
 
 exts_list = [
-    ('lmdb', '1.4.1', {
-        'checksums': ['1f4c76af24e907593487c904ef5eba1993beb38ed385af82adb25a858f2d658d'],
+    ('lmdb', '1.5.1', {
+        'checksums': ['717c255827d331e02f7242b44051aa06466c90f6d732ecb07b31edfb1e06c67a'],
     }),
     ('contextlib2', '21.6.0', {
         'checksums': ['ab1e2bfe1d01d968e1b7e8d9023bc51ef3509bba217bb730cee3827e1ee82869'],
     }),
     ('ml-collections', '0.1.1', {
+        'preinstallopts': "touch requirements.txt && touch requirements-test.txt && ",
         'sources': ['ml_collections-%(version)s.tar.gz'],
         'checksums': ['3fefcc72ec433aa1e5d32307a3e474bbb67f405be814ea52a2166bfc9dbe68cc'],
-        'preinstallopts': "touch requirements.txt && touch requirements-test.txt && ",
     }),
-    ('huggingface-hub', '0.17.3', {
+    ('huggingface-hub', '0.24.5', {
         'source_tmpl': 'huggingface_hub-%(version)s.tar.gz',
-        'checksums': ['40439632b211311f788964602bf8b0d9d6b7a2314fba4e8d67b2ce3ecea0e3fd'],
+        'checksums': ['7b45d6744dd53ce9cbf9880957de00e9d10a9ae837f1c9b7255fc8fa4e8264f3'],
     }),
-    ('tokenizers', '0.19.1', {
-        'sources': ['tokenizers-%(version)s-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl'],
-        'checksums': ['8b01afb7193d47439f091cd8f070a1ced347ad0f9144952a30a41836902fe09e'],
+    ('tokenizers', '0.20.0', {
+        'checksums': ['39d7acc43f564c274085cafcd1dae9d36f332456de1a31970296a6b8da4eac8d'],
     }),
     (name, version, {
+        'modulename': 'unicore',
+        'preinstallopts': local_preinstallopts,
         'source_urls': ['https://github.com/dptech-corp/Uni-Core/archive/'],
         'sources': ['%(version)s.tar.gz'],
         'checksums': ['e7a1e938d7d340d7aa483a05ed5ecf715bfa22f5f32a92e46d096da5b9a08043'],
-        'preinstallopts': local_preinstallopts,
-        'modulename': 'unicore',
     }),
 ]
 

@ThomasHoffmann77 ThomasHoffmann77 changed the title {bio}[foss/2023a] AlphaPulldown v2.0.0b6 Uni-Core v0.0.3 w/ CUDA v12.1.1 {bio}[foss/2023a] AlphaPulldown v2.0.0 Uni-Core v0.0.3 w/ CUDA v12.1.1 Nov 8, 2024
move Jupyterlab dependency to end of list
Copy link
Copy Markdown
Contributor

@akesandgren akesandgren left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@akesandgren
Copy link
Copy Markdown
Contributor

Test report by @akesandgren
FAILED
Build succeeded for 1 out of 2 (2 easyconfigs in total)
b-cn1611.hpc2n.umu.se - Linux Ubuntu 22.04, x86_64, AMD EPYC 7313 16-Core Processor, 1 x NVIDIA NVIDIA A100 80GB PCIe, 555.58.02, Python 3.10.12
See https://gist.github.com/akesandgren/56aea3df4b4f9d09c1011edb6e7d97b3 for a full test report.

@akesandgren
Copy link
Copy Markdown
Contributor

Test report by @akesandgren
SUCCESS
Build succeeded for 2 out of 2 (2 easyconfigs in total)
b-cn1611.hpc2n.umu.se - Linux Ubuntu 22.04, x86_64, AMD EPYC 7313 16-Core Processor, 1 x NVIDIA NVIDIA A100 80GB PCIe, 555.58.02, Python 3.10.12
See https://gist.github.com/akesandgren/48ee3cf53275a000291a44b6c8a8e5e2 for a full test report.

Copy link
Copy Markdown
Contributor

@akesandgren akesandgren left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@akesandgren
Copy link
Copy Markdown
Contributor

Going in, thanks @ThomasHoffmann77!

@akesandgren akesandgren merged commit eefcf54 into easybuilders:develop Dec 13, 2024
@boegel boegel modified the milestones: 4.x, 5.0.0 Mar 18, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants