Skip to content

Commit

Permalink
Merge pull request #15830 from easybuilders/4.6.x
Browse files Browse the repository at this point in the history
release EasyBuild v4.6.0
  • Loading branch information
SebastianAchilles committed Jul 8, 2022
2 parents a2f5b4e + ed104d5 commit 798448d
Show file tree
Hide file tree
Showing 249 changed files with 14,456 additions and 27 deletions.
47 changes: 45 additions & 2 deletions RELEASE_NOTES
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,51 @@ For more detailed information, please see the git log.

These release notes can also be consulted at https://docs.easybuild.io/en/latest/Release_notes.html.

The latest version of easybuild-easyconfig provides 14,816 easyconfig files, for 2,711 different software packages,
incl. 36 different (compiler) toolchains.
The latest version of easybuild-easyconfig provides 15,020 easyconfig files, for 2,736 different software packages,
incl. 37 different (compiler) toolchains.


v4.6.0 (July 8th 2022)
----------------------

feature release

- added easyconfigs for foss/2022a, intel/2022a common toolchains (#15755)
- add easyconfig for gfbf/2022a toolchain (#15653, #15755)
- see also https://docs.easybuild.io/en/latest/Common-toolchains.html
- added example easyconfig files for 24 new software packages:
- BLT (#15624), category_encoders (#15638), fio (#10321), FSON (#15721), G-PhoCS (#7619), GCTA (#15649),
Gibbs2 (#15702), InterProScan_data (#15717), Jorg (#15346), libopus (#15682), Minipolish (#15713),
mm-common (#15764), MONA (#15696), NetPyNE (#15606), pfind (#15685), regionmask (#15786), samplot (#15686),
SISSO (#15766), sklearn-pandas (#15637), STAR-CCM+ (#7398), SWIPE (#6795), topaz (#15739),
uncertainty-calibration (#15612), Virtuoso-opensource (#14102)
- added additional easyconfigs for various supported software packages, including:
- AlphaFold 2.2.2, Arriba 2.3.0, Arrow 8.0.0, Bracken 2.7, CellRanger 7.0.0, Clp 1.17.7, CoinUtils 2.11.6,
cppy 1.2.1, deal.II 9.3.3, double-conversion 3.2.0, Doxygen 1.9.4, FLAC 1.3.4, fmt 7.1.1, FSL 6.0.5.1, GDAL 3.5.0,
gdbm 1.21, geopandas 0.11.0, GEOS 3.10.3, Ghostscript 9.56.1, GLibmm 2.66.4, Groovy 4.0.3, GULP 6.1, h5py 3.7.0,
HDF5 1.13.1, hifiasm 0.16.1, IGMPlot 2.6.9b, ImageMagick 7.1.0-37, InterProScan 5.55-88.0, IRkernel 1.3,
jemalloc 5.3.0, JsonCpp 1.9.5, Julia 1.7.3, Leptonica 1.82.0, libgeotiff 1.7.1, libgit2 1.4.3, libiconv 1.17,
libRmath 4.2.0, libsigc++ 2.10.8, libsndfile 1.1.0, libxc 5.2.3, libxml++ 2.42.1, line_profiler 3.5.1,
LittleCMS 2.13.1, MaSuRCA 4.0.9, mayavi 4.7.4, MetaEuk 5, mold 1.3.0, NCCL 2.12.12, netCDF 4.9.0, nettle 3.8,
networkx 2.8.4, NEURON 7.8.2, NLopt 2.7.1, nodejs 16.15.1, NSPR 4.34, NSS 3.79, nsync 1.25.0, nvtop 2.0.2,
Osi 0.108.7, p4est 2.8, parasail 2.5, Pillow 9.1.1, PLUMED 2.8.0, PnetCDF 1.12.3, PRISMS-PF 2.2, PROJ 9.0.0,
protobuf 3.19.4, protobuf-python 3.19.4, pyfaidx 0.7.0, PyOpenGL 3.1.6, pyproj 3.3.1, PyTorch 1.11.0, Qhull 2020.2,
Qt5 5.15.5, QuantumESPRESSO 7.1, Qwt 6.2.0, R 4.2.1, rasterio 1.2.10, Ray-project 1.13.0, RE2 2022-06-01,
redis-py 4.3.3, ReFrame 3.11.2, rioxarray 0.11.1, RNA-SeQC 2.4.2, Schrodinger 2022-2, Shapely 1.8.2, Siesta 4.1.5,
SimpleITK 2.1.1.2, SpectrA 1.0.1, TensorFlow 2.7.1, Tk 8.6.12, Tkinter 3.10.4, Transformers 4.20.1,
UCX-CUDA 1.12.1, utf8proc 2.7.0, WhatsHap 1.4, WPS 3.9.1, Xvfb 21.1.3
- minor enhancements, including:
- add extensions to R v4.2.0: hypergeo (#15701), rtdists (#15734), geeM (#15810)
- add patch for GCCcore 11.3.0 to support using -fuse-ld=mold (#15715)
- add patch for porefoam to fix hardcoded mpirun command and take into account $POREFOAM_MPIRUN_CMD (#15730)
- various bug fixes, including:
- switch to Rust 1.60.0 build dependency for bamtofastq, since build of fails with Rust 1.52.1 (#15636)
- avoid that pygmo v2.18.0 installs stuff in Python installation directory + add custom sanity check paths to pygmo easyconfigs (#15657)
- add patch for Mmg v5.6.0 to remove library CI tests that point to external sources (#15691)
- correct configopts in deal.II v9.1.1 easyconfig (#15692)
- add missing Python dependency for HPDBSCAN to fix unresolved %(pyshortver)s template (#15694)
- other changes:
- disable flaky GPU test for TensorFlow 2.6.0 (#15824)


v4.5.5 (June 8th 2022)
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
easyblock = 'PythonBundle'

name = 'Albumentations'
version = '1.1.0'
versionsuffix = '-CUDA-11.3.1'

homepage = 'https://albumentations.ai'
description = "Albumentations is a Python library for fast and flexible image augmentations"

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

dependencies = [
('Python', '3.9.5'),
('SciPy-bundle', '2021.05'),
('PyYAML', '5.4.1'),
('scikit-image', '0.18.3'),
('scikit-learn', '0.24.2'),
('OpenCV', '4.5.3', versionsuffix + '-contrib'),
('imgaug', '0.4.0', versionsuffix),
]

preinstallopts = "sed -i 's|CHOOSE_INSTALL_REQUIRES),|[]),|g' setup.py && "

use_pip = True

exts_list = [
('qudida', '0.0.4', {
'checksums': ['db198e2887ab0c9aa0023e565afbff41dfb76b361f85fd5e13f780d75ba18cc8'],
}),
('albumentations', version, {
'checksums': ['60b067b3093908bcc52adb2aa5d44f57ebdbb8ab57a47b0b42f3dc1d3b1ce824'],
}),
]

sanity_pip_check = True

moduleclass = 'vis'
Original file line number Diff line number Diff line change
@@ -0,0 +1,195 @@
easyblock = 'PythonBundle'

name = 'AlphaFold'
version = '2.2.2'
versionsuffix = '-CUDA-%(cudaver)s'

homepage = 'https://deepmind.com/research/case-studies/alphafold'
description = "AlphaFold can predict protein structures with atomic accuracy even where no similar structure is known"

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

builddependencies = [
# CMake/Doxygen/SWIG are required for building OpenMM
('CMake', '3.20.1'),
('Doxygen', '1.9.1'),
# required for installing dm-tree
('Bazel', '3.7.2'),
('SWIG', '4.0.2'),
]

dependencies = [
('Python', '3.9.5'),
('CUDA', '11.3.1', '', True),
('SciPy-bundle', '2021.05'),
('PyYAML', '5.4.1'),
('TensorFlow', '2.6.0', versionsuffix),
('Biopython', '1.79'),
('HH-suite', '3.3.0'),
('HMMER', '3.3.2'),
('Kalign', '3.3.1'),
('jax', '0.3.9', versionsuffix), # also provides absl-py
('UCX-CUDA', '1.10.0', versionsuffix),
('cuDNN', '8.2.1.32', versionsuffix, True),
('NCCL', '2.10.3', versionsuffix),
]
local_openmm_preinstallopts = "export OPENMM_INCLUDE_PATH=%(installdir)s/include && "
local_openmm_preinstallopts += " export OPENMM_LIB_PATH=%(installdir)s/lib && "

# required to install OpenMM Python API;
# avoid that setup.py partially uninstalls existing OpenMM Python bindings...
local_openmm_installopts = " && cd python && sed -i 's/uninstall()/pass/g' setup.py && "
local_openmm_installopts += "python setup.py build && python setup.py install --prefix=%(installdir)s"

# commit to use for downloading stereo_chemical_props.txt and copy to alphafold/common,
# see docker/Dockerfile in AlphaFold repository
local_scp_commit = '7102c6'

components = [
# for simtk
('OpenMM', '7.5.1', {
'easyblock': 'CMakeMake',
'source_urls': ['https://github.com/openmm/openmm/archive/'],
'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}],
'patches': [('OpenMM-%(version)s_AlphaFold.patch', 'wrappers/python')],
'checksums': [
'c88d6946468a2bde2619acb834f57b859b5e114a93093cf562165612e10f4ff7', # OpenMM-7.5.1.tar.gz
'1b109dfff3af5c6aa70690bca14618612953c68840a7e64f679db7ca33c1aff6', # OpenMM-7.5.1_AlphaFold.patch
],
'start_dir': 'openmm-%(version)s',
'preinstallopts': local_openmm_preinstallopts,
'installopts': local_openmm_installopts,
}),
(name, version, {
'easyblock': 'PythonPackage',
'source_urls': [
'https://github.com/deepmind/alphafold/archive/refs/tags/',
'https://git.scicore.unibas.ch/schwede/openstructure/-/raw/%s/modules/mol/alg/src/' % local_scp_commit,
],
'sources': [
{
'download_filename': 'v%(version)s.tar.gz',
'filename': SOURCE_TAR_GZ,
},
{
'download_filename': 'stereo_chemical_props.txt',
'filename': 'stereo_chemical_props-%s.txt' % local_scp_commit,
'extract_cmd': "cp %s .",
},
],
'patches': [
'AlphaFold-2.0.0_fix-packages.patch',
'AlphaFold-2.1.2_data-dep-paths.patch',
'AlphaFold-2.0.0_n-cpu.patch',
'AlphaFold-2.1.0_fix-scp-path.patch',
'AlphaFold-2.0.1_setup_rm_tfcpu.patch',
],
'checksums': [
'aa51dc4a1150b92310d20e63e9e4d9279b15b6a1f7e664360f52827f83256cdd', # v2.2.2.tar.gz
'24510899eeb49167cffedec8fa45363a4d08279c0c637a403b452f7d0ac09451', # stereo_chemical_props-7102c6.txt
'826d2d1a5d6ac52c51a60ba210e1947d5631a1e2d76f8815305b5d23f74458db', # AlphaFold-2.0.0_fix-packages.patch
'6af91706b2a001494ddc0947f89f8b3d3adfcc26177c373824fe8ea1a58c0b48', # AlphaFold-2.1.2_data-dep-paths.patch
'dfda4dd5f9aba19fe2b6eb9a0ec583d12dcefdfee8ab8803fc57ad48d582db04', # AlphaFold-2.0.0_n-cpu.patch
'5363d403baf5ab73f4d3ddd72e19af9ff832de4b1d7ba25a5fbcc5846c1c890f', # AlphaFold-2.1.0_fix-scp-path.patch
'1a2e4e843bd9a4d15ee39e6c37cc63ba281311cc7a0a5610f0e43b52ef93faac', # AlphaFold-2.0.1_setup_rm_tfcpu.patch
],
'start_dir': 'alphafold-%(version)s',
'use_pip': True,
}),
]

use_pip = True

exts_list = [
('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'],
}),
('toolz', '0.11.2', {
'checksums': ['6b312d5e15138552f1bda8a4e66c30e236c831b612b2bf0005f8a1df10a4bc33'],
}),
('chex', '0.1.3', {
'checksums': ['2cfa6ccd02addd6b113658d03bd5ce8a7b3bd24fa62e746a246073414ea1e103'],
}),
('tabulate', '0.8.10', {
'checksums': ['6c57f3f3dd7ac2782770155f3adb2db0b1a269637e42f27599925e64b114f519'],
}),
('jmp', '0.0.2', {
'preinstallopts': "touch requirements.txt && touch requirements-test.txt && ",
'checksums': ['fdb5cec0d10aab4116c2770f24b2adf4f503fcfbb96ce8ef583e1879bdbf1b9b'],
}),
('dm-haiku', '0.0.6', {
'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': ['bb038d7b6eae50ad8b59aecaad7b26180261f155c9a789d071133cb2596dc616'],
}),
('dm-tree', '0.1.7', {
'modulename': 'tree',
'checksums': ['30fec8aca5b92823c0e796a2f33b875b4dccd470b57e91e6c542405c5f77fd2a'],
}),
('websocket-client', '1.3.3', {
'modulename': 'websocket',
'checksums': ['d58c5f284d6a9bf8379dab423259fe8f85b70d5fa5d2916d5791a84594b122b1'],
}),
('docker', '5.0.3', {
'checksums': ['d916a26b62970e7c2f554110ed6af04c7ccff8e9f81ad17d0d40c75637e227fb'],
}),
('immutabledict', '2.2.1', {
'checksums': ['1ddb0edf1bb6c70d0197eb90ce1fe2b2d58502334f5fdfde72d7c633d723ec3a'],
}),
('contextlib2', '21.6.0', {
'checksums': ['ab1e2bfe1d01d968e1b7e8d9023bc51ef3509bba217bb730cee3827e1ee82869'],
}),
('ml_collections', '0.1.1', {
'preinstallopts': "touch requirements.txt && touch requirements-test.txt && ",
'checksums': ['3fefcc72ec433aa1e5d32307a3e474bbb67f405be814ea52a2166bfc9dbe68cc'],
}),
]

postinstallcmds = [
"mkdir -p %(installdir)s/bin",
# run_alphafold.py script is missing a shebang...
"echo '#!/usr/bin/env python' > %(installdir)s/bin/run_alphafold.py",
"cat %(builddir)s/alphafold-%(version)s/run_alphafold.py >> %(installdir)s/bin/run_alphafold.py",
"chmod a+x %(installdir)s/bin/run_alphafold.py",
"cd %(installdir)s/bin && ln -s run_alphafold.py alphafold",
"cp -a %(builddir)s/alphafold-%(version)s/scripts %(installdir)s/",
"cp %%(builddir)s/stereo_chemical_props-%s.txt %%(installdir)s/stereo_chemical_props.txt" % local_scp_commit,
# run tests for run_alphafold.py script;
# shouldn't do this in sanity check to avoid breaking use of --module-only
"PYTHONPATH=%(installdir)s/lib/python%(pyshortver)s/site-packages:$PYTHONPATH "
"python %(builddir)s/alphafold-%(version)s/run_alphafold_test.py",
]

sanity_check_paths = {
'files': ['bin/alphafold', 'bin/pdbfixer', 'bin/run_alphafold.py', 'lib/libOpenMM.%s' % SHLIB_EXT,
'lib/python%(pyshortver)s/site-packages/simtk/openmm/openmm.py', 'stereo_chemical_props.txt'],
'dirs': ['lib/python%(pyshortver)s/site-packages', 'scripts'],
}

sanity_check_commands = [
"pdbfixer --help",
"python -m simtk.testInstallation",
"python -c 'import alphafold'",
"alphafold --help 2>&1 | grep 'Full AlphaFold protein structure prediction script'",
]

sanity_pip_check = True

modextrapaths = {
'OPENMM_INCLUDE_PATH': 'include',
'OPENMM_LIB_PATH': 'lib',
}

# these allow to make predictions on proteins that would typically be too long to fit into GPU memory;
# see https://github.com/deepmind/alphafold/blob/main/docker/run_docker.py
modextravars = {
'TF_FORCE_UNIFIED_MEMORY': '1',
'XLA_PYTHON_CLIENT_MEM_FRACTION': '4.0',
# 'ALPHAFOLD_DATA_DIR': '/path/to/AlphaFold_DBs', # please adapt
'OPENMM_RELAX': 'CUDA' # unset or set to 'CPU' in order not to run the energy minimization on GPU; PR#189
}

moduleclass = 'bio'

0 comments on commit 798448d

Please sign in to comment.