Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
easyblock = 'PythonBundle'

name = 'Boltz-2'
version = '2.2.1'
versionsuffix = '-CUDA-%(cudaver)s'

homepage = 'https://github.com/jwohlwend/boltz'
description = """
Boltz-2 is a new biomolecular foundation model that goes beyond AlphaFold3 and Boltz-1
by jointly modeling complex structures and binding affinities, a critical component towards accurate molecular design.
"""

toolchain = {'name': 'foss', 'version': '2024a'}

builddependencies = [
('hatchling', '1.27.0'),
]
dependencies = [
('CUDA', '12.6.0', '', SYSTEM),
('Python', '3.12.3'),
('Python-bundle-PyPI', '2024.06'),
('SciPy-bundle', '2024.05'),
('Biopython', '1.84'),
('PyYAML', '6.0.2'),
('PyTorch', '2.7.1', '-CUDA-%(cudaver)s'),
('Hydra', '1.3.2'),
('PyTorch-Lightning', '2.5.6', '-CUDA-%(cudaver)s'),
('RDKit', '2025.03.3'),
('dm-tree', '0.1.9'),
('einops', '0.8.1'),
('gemmi', '0.7.1'),
('numba', '0.60.0'),
('scikit-learn', '1.6.1'),
('wandb', '0.20.1'),
]

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'],
}),
('chembl-structure-pipeline', '1.2.4', {
'checksums': ['e381500ac815ded31cc4841d1fbfe7c089788a07f2fbaa9bb818b52facfa9030'],
}),
('packaging', '25.0', {
'checksums': ['d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f'],
}),
('opt-einsum', '3.4.0', {
'modulename': 'opt_einsum',
'checksums': ['96ca72f1b886d148241348783498194c577fa30a8faac108586b14f1ba4473ac'],
}),
('cuequivariance', '0.8.1', {
'checksums': ['f398dd0b61f80894994ef12a6ac7dd844e3d301a5486b99ff17d0082f1e22b4c'],
}),
('cuequivariance-torch', '0.8.1', {
'checksums': ['03a924b7a4c57bed87ca3d0345218eb805d8d2e848f5f5c57192a2e4a8ebc3db'],
}),
('cuequivariance-ops-torch-cu12', '0.8.1', {
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I got a failing sanity check due to a missing dependency for this package:

cuequivariance-ops-torch-cu12 0.8.1 requires cuequivariance-ops-cu12, which is not installed.

'source_tmpl':
'cuequivariance_ops_torch_cu12-0.8.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl',
'checksums': ['839a262c6bb461684e7d929f5bf4b96c2fa58a5308e64c213ec7835fb1c3907e'],
}),
('boltz', version, {
'checksums': ['dfbc5847a9d378a1e24829ff53c3faa182fb945775074712c130a3884710736d'],
'preinstallopts': 'sed -i -e \'s/==.*/\\",/g\' pyproject.toml && ',
'source_urls': ['https://github.com/jwohlwend/boltz/archive/refs/tags/'],
'source_tmpl': 'v%(version)s.tar.gz',
'runtest': 'export HOME=%(builddir)s && cd %(start_dir)s && pytest -svv tests/',
'testinstall': True}),
]

sanity_check_commands = ["boltz 2>&1 | grep 'Usage: boltz'"]

moduleclass = 'bio'
88 changes: 88 additions & 0 deletions easybuild/easyconfigs/b/Boltz-2/Boltz-2-2.2.1-foss-2024a.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
easyblock = 'PythonBundle'

name = 'Boltz-2'
version = '2.2.1'

homepage = 'https://github.com/jwohlwend/boltz'
description = """
Boltz-2 is a new biomolecular foundation model that goes beyond AlphaFold3 and Boltz-1
by jointly modeling complex structures and binding affinities, a critical component towards accurate molecular design.
"""

toolchain = {'name': 'foss', 'version': '2024a'}

builddependencies = [
('hatchling', '1.27.0'),
]
dependencies = [
('Python', '3.12.3'),
('Python-bundle-PyPI', '2024.06'),
('SciPy-bundle', '2024.05'),
('Biopython', '1.84'),
('PyYAML', '6.0.2'),
('PyTorch', '2.6.0'),
('Hydra', '1.3.2'),
('PyTorch-Lightning', '2.5.2'),
('RDKit', '2025.03.3'),
('dm-tree', '0.1.9'),
('einops', '0.8.1'),
('gemmi', '0.7.1'),
('numba', '0.60.0'),
('scikit-learn', '1.6.1'),
('wandb', '0.20.1'),
]

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'],
}),
('chembl-structure-pipeline', '1.2.4', {
'checksums': ['e381500ac815ded31cc4841d1fbfe7c089788a07f2fbaa9bb818b52facfa9030'],
}),
('packaging', '25.0', {
'checksums': ['d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f'],
}),
('opt-einsum', '3.4.0', {
'modulename': 'opt_einsum',
'checksums': ['96ca72f1b886d148241348783498194c577fa30a8faac108586b14f1ba4473ac'],
}),
('cuequivariance', '0.8.1', {
'checksums': ['f398dd0b61f80894994ef12a6ac7dd844e3d301a5486b99ff17d0082f1e22b4c'],
}),
('cuequivariance-torch', '0.8.1', {
'checksums': ['03a924b7a4c57bed87ca3d0345218eb805d8d2e848f5f5c57192a2e4a8ebc3db'],
}),
('boltz', version, {
'checksums': ['dfbc5847a9d378a1e24829ff53c3faa182fb945775074712c130a3884710736d'],
'preinstallopts': 'sed -i -e \'s/==.*/\\",/g\' pyproject.toml && ',
'source_urls': ['https://github.com/jwohlwend/boltz/archive/refs/tags/'],
'source_tmpl': 'v%(version)s.tar.gz',
'runtest': 'export HOME=%(builddir)s && cd %(start_dir)s && pytest -svv tests/',
'testinstall': True}),
]

sanity_check_commands = ["boltz 2>&1 | grep 'Usage: boltz'"]

moduleclass = 'bio'
Loading