diff --git a/easybuild/easyconfigs/b/Boltz-1/Boltz-1-0.4.1-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/b/Boltz-1/Boltz-1-0.4.1-foss-2023a-CUDA-12.1.1.eb new file mode 100644 index 000000000000..e0501d7ab921 --- /dev/null +++ b/easybuild/easyconfigs/b/Boltz-1/Boltz-1-0.4.1-foss-2023a-CUDA-12.1.1.eb @@ -0,0 +1,80 @@ +easyblock = 'PythonBundle' + +name = 'Boltz-1' +version = '0.4.1' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/jwohlwend/boltz' +description = """ +Boltz-1 is the state-of-the-art open-source model to predict biomolecular structures +containing combinations of proteins, RNA, DNA, and other molecules. +It also supports modified residues, covalent ligands and glycans, as well as +conditioning the prediction on specified interaction pockets or contacts. +""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [('hatchling', '1.18.0')] +dependencies = [ + ('CUDA', '12.1.1', '', SYSTEM), + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('SciPy-bundle', '2023.07'), + ('Biopython', '1.83'), + ('PyYAML', '6.0'), + ('PyTorch', '2.1.2', versionsuffix), + ('Hydra', '1.3.2'), + ('PyTorch-Lightning', '2.2.1', versionsuffix), + ('RDKit', '2024.03.3'), + ('dm-tree', '0.1.8'), + ('einops', '0.7.0'), + ('wandb', '0.16.1'), +] + +# unpin strict dependencies versions +local_preinstallopts = ( + "sed -i -e " + r"'s/==.*/\",/g' -e " + "'s/torch>=2.2/torch/g' -e " + "'16d' -e " # delete rdkit dep - pip check fail even RDKit is there + "'s/pandas>=2.2.2/pandas/g' " + "pyproject.toml && " +) +exts_list = [ + ('urllib3', '2.0.7', { + 'checksums': ['c97dfde1f7bd43a71c8d2a58e369e9b2bf692d1334ea9f9cae55add7d0dd0f84'], + }), + ('ihm', '1.7', { + 'checksums': ['f7d3b9a76d9652f7091bbd1c6bea044a1d40b35bcba9b64c8e51a061fc2463de'], + }), + ('frozendict', '2.4.5', { + 'checksums': ['fd7add309789595c044c0155a0bddfa9d20c77f65de1e33a14aa3033b936ef63'], + }), + ('types-requests', '2.32.0.20240914', { + 'modulename': False, + 'checksums': ['2850e178db3919d9bf809e434eef65ba49d0e7e33ac92d588f4a5e295fffd405'], + }), + ('einx', '0.3.0', { + 'checksums': ['17ff87c6a0f68ab358c1da489f00e95f1de106fd12ff17d0fb3e210aaa1e5f8c'], + }), + ('fairscale', '0.4.13', { + 'checksums': ['1b797825c427f5dba92253fd0d8daa574e8bd651a2423497775fab1b30cfb768'], + }), + ('mashumaro', '3.14', { + 'checksums': ['5ef6f2b963892cbe9a4ceb3441dfbea37f8c3412523f25d42e9b3a7186555f1d'], + }), + ('modelcif', '1.2', { + 'checksums': ['517d2a7be67c96fd56dcc3b50cf7bb0b130958c325653d9925f9a5dbfe151d78'], + }), + ('boltz', version, { + 'preinstallopts': local_preinstallopts, + # export HOME to avoid saving large test caches to the user's /home/.boltz + 'runtest': "export HOME=%(builddir)s && cd %(start_dir)s && pytest -svv tests/", + 'testinstall': True, + 'checksums': ['7bc4081d578ac7be5972387546f9dd28723ce132264bc13f1d7471f2ce4aa56b'], + }), +] + +sanity_check_commands = ["boltz 2>&1 | grep 'Usage: boltz'"] + +moduleclass = 'bio'