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
40 changes: 40 additions & 0 deletions easybuild/easyconfigs/a/anndata/anndata-0.11.4-foss-2024a.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
easyblock = 'PythonBundle'

name = 'anndata'
version = '0.11.4'

homepage = 'https://github.com/scverse/anndata'
description = """anndata is a Python package for handling annotated data matrices in memory and on disk,
positioned between pandas and xarray"""

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

builddependencies = [('hatchling', '1.24.2')]
dependencies = [
('Python', '3.12.3'),
('Python-bundle-PyPI', '2024.06'),
('SciPy-bundle', '2024.05'),
('h5py', '3.12.1'),
('setuptools', '80.9.0'),
]

exts_list = [
('array_api_compat', '1.12.0', {
'checksums': ['585bc615f650de53ac24b7c012baecfcdd810f50df3573be47e6dd9fa20df974'],
}),
('natsort', '8.4.0', {
'checksums': ['45312c4a0e5507593da193dedd04abb1469253b601ecaf63445ad80f0a1ea581'],
}),
(name, version, {
'checksums': ['4ce08d09d2ccb5f37d32790363bbcc7fc1b79863842296ae4badfaf48c736e24'],
}),
]

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

sanity_check_commands = ["natsort --help"]

moduleclass = 'bio'
27 changes: 27 additions & 0 deletions easybuild/easyconfigs/l/Lightning/Lightning-2.5.2-foss-2024a.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
easyblock = 'PythonPackage'

name = 'Lightning'
version = '2.5.2'

homepage = 'https://github.com/Lightning-AI/pytorch-lightning'
description = """
The deep learning framework to pretrain, finetune and deploy AI models.
Lightning has 4 core packages:
PyTorch Lightning: Train and deploy PyTorch at scale.
Lightning Fabric: Expert control.
Lightning Data: Blazing fast, distributed streaming of training data from cloud storage.
Lightning Apps: Build AI products and ML workflows.
"""

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

sources = [SOURCELOWER_TAR_GZ]
checksums = ['9550df613cfb22358ebf77b4a8ad45f3767cd7d26ba2d52b7f036bd3cdd701c4']

dependencies = [
('Python', '3.12.3'),
('PyTorch', '2.6.0'),
('PyTorch-Lightning', version),
]

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

name = 'ml-collections'
version = '1.1.0'

homepage = 'https://github.com/google/ml_collections'
description = """
ML Collections is a library of Python Collections designed for ML use cases.
"""

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

builddependencies = [('hatchling', '1.24.2')]
dependencies = [
('Python', '3.12.3'),
('SciPy-bundle', '2024.05'),
('PyYAML', '6.0.2'),
('absl-py', '2.1.0'),
]

exts_list = [
('ml_collections', version, {
'checksums': ['0ac1ac6511b9f1566863e0bb0afad0c64e906ea278ad3f4d2144a55322671f6f'],
}),
]

moduleclass = 'vis'
39 changes: 39 additions & 0 deletions easybuild/easyconfigs/p/pyro-ppl/pyro-ppl-1.9.1-foss-2024a.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
easyblock = 'PythonBundle'

name = 'pyro-ppl'
version = '1.9.1'

homepage = 'https://github.com/pyro-ppl/pyro'
description = "Pyro is a flexible, scalable deep probabilistic programming library built on PyTorch."

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

builddependencies = [('hatchling', '1.24.2')]
dependencies = [
('Python', '3.12.3'),
('SciPy-bundle', '2024.05'),
('PyTorch', '2.6.0'),
('tqdm', '4.66.5'),
]

exts_list = [
('opt_einsum', '3.4.0', {
'checksums': ['96ca72f1b886d148241348783498194c577fa30a8faac108586b14f1ba4473ac'],
}),
('pyro-api', '0.1.2', {
'modulename': 'pyroapi',
'checksums': ['a1b900d9580aa1c2fab3b123ab7ff33413744da7c5f440bd4aadc4d40d14d920'],
}),
(name, version, {
'modulename': 'pyro',
'checksums': ['5e1596de276c038a3f77d2580a90d0a97126e0104900444a088eee620bb0d65e'],
}),
]

sanity_check_commands = [
"python -c 'from pyroapi import distributions as dist'",
"python -c 'from pyroapi import infer, ops, optim, pyro, pyro_backend'",
"python -c 'from pyro import infer, nn, distributions'",
]

moduleclass = 'tools'
58 changes: 58 additions & 0 deletions easybuild/easyconfigs/s/scanpy/scanpy-1.10.4-foss-2024a.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
easyblock = 'PythonBundle'

name = 'scanpy'
version = '1.10.4'

homepage = 'https://scanpy.readthedocs.io/en/stable/'
description = """Scanpy is a scalable toolkit for analyzing single-cell gene expression data built
jointly with anndata. It includes preprocessing, visualization, clustering, trajectory inference
and differential expression testing. The Python-based implementation efficiently deals with
datasets of more than one million cells.
"""

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

builddependencies = [('hatchling', '1.24.2')]
dependencies = [
('Python', '3.12.3'),
('SciPy-bundle', '2024.05'),
('matplotlib', '3.9.2'),
('Seaborn', '0.13.2'),
('h5py', '3.12.1'),
('tqdm', '4.66.5'),
('scikit-learn', '1.5.2'),
('statsmodels', '0.14.4'),
('networkx', '3.4.2'),
('numba', '0.60.0'),
('umap-learn', '0.5.7'),
('anndata', '0.11.4'),
]

exts_list = [
('stdlib_list', '0.11.0', {
'checksums': ['b74a7b643a77a12637e907f3f62f0ab9f67300bce4014f6b2d3c8b4c8fd63c66'],
}),
('session-info', '1.0.0', {
'sources': ['session_info-%(version)s.tar.gz'],
'checksums': ['3cda5e03cca703f32ae2eadbd6bd80b6c21442cfb60e412c21cb8ad6d5cbb6b7'],
}),
('legacy_api_wrap', '1.4.1', {
'checksums': ['9c40d67aa8312fec8763e87cbf28fea4b67710c79ca7a18137b573d150f3b2b4'],
}),
(name, version, {
'checksums': ['2682fbbe2e4106c349472feebef08e174062fb666db4c94123758c6a7a470396'],
}),
]

sanity_check_paths = {
'files': ['bin/scanpy'],
'dirs': ['lib/python%(pyshortver)s/site-packages'],
}
Comment thread
boegel marked this conversation as resolved.

sanity_check_commands = [
"natsort --help",
"scanpy --help",
]

moduleclass = 'bio'
77 changes: 77 additions & 0 deletions easybuild/easyconfigs/s/scvi-tools/scvi-tools-1.4.1-foss-2024a.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
easyblock = 'PythonBundle'

name = 'scvi-tools'
version = '1.4.1'

homepage = 'https://github.com/scverse/scvi-tools'
description = """scvi-tools (single-cell variational inference tools) is a package for probabilistic modeling and
analysis of single-cell omics data, built on top of PyTorch and AnnData."""

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

builddependencies = [
('hatchling', '1.27.0'),
('coverage', '7.9.2'),
('captum', '0.8.0'),
]
dependencies = [
('Python', '3.12.3'),
('SciPy-bundle', '2024.05'),
('PyTorch', '2.6.0'),
('PyTorch-Lightning', '2.5.2'),
('Lightning', '2.5.2'),
('anndata', '0.11.4'),
('matplotlib', '3.9.2'),
('scikit-learn', '1.5.2'),
('tqdm', '4.66.5'),
('h5py', '3.12.1'),
('pyro-ppl', '1.9.1'),
('ml-collections', '1.1.0'),
('numba', '0.60.0'),
('scanpy', '1.10.4'),
('tensorboard', '2.18.0'),
('xarray', '2024.11.0'),
]

# avoid srun problem
# https://github.com/easybuilders/easybuild-easyconfigs/pull/25021#issuecomment-3744728157
local_test_command = 'export SLURM_NTASKS_PER_NODE=$SLURM_NTASKS && '
local_test_command += 'pytest -vs tests '
# skip tests required optional dependencies
local_test_command += (
'--ignore=tests/external/mrvi_jax '
'--ignore=tests/external/tangram '
'--ignore=tests/model/test_jaxscvi.py '
'--ignore=tests/hub '
'--ignore=tests/criticism '
'--ignore=tests/external/cytovi '
'--deselect=tests/data/test_anndata.py::test_anntorchdataset_dask '
'--deselect tests/model/test_multivi.py::test_multivi_mudata_rna_atac '
)

exts_list = [
('packaging', '25.0', {
'checksums': ['d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f'],
}),
('pytest_pretty', '1.3.0', {
'checksums': ['97e9921be40f003e40ae78db078d4a0c1ea42bf73418097b5077970c2cc43bf3'],
}),
('mudata', '0.3.2', {
'checksums': ['c9b24f2429f369512f38e48599e341e7684abcf769df277e473700d4f1212740'],
}),
('sparse', '0.17.0', {
'checksums': ['6b1ad51a810c5be40b6f95e28513ec810fe1c785923bd83b2e4839a751df4bf7'],
}),
('docrep', '0.3.2', {
'checksums': ['ed8a17e201abd829ef8da78a0b6f4d51fb99a4cbd0554adbed3309297f964314'],
}),
(name, version, {
'modulename': 'scvi',
'runtest': local_test_command,
'sources': ['scvi_tools-%(version)s.tar.gz'],
'testinstall': True,
'checksums': ['ee75eaac665618b9ee6fa466f6353ef68eb33cd3d7e2c77069e743471ca2103a'],
}),
]

moduleclass = 'bio'
2 changes: 2 additions & 0 deletions test/easyconfigs/easyconfigs.py
Original file line number Diff line number Diff line change
Expand Up @@ -553,6 +553,8 @@ def check_dep_vars(self, gen, dep, dep_vars):

# some software packages require a specific (older/newer) version of a particular dependency
alt_dep_versions = {
# scanpy-1.10.4 and scvi-tools-1.4.1 requires anndata >= 0.11
'anndata': [(r'0\.11\.4', [r'scvi-tools-1.4.1-', r'scanpy-1.10.4-'])],
# arrow-R 6.0.0.2 is used for two R/R-bundle-Bioconductor sets (4.1.2/3.14 and 4.2.0/3.15)
'arrow-R': [('6.0.0.2', [r'R-bundle-Bioconductor-'])],
# BRAKER 3.0.8 depends on AUGUSTUS 3.5.0-20240612
Expand Down