From 49fad58711ada22ef714ea31e08b824447d5da72 Mon Sep 17 00:00:00 2001 From: Samuel Moors Date: Fri, 20 Dec 2024 13:48:29 +0100 Subject: [PATCH] adding easyconfigs: ESM3-3.1.2-foss-2023a.eb, ESM3-3.1.2-foss-2023a-CUDA-12.1.1.eb --- .../ESM3/ESM3-3.1.2-foss-2023a-CUDA-12.1.1.eb | 68 +++++++++++++++++++ .../e/ESM3/ESM3-3.1.2-foss-2023a.eb | 68 +++++++++++++++++++ 2 files changed, 136 insertions(+) create mode 100644 easybuild/easyconfigs/e/ESM3/ESM3-3.1.2-foss-2023a-CUDA-12.1.1.eb create mode 100644 easybuild/easyconfigs/e/ESM3/ESM3-3.1.2-foss-2023a.eb diff --git a/easybuild/easyconfigs/e/ESM3/ESM3-3.1.2-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/e/ESM3/ESM3-3.1.2-foss-2023a-CUDA-12.1.1.eb new file mode 100644 index 00000000000..f3dbb7192f2 --- /dev/null +++ b/easybuild/easyconfigs/e/ESM3/ESM3-3.1.2-foss-2023a-CUDA-12.1.1.eb @@ -0,0 +1,68 @@ +easyblock = 'PythonBundle' + +name = 'ESM3' +version = '3.1.2' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://www.evolutionaryscale.ai/' +description = """ESM3 is a frontier generative model for biology, able to jointly reason across +three fundamental biological properties of proteins: sequence, structure, and +function. These three data modalities are represented as tracks of discrete +tokens at the input and output of ESM3. You can present the model with a +combination of partial inputs across the tracks, and ESM3 will provide output +predictions for all the tracks. +""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [ + ('hatch', '1.9.7'), # for biotite +] + +dependencies = [ + ('CUDA', '12.1.1', '', SYSTEM), + ('Python', '3.11.3'), + ('PyTorch-bundle', '2.3.0', versionsuffix), + ('Transformers', '4.39.3'), + ('Biopython', '1.83'), + ('Brotli-python', '1.0.9'), + ('einops', '0.7.0'), + ('IPython', '8.14.0'), + ('scikit-learn', '1.3.1'), + ('Cython', '3.0.8'), # for biotite + ('zstd', '1.5.5'), +] + +use_pip = True + +exts_list = [ + ('biotite', '0.41.2', { + 'checksums': ['f4ebca8071fade51103c9e8534d60fff2021c22e6af85058a53ed6a3d96b6ad4'], + }), + ('msgpack-numpy', '0.4.8', { + 'checksums': ['c667d3180513422f9c7545be5eec5d296dcbb357e06f72ed39cc683797556e69'], + }), + ('cloudpathlib', '0.16.0', { + 'checksums': ['cdfcd35d46d529587d744154a0bdf962aca953b725c8784cd2ec478354ea63a3'], + }), + ('zstd', '1.5.5.1', { + 'checksums': ['1ef980abf0e1e072b028d2d76ef95b476632651c96225cf30b619c6eef625672'], + }), + ('tenacity', '8.5.0', { + 'checksums': ['8bc6c0c8a09b31e6cad13c47afbed1a567518250a9a171418582ed8d9c20ca78'], + }), + ('esm', version, { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['0c5ba0e12c28a1ddcad8a1e3fe152e476f2d24d412a8a04085b057f72759ba46'], + }), +] + +sanity_pip_check = True + +sanity_check_commands = [ + "python -c 'import esm'", + "python -c 'from esm.models.esm3 import ESM3'", + "python -c 'from esm.models.esmc import ESMC'", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/e/ESM3/ESM3-3.1.2-foss-2023a.eb b/easybuild/easyconfigs/e/ESM3/ESM3-3.1.2-foss-2023a.eb new file mode 100644 index 00000000000..39cf45e3530 --- /dev/null +++ b/easybuild/easyconfigs/e/ESM3/ESM3-3.1.2-foss-2023a.eb @@ -0,0 +1,68 @@ +easyblock = 'PythonBundle' + +name = 'ESM3' +version = '3.1.2' + +homepage = 'https://www.evolutionaryscale.ai/' +description = """ESM3 is a frontier generative model for biology, able to jointly reason across +three fundamental biological properties of proteins: sequence, structure, and +function. These three data modalities are represented as tracks of discrete +tokens at the input and output of ESM3. You can present the model with a +combination of partial inputs across the tracks, and ESM3 will provide output +predictions for all the tracks. +""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [ + ('hatch', '1.9.7'), # for biotite + # ('Ninja', '1.11.1'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('PyTorch-bundle', '2.3.0'), + ('Transformers', '4.39.3'), + ('Biopython', '1.83'), + # ('Biotite', '0.41.0'), + ('Brotli-python', '1.0.9'), + ('einops', '0.7.0'), + ('IPython', '8.14.0'), + ('scikit-learn', '1.3.1'), + ('Cython', '3.0.8'), # for biotite + ('zstd', '1.5.5'), +] + +use_pip = True + +exts_list = [ + ('biotite', '0.41.2', { + 'checksums': ['f4ebca8071fade51103c9e8534d60fff2021c22e6af85058a53ed6a3d96b6ad4'], + }), + ('msgpack-numpy', '0.4.8', { + 'checksums': ['c667d3180513422f9c7545be5eec5d296dcbb357e06f72ed39cc683797556e69'], + }), + ('cloudpathlib', '0.16.0', { + 'checksums': ['cdfcd35d46d529587d744154a0bdf962aca953b725c8784cd2ec478354ea63a3'], + }), + ('zstd', '1.5.5.1', { + 'checksums': ['1ef980abf0e1e072b028d2d76ef95b476632651c96225cf30b619c6eef625672'], + }), + ('tenacity', '8.5.0', { + 'checksums': ['8bc6c0c8a09b31e6cad13c47afbed1a567518250a9a171418582ed8d9c20ca78'], + }), + ('esm', version, { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['0c5ba0e12c28a1ddcad8a1e3fe152e476f2d24d412a8a04085b057f72759ba46'], + }), +] + +sanity_pip_check = True + +sanity_check_commands = [ + "python -c 'import esm'", + "python -c 'from esm.models.esm3 import ESM3'", + "python -c 'from esm.models.esmc import ESMC'", +] + +moduleclass = 'bio'