Skip to content

Commit

Permalink
#214 add scib-metrics + pertpy
Browse files Browse the repository at this point in the history
  • Loading branch information
pavelToman committed Jun 4, 2024
1 parent 3c34836 commit c0938b4
Show file tree
Hide file tree
Showing 3 changed files with 107 additions and 42 deletions.
39 changes: 24 additions & 15 deletions 214_Single-cell_python_bundle/bundle.eb
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@ dependencies = [
('Seaborn', '0.13.2'),
('PyTorch', '2.1.2'),
('scanpy', '1.9.8'),
# scib-metrics TODO
('scib', '1.1.4'),
('scVelo', '0.3.1'), # imports loompy
('CellTypist', '1.6.2'),
Expand All @@ -37,6 +36,7 @@ dependencies = [
('Cassiopeia', '2.0.0'),
('scvi-tools', '1.1.2'),
('scArches', '0.6.1'),
('scib-metrics', '0.5.1'),
# deps for exts:
('umap-learn', '0.5.5'), # bbknn
('scikit-learn', '1.3.1'), # bbknn, sc_toolbox
Expand All @@ -45,6 +45,7 @@ dependencies = [
('adjustText', '1.1.1'), # sc_toolbox, created
('python-parasail', '1.3.4'), # scirpy
('graph-tool', '2.59'), # schist
('Pyomo', '6.7.3'), # pertpy
]

# DEPS to add:
Expand All @@ -65,19 +66,12 @@ dependencies = [
# arrow 1.3.0 requires types-python-dateutil OK exts
# Altair OK
# altair 5.2.0 requires toolz OK exts
# Pertpy NO - needs scvi-tools
# pertpy 0.6.0 requires decoupler, which is not installed. -> Do decoupler first
# pertpy 0.6.0 requires ipywidgets, which is not installed.
# pertpy 0.6.0 requires muon, which is not installed.
# pertpy 0.6.0 requires numpyro, which is not installed.
# pertpy 0.6.0 requires ott-jax, which is not installed.
# pertpy 0.6.0 requires plotnine, which is not installed.
# pertpy 0.6.0 requires scvi-tools, which is not installed.
# pertpy 0.6.0 requires sparsecca, which is not installed.
# pertpy 0.6.0 requires toytree OK exts
# ('pertpy', '0.6.0', {
# 'checksums': ['0f9ed443a74a07ab8cd0fb6d2d06275df30ec836c161124b83c9505b7cab182b'],
# }),
# Pertpy
# pertpy 0.6.0 requires ott-jax, ok exts
# pertpy 0.6.0 requires sparsecca, ok exts
# ott-jax 0.4.6 requires jaxopt ok exts
# ott-jax 0.4.6 requires lineax ok exts
# sparsecca 0.3.1 requires pyomo -> created OK
# tascCODA OK
# tasccoda 0.1.3 requires tensorflow-probability OK in scCoda -> delete TF-prob. from setup.py as in scCoda
# strip out tensorflow-probability as required dependency, to ensure that 'pip check' passes
Expand Down Expand Up @@ -144,7 +138,7 @@ dependencies = [
# should be ok in exts
# ('decoupler', '1.6.0'),
# contrastiveVI
# Schist
# Schist OK
# not has pipy source -> github
# missing graph_tool -> create
# graph_tool.all.Graph
Expand Down Expand Up @@ -314,6 +308,21 @@ exts_list = [
'source_urls': ['https://github.com/dawe/schist/archive/'],
'checksums': ['9b98ec9d85554573288c24f18c4791ba7c4d315397cbc422ea25d4a7cdd42e6d'],
}),
('lineax', '0.0.5', {
'checksums': ['ed41098dbd94b639287f15682e19cd9ec1dc9ecad6844ee861536044a0e3285c'],
}),
('jaxopt', '0.8.3', {
'checksums': ['4b06dfa6f915a4f3291699606245af6069371a48dc5c92d4c507840d62990646'],
}),
('ott_jax', '0.4.6', {
'checksums': ['bc91f8d512cdb344439f5584712d76cd0650b6716b6686d53b828cc67abdbcba'],
}),
('sparsecca', '0.3.1', {
'checksums': ['be1526baebac5ce6efbc7190fd62a1cec13288c493f5d427024f66ca6afaec13'],
}),
('pertpy', '0.6.0', {
'checksums': ['0f9ed443a74a07ab8cd0fb6d2d06275df30ec836c161124b83c9505b7cab182b'],
}),
]

use_pip = True
Expand Down
34 changes: 34 additions & 0 deletions 214_Single-cell_python_bundle/pyomo.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
easyblock = 'PythonBundle'

name = 'Pyomo'
version = '6.7.3'

homepage = 'https://www.pyomo.org/'
description = """ Pyomo is a Python-based open-source software package that supports a diverse set of optimization
capabilities for formulating and analyzing optimization models. """

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

dependencies = [
('Python', '3.11.3'),
('Python-bundle-PyPI', '2023.06'),
('mpi4py', '3.1.4'),
('PLY', '3.11'),
]

exts_list = [
('PyUtilib', '6.0.0', {
'preinstallopts': """sed -i "s/'nose',//g" setup.py && """,
'checksums': ['d3c14f8ed9028a831b2bf51b8ab7776eba87e66cfc58a06b99c359aaa640f040'],
}),
(name, version, {
'checksums': ['b7f0441c405af4f42f38527ae38826a5c0a4984dd7bea1fe07172789d8594770'],
}),
]

use_pip = True
sanity_pip_check = True

sanity_check_commands = ['pyomo -h']

moduleclass = 'math'
Original file line number Diff line number Diff line change
Expand Up @@ -8,38 +8,41 @@ description = "Accelerated and Python-only metrics for benchmarking single-cell

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

builddependencies = [
('hatchling', '1.18.0'),
('poetry', '1.5.1'),
]
dependencies = [
('Python', '3.11.3'),
('SciPy-bundle', '2023.07'),
('anndata', '0.10.5.post1'),
# ('matplotlib', '3.4.2'),
# ('jax', '0.3.9'),
# ('scikit-learn', '0.24.2'),
# ('anndata', '0.9.2'),
# ('python-igraph', '0.9.6'),
# ('scanpy', '1.8.1'),
# ('tqdm', '4.61.2'),
# ('dm-tree', '0.1.6'),
('jax', '0.4.25'),
('scikit-learn', '1.3.1'),
('scanpy', '1.9.8'),
('python-igraph', '0.11.4'),
('matplotlib', '3.7.2'),
('tqdm', '4.66.1'),
('umap-learn', '0.5.5'),
]

# "anndata", OK
# "chex",
# "jax",
# "jaxlib",
# "numpy",
# "pandas",
# "scipy",
# "scikit-learn",
# "scanpy>=1.9",
# "rich",
# "pynndescent",
# "igraph>0.9.0",
# "matplotlib",
# "plottable",
# "tqdm",
# "umap-learn>=0.5.0",
# "chex", ok exts
# "jax", OK
# "jaxlib", OK in jax
# "numpy", OK
# "pandas", OK
# "scipy", OK
# "scikit-learn", OK
# "scanpy>=1.9", OK
# "rich", ok exts
# "pynndescent", ok exts
# "igraph>0.9.0", OK
# "matplotlib", OK
# "plottable", ok exts
# "tqdm", OK
# "umap-learn>=0.5.0", OK

# use_pip = True
use_pip = True

# # avoid hatchling requirement to install scib-metrics
# local_preinstallopts_scib_metrics = """sed -i -e 's/^build-backend = .*/build-backend = "setuptools.build_meta"/g' """
Expand All @@ -48,8 +51,27 @@ dependencies = [
# local_preinstallopts_scib_metrics += "-e '/igraph/d' pyproject.toml && "

exts_list = [
('chex', '0.1.85'),
('toolz', '0.12.1', {
'checksums': ['ecca342664893f177a13dac0e6b41cbd8ac25a358e5f215316d43e2100224f4d'],
}),
('plottable', '0.1.5', {
'checksums': ['235d762a31c82129dc5bf74205c103a14b1e4393d0f921cc0231be5de884041d'],
}),
('pynndescent', '0.5.11', {
'checksums': ['6f44ced9d5a9da2c87d9b2fff30bb5308540c0657605e4d5cde7ed3275bbad50'],
}),
('rich', '13.7.1', {
'checksums': ['9be308cb1fe2f1f57d67ce99e95af38a1e2bc71ad9813b0e247cf7ffbcc3a432'],
}),
('chex', '0.1.86', {
'checksums': ['e8b0f96330eba4144659e1617c0f7a57b161e8cbb021e55c6d5056c7378091d1'],
}),
(name, version, {
'sources': ['scib_metrics-%(version)s.tar.gz'],
'checksums': ['74d10251acf1c11402b994faf063e55317881d7950fb78f6cef011d232a1e266'],
}),
]

# # more recent setuptools required because scib-metrics uses pyproject.toml
# ('setuptools', '68.1.2', {
# 'checksums': ['3d4dfa6d95f1b101d695a6160a7626e15583af71a5f52176efa5d39a054d475d'],
Expand Down Expand Up @@ -87,6 +109,6 @@ exts_list = [
# }),
# ]

# sanity_pip_check = True
sanity_pip_check = True

# moduleclass = 'bio'
moduleclass = 'bio'

0 comments on commit c0938b4

Please sign in to comment.