Skip to content
Merged
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
41 changes: 41 additions & 0 deletions easybuild/easyconfigs/b/Biopython/Biopython-1.86-gfbf-2025b.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# Updated from previous easyconfig
# Author: Robert Mijakovic <robert.mijakovic@lxp.lu>
# Update: Pavel Tománek (INUITS)

easyblock = 'PythonPackage'

name = 'Biopython'
version = '1.86'

homepage = 'https://www.biopython.org'
description = """Biopython is a set of freely available tools for biological
computation written in Python by an international team of developers. It is
a distributed collaborative effort to develop Python libraries and
applications which address the needs of current and future work in
bioinformatics. """

toolchain = {'name': 'gfbf', 'version': '2025b'}

source_urls = ['https://biopython.org/DIST']
sources = [SOURCELOWER_TAR_GZ]
checksums = ['93a50b586a4d2cec68ab2f99d03ef583c5761d8fba5535cb8e81da781d0d92ff']

dependencies = [
('Python', '3.13.5'),
('SciPy-bundle', '2025.07'),
]

# Run only tests that don't require internet connection
runtest = 'python setup.py test --offline'

sanity_check_paths = {
'files': [],
'dirs': ['lib/python%(pyshortver)s/site-packages/Bio',
'lib/python%(pyshortver)s/site-packages/BioSQL']
}

sanity_check_commands = ["python -c 'import Bio.motifs'"]

options = {'modulename': 'Bio'}

moduleclass = 'bio'
73 changes: 73 additions & 0 deletions easybuild/easyconfigs/m/MDAnalysis/MDAnalysis-2.10.0-foss-2025b.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
easyblock = 'PythonBundle'

name = 'MDAnalysis'
version = '2.10.0'

homepage = 'https://www.mdanalysis.org/'
description = """MDAnalysis is an object-oriented Python library to analyze trajectories from molecular dynamics (MD)
simulations in many popular formats."""

toolchain = {'name': 'foss', 'version': '2025b'}

builddependencies = [
('Cython', '3.1.2'),
]
dependencies = [
('Python', '3.13.5'),
('Python-bundle-PyPI', '2025.07'),
('SciPy-bundle', '2025.07'),
('matplotlib', '3.10.5'),
('tqdm', '4.67.1'),
('mrcfile', '1.5.4'), # needed by GridDataFormats
('Biopython', '1.86'), # optional
('networkx', '3.5'), # optional
('Seaborn', '0.13.2'), # optional
('scikit-learn', '1.7.1'), # optional
('hypothesis', '6.136.6'), # tests
]

exts_list = [
('GridDataFormats', '1.0.2', {
'modulename': 'gridData',
'checksums': ['b93cf7f36fce33dbc428026f26dba560d5c7ba2387caca495bad920f90094502'],
}),
('mmtf-python', '1.1.3', {
'modulename': 'mmtf',
'checksums': ['12a02fe1b7131f0a2b8ce45b46f1e0cdd28b9818fe4499554c26884987ea0c32'],
}),
('mda_xdrlib', '0.2.0', {
'checksums': ['f26f7158a83c32b96d15b530fce2cbc1190c4b7024e41faa4ab3e3db74e272af'],
}),
('tidynamics', '1.1.2', {
'checksums': ['103874edd79dc64a0c7b765f51200926822e74df63703acb6c630a8167dbcfa2'],
}),
('waterdynamics', '1.2.0', {
'sources': ['%(name)s-%(version)s-py3-none-any.whl'],
'checksums': ['8a9eb7e7ad44e2abf9e2542661b2d7b371d8ab6474113a301968e4bf78d4432d'],
}),
('pathsimanalysis', '1.2.0', {
'sources': ['%(name)s-%(version)s-py3-none-any.whl'],
'checksums': ['0edce2fd1a55a788ef80b3666f9704455c01f06719f516fec20215fb9e16e291'],
}),
('mdahole2', '0.5.0', {
'sources': ['%(name)s-%(version)s-py3-none-any.whl'],
'checksums': ['6b7a9be247cd99331e8840c9012d0ed7a86874fe110983bbaed00eb39459e7a8'],
}),
('mdanalysistests', version, {
'modulename': 'MDAnalysisTests',
'checksums': ['286b8678e19195093a19b57b26d76b8274415d33ac23fc872355639fcb49beef'],
}),
('mdanalysis', version, {
'modulename': 'MDAnalysis',
'use_pip_extras': 'analysis',
'checksums': ['5cef1f1eba4b25cbf9dd4045f08eeab293bb9577b970aa96132f14491312d877'],
}),
]

sanity_check_commands = [
"export OMP_NUM_THREADS=1 OPENBLAS_NUM_THREADS=1 && "
"pytest --disable-pytest-warnings --numprocesses %(parallel)s "
"--pyargs MDAnalysisTests -p no:warnings --dist=loadscope"
]

moduleclass = 'bio'
44 changes: 44 additions & 0 deletions easybuild/easyconfigs/m/MDTraj/MDTraj-1.11.0-foss-2025b.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
easyblock = 'PythonBundle'

name = 'MDTraj'
version = '1.11.0'

homepage = 'https://mdtraj.org'
description = "Read, write and analyze MD trajectories with only a few lines of Python code."

toolchain = {'name': 'foss', 'version': '2025b'}
toolchainopts = {'openmp': True}

builddependencies = [('Cython', '3.1.2')]

dependencies = [
('zlib', '1.3.1'),
('Python', '3.13.5'),
('Python-bundle-PyPI', '2025.07'),
('SciPy-bundle', '2025.07'),
('netcdf4-python', '1.7.2'), # optional+tests
('networkx', '3.5'), # optional+tests
('PyTables', '3.10.2'), # optional+tests
]

exts_list = [
('pyparsing', '3.2.5', {
'checksums': ['2df8d5b7b2802ef88e8d016a2eb9c7aeaa923529cd251ed0fe4608275d4105b6'],
}),
('gsd', '4.2.0', {
'checksums': ['eb197abd735e98817bcdc1ee34e4968231d572da48c097b3ccf316be828cf86a'],
}),
('pytest_rerunfailures', '16.1', {
'checksums': ['c38b266db8a808953ebd71ac25c381cb1981a78ff9340a14bcb9f1b9bff1899e'],
}),
('mdtraj', version, {
'runtest': "cd tests && pytest -v --numprocesses %(parallel)s",
'source_urls': ['https://github.com/mdtraj/mdtraj/archive/'],
'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': '%(name)s-%(version)s-github.tar.gz'}],
'testinstall': True,
'use_pip_extras': 'optional',
'checksums': ['fefca787f882d0716a7aeb01b4d8e30caddbd2be0b2893acfa7201c31d13c786'],
}),
]

moduleclass = 'chem'
39 changes: 39 additions & 0 deletions easybuild/easyconfigs/m/mrcfile/mrcfile-1.5.4-gfbf-2025b.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# Thomas Hoffmann, EMBL Heidelberg, structures-it@embl.de, 2025/03
easyblock = 'PythonPackage'

name = 'mrcfile'
version = '1.5.4'

homepage = 'https://github.com/ccpem/mrcfile'
description = """mrcfile is a Python implementation of the MRC2014 file format, which is used in
structural biology to store image and volume data.

It allows MRC files to be created and opened easily using a very simple API,
which exposes the file’s header and data as numpy arrays. The code runs in
Python 2 and 3 and is fully unit-tested.

This library aims to allow users and developers to read and write standard-
compliant MRC files in Python as easily as possible, and with no dependencies on
any compiled libraries except numpy. You can use it interactively to inspect
files, correct headers and so on, or in scripts and larger software packages to
provide basic MRC file I/O functions. """

toolchain = {'name': 'gfbf', 'version': '2025b'}

sources = [SOURCELOWER_TAR_GZ]
checksums = ['8fa9eb2e237d87d99b301c61bf02854dd85a451db25eefcbe142c09b36d8d601']

dependencies = [
('Python', '3.13.5'),
('SciPy-bundle', '2025.07'),
]

testinstall = True
runtest = 'pytest -vvvs tests'

sanity_check_paths = {
'files': [],
'dirs': ['lib/python%(pyshortver)s/site-packages/%(namelower)s']
}

moduleclass = 'bio'
48 changes: 48 additions & 0 deletions easybuild/easyconfigs/n/nglview/nglview-4.0-foss-2025b.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
easyblock = 'PythonBundle'

name = 'nglview'
version = '4.0'

homepage = 'https://github.com/arose/nglview'
description = "IPython widget to interactively view molecular structures and trajectories."

toolchain = {'name': 'foss', 'version': '2025b'}

builddependencies = [
('nodejs', '22.17.1'),
]

dependencies = [
('Python', '3.13.5'),
('Python-bundle-PyPI', '2025.07'),
('SciPy-bundle', '2025.07'),
('JupyterLab', '4.4.9'),
('JupyterNotebook', '7.4.7'),
('ASE', '3.26.0'), # optional
('MDAnalysis', '2.10.0'), # optional
('MDTraj', '1.11.0'), # optional
]

local_pytest_cmd = (
"pytest -v "
"--deselect tests/test_show.py::test_show_schrodinger "
"--deselect tests/test_widget.py::test_existing_js_files "
"--deselect tests/test_movie_maker.py::test_movie_maker "
"tests"
)

exts_list = [
(name, version, {
'use_pip_extras': 'ase,MDAnalysis,mdtraj',
# unpin numpy - pinned due to ParmEd
# https://github.com/ParmEd/ParmEd/issues/1406
'preinstallopts': "sed -i 's/numpy<2.3/numpy/' setup.py && ",
'testinstall': True,
'runtest': local_pytest_cmd,
'checksums': ['2c0cff2c5b1e2a0a72e3393087ce44ae0308524c5aa5f95357812d3edbc26e83'],
}),
]

modextrapaths = {'EB_ENV_JUPYTER_ROOT': ''}

moduleclass = 'chem'
72 changes: 72 additions & 0 deletions easybuild/easyconfigs/p/PyTables/PyTables-3.10.2-foss-2025b.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
easyblock = 'PythonBundle'

name = 'PyTables'
version = '3.10.2'

homepage = 'https://www.pytables.org'
description = """PyTables is a package for managing hierarchical datasets and designed to efficiently and easily cope
with extremely large amounts of data. PyTables is built on top of the HDF5 library, using the Python language and the
NumPy package. It features an object-oriented interface that, combined with C extensions for the performance-critical
parts of the code (generated using Cython), makes it a fast, yet extremely easy to use tool for interactively browsing,
processing and searching very large amounts of data. One important feature of PyTables is that it optimizes memory and
disk resources so that data takes much less space (specially if on-flight compression is used) than other solutions
such as relational or object oriented databases."""

toolchain = {'name': 'foss', 'version': '2025b'}
toolchainopts = {'usempi': True}

builddependencies = [
('pkgconf', '2.4.3'),
('CMake', '4.0.3'),
('Cython', '3.1.2'),
('scikit-build-core', '0.11.5'),
]

dependencies = [
('Python', '3.13.5'),
('Python-bundle-PyPI', '2025.07'),
('SciPy-bundle', '2025.07'),
('HDF5', '1.14.6'),
('LZO', '2.10'),
('Blosc', '1.21.6'),
('Blosc2', '2.19.0'),
('py-cpuinfo', '9.0.0'),
]

exts_list = [
('ndindex', '1.10.0', {
'checksums': ['20e3a2f0a8ed4646abf0f13296aab0b5b9cc8c5bc182b71b5945e76eb6f558bb'],
}),
('blosc2', '3.6.1', {
'preinstallopts': "USE_SYSTEM_BLOSC2=ON ",
'runtest': "pytest -v",
'testinstall': True,
'checksums': ['0b6f05311fbee9e9dc23bd7f53a8690af3b60eef640a059f1eb624ca6699cc59'],
}),
('tables', version, {
'patches': [
'PyTables-3.8.0_fix-libs.patch',
'PyTables-3.9.2_fix-find-blosc2-dep.patch',
],
'runtest': "cd .. && python -m tables.tests.test_all",
'testinstall': True,
'checksums': [
{'tables-3.10.2.tar.gz': '2544812a7186fadba831d6dd34eb49ccd788d6a83f4e4c2b431b835b6796c910'},
{'PyTables-3.8.0_fix-libs.patch': '7a1e6fa1f9169e52293e2b433a4302fa13c5d31e7709cd4fe0e087199b9e3f8a'},
{'PyTables-3.9.2_fix-find-blosc2-dep.patch':
'e2149f43da12d9ba26cca4c838f6e8a4694adab75c0f055b186674a017e41a55'},
],
}),
]

local_bins = ['pt2to3', 'ptdump', 'ptrepack', 'pttree']
sanity_check_paths = {
'files': ['bin/%s' % x for x in local_bins],
'dirs': ['lib/python%(pyshortver)s/site-packages'],
}

options = {'modulename': 'tables'}

sanity_check_commands = ["%s --help" % x for x in local_bins]

moduleclass = 'data'