Skip to content

Commit

Permalink
Merge pull request #21694 from PetrKralCZ/20241017190952_new_pr_scTIE…
Browse files Browse the repository at this point in the history
…20231205

{bio,lib,math}[foss/2023a] scTIE v20231205, POT v0.9.3, CVXOPT v1.3.2 w/ CUDA 12.1.1
  • Loading branch information
boegel authored Nov 13, 2024
2 parents 2bdb0dc + d153d6e commit ddfb3d4
Show file tree
Hide file tree
Showing 3 changed files with 142 additions and 0 deletions.
49 changes: 49 additions & 0 deletions easybuild/easyconfigs/c/CVXOPT/CVXOPT-1.3.2-foss-2023a.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
easyblock = 'PythonPackage'

name = 'CVXOPT'
version = '1.3.2'

homepage = 'https://cvxopt.org'
description = """CVXOPT is a free software package for convex optimization based on the Python programming language.
Its main purpose is to make the development of software for convex optimization applications straightforward by
building on Python's extensive standard library and on the strengths of Python as a high-level programming language.
"""

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

source_urls = [PYPI_LOWER_SOURCE]
sources = [SOURCELOWER_TAR_GZ]

patches = ['CVXOPT-1.3.1_fix-setup-py.patch']

checksums = [
'3461fa42c1b2240ba4da1d985ca73503914157fc4c77417327ed6d7d85acdbe6', # cvxopt-1.3.2.tar.gz
'350904c0427d4652fc73b95b7e0d78a17c917cb94ed6c356dbbbfb07f2173849', # CVXOPT-1.3.1_fix-setup-py.patch
]

dependencies = [
('Python', '3.11.3'),
('SuiteSparse', '7.1.0'),
('GSL', '2.7'),
]

use_pip = True
sanity_pip_check = True
download_dep_fail = True

preinstallopts = " ".join([
'CVXOPT_BUILD_FFTW=1',
'CVXOPT_BUILD_GSL=1',
'CVXOPT_BLAS_EXTRA_LINK_ARGS="$LIBBLAS"',
'CVXOPT_LAPACK_EXTRA_LINK_ARGS="$LIBLAPACK"',
'CVXOPT_FFTW_EXTRA_LINK_ARGS="$LIBFFT"',
'CVXOPT_SUITESPARSE_LIB_DIR=$EBROOTSUITESPARSE/lib',
'CVXOPT_SUITESPARSE_INC_DIR=$EBROOTSUITESPARSE/include',
])

installopts = ' --no-binary cvxopt'

sanity_check_commands = ['cd %(builddir)s/%(namelower)s-%(version)s && python -m unittest discover -s tests']

moduleclass = 'math'
47 changes: 47 additions & 0 deletions easybuild/easyconfigs/p/POT/POT-0.9.3-foss-2023a-CUDA-12.1.1.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
easyblock = 'PythonBundle'

name = 'POT'
version = '0.9.3'
versionsuffix = '-CUDA-%(cudaver)s'

homepage = 'https://github.com/rflamary/POT'
description = """POT (Python Optimal Transport) is a Python library provide several solvers for optimization problems
related to Optimal Transport for signal, image processing and machine learning."""

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

dependencies = [
('Python', '3.11.3'),
('matplotlib', '3.7.2'),
('scikit-learn', '1.3.1'),
('CUDA', '12.1.1', '', SYSTEM),
('PyTorch', '2.1.2', versionsuffix),
('jax', '0.4.25', versionsuffix),
('CVXOPT', '1.3.2'),
]

use_pip = True
sanity_pip_check = True

exts_list = [
('autograd', '1.7.0', {
'source_tmpl': SOURCE_PY3_WHL,
'checksums': ['49680300f842f3a8722b060ac0d3ed7aca071d1ad4d3d38c9fdadafdcc73c30b'],
}),
('versioneer', '0.29', {
'source_tmpl': SOURCE_PY3_WHL,
'checksums': ['0f1a137bb5d6811e96a79bb0486798aeae9b9c6efc24b389659cebb0ee396cb9'],
}),
('pymanopt', '2.2.1', {
# Requirements forbid some versions of `scipy` which are known to have a bug but we have fixed it.
# see `scipy-1.11.1_vectorization_error.patch`
'preinstallopts': """sed -i 's/"scipy>=1.0[^"]*"/"scipy>=1.0"/g' pyproject.toml && """,
'checksums': ['c784929a436eb06d73371b53ae5db3cdc19c5e60280f8131553bc805cbf7a1da'],
}),
(name, version, {
'modulename': 'ot',
'checksums': ['eecf2394390a73472e727ef75f7c801fc47509039f00c40f8fc64fdeea617c86'],
}),
]

moduleclass = 'lib'
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
easyblock = 'Tarball'

name = 'scTIE'
version = '20231205'
local_commit = '044d91a'
versionsuffix = '-CUDA-%(cudaver)s'

homepage = 'https://github.com/SydneyBioX/scTIE'
description = """scTIE (single-cell Temporal Integration and inference of multimodal Experiments)
is an autoencoder-based method for integrating multimodal profiling of scRNA-seq and scATAC-seq
data over a time course and inferring cell-type specific GRNs. scTIE projects cells from all time
points into a common embedding space, followed by extracting interpretable information from this
space to predict cell trajectories."""

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

github_account = 'SydneyBioX'
source_urls = [GITHUB_SOURCE]
sources = ['%s.tar.gz' % local_commit]
checksums = ['bcbf7c846539d0f04e7bbf3cc6ae2fe075a4ba11e3a4388c29def943d39af53e']

dependencies = [
('Python', '3.11.3'),
('PyTorch', '2.1.2', versionsuffix),
('SciPy-bundle', '2023.07'),
('CUDA', '12.1.1', '', SYSTEM),
('POT', '0.9.3', versionsuffix),
]

postinstallcmds = ['cd %(installdir)s && mkdir bin && ln -r -s main.py bin/sctie && chmod a+x main.py']

fix_python_shebang_for = ['main.py']

modextrapaths = {
'PATH': '',
'PYTHONPATH': '',
}

sanity_check_paths = {
'files': ['bin/sctie'],
'dirs': [],
}

sanity_check_commands = ['sctie --help']

moduleclass = 'bio'

0 comments on commit ddfb3d4

Please sign in to comment.