Skip to content

Commit

Permalink
Merge pull request #12448 from deniskristak/20210322172017_new_pr_cel…
Browse files Browse the repository at this point in the history
…l2locationv005alpha

{tools}[fosscuda/2020b] cell2location v0.05-alpha, dill v0.3.3, Seaborn 0.10.0, ... w/ Python 3.8.6
  • Loading branch information
boegel authored May 22, 2021
2 parents 17dfd9e + f744e24 commit 3be33b9
Show file tree
Hide file tree
Showing 6 changed files with 261 additions and 3 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,133 @@
# Author: Denis Krišťák (INUITS)

easyblock = 'PythonBundle'

name = 'cell2location'
version = '0.05-alpha'
local_nodejsver = '-nodejs-12.19.0'

homepage = 'https://github.com/BayraktarLab/cell2location/'
description = """Comprehensive mapping of tissue cell architecture via integrated
single cell and spatial transcriptomics (cell2location model)"""

toolchain = {'name': 'fosscuda', 'version': '2020b'}

builddependencies = [
('Bison', '3.7.1'),
]

dependencies = [
('Python', '3.8.6'),
('Java', '11', '', True),
('SciPy-bundle', '2020.11'),
('leidenalg', '0.8.3'),
('hyperopt', '0.2.5'),
('CMake', '3.18.4'),
('dill', '0.3.3'),
('IPython', '7.18.1'),
('Seaborn', '0.11.1'),
('matplotlib', '3.3.3'),
('libgpuarray', '0.7.6'),
('PyMC3', '3.11.1'),
('request', '2.88.1', local_nodejsver),
('PyTables', '3.6.1'),
('PyTorch', '1.7.1'),
('statsmodels', '0.12.1'),
('numba', '0.52.0'),
('Theano', '1.1.2', '-PyMC'),
('umap-learn', '0.4.6'),
('pyro-api', '0.1.2'),
('pyro-ppl', '1.5.2'),
]

preinstallopts = "sed -i 's/theano/Theano-PyMC/g' setup.py && "

use_pip = True

exts_default_options = {
'download_dep_fail': True,
'sanity_pip_check': True,
'use_pip': True,
}

exts_list = [
('opt-einsum', '3.3.0', {
'source_tmpl': 'opt_einsum-%(version)s.tar.gz',
'checksums': ['59f6475f77bbc37dcf7cd748519c0ec60722e91e63ca114e68821c0c54a46549'],
}),
('pytoml', '0.1.21', {
'checksums': ['8eecf7c8d0adcff3b375b09fe403407aa9b645c499e5ab8cac670ac4a35f61e7'],
}),
('get_version', '2.1', {
'use_pip': False,
'checksums': ['8156b526c2557537b8ca82241fa2b82b3da25939627398f6567dee31ba9725bc'],
}),
('legacy-api-wrap', '1.2', {
'use_pip': False,
'checksums': ['034a44612da7e9943d3964363a98937ab54d55e3301075374abe0d521eb8101b'],
}),
('descartes', '1.1.0', {
'checksums': ['135a502146af5ed6ff359975e2ebc5fa4b71b5432c355c2cafdc6dea1337035b'],
}),
('mizani', '0.7.1', {
'checksums': ['97eea665d17fdc6c827b832925c094839e1ef7bf65b3aa47105e772b6eca9b0a'],
}),
('anndata', '0.7.5', {
'checksums': ['2113a7463388013023f153e1a1446add4182883e3320b6e37dda18ee6210e038'],
}),
('ipykernel', '5.3.4', {
'checksums': ['9b2652af1607986a1b231c62302d070bc0534f564c393a5d9d130db9abbbe89d'],
}),
('nose', '1.3.7', {
'checksums': ['f1bffef9cbc82628f6e7d7b40d7e255aefaa1adb6a1b1d26c69a8b79e6208a98'],
}),
('natsort', '7.1.0', {
'checksums': ['33f3f1003e2af4b4df20908fe62aa029999d136b966463746942efbfc821add3'],
}),
('palettable', '3.3.0', {
'checksums': ['72feca71cf7d79830cd6d9181b02edf227b867d503bec953cf9fa91bf44896bd'],
}),
('scanpy', '1.6.0', {
'checksums': ['542d1f1fc0471e7312d4349142e1c2eee4a465cd514fe4e3337be166f425fa55'],
}),
('louvain', '0.7.0', {
'checksums': ['9734fc6bf8c15546d685a8c6d7d7ca0574cad4cb641e9ca91c3334028658f7c6'],
}),
('loompy', '3.0.6', {
'checksums': ['58e9763b8ab1af2a4a0e3805d120458b5184fd2b0f3031657ecce33c63ca4c46'],
}),
('bbknn', '1.3.12', {
'checksums': ['7dc5257baa278fc92349ac7865674ce70802dc4e3afdafed87a099dff9e91159'],
}),
('stdlib-list', '0.8.0', {
'checksums': ['a1e503719720d71e2ed70ed809b385c60cd3fb555ba7ec046b96360d30b16d9f'],
}),
('sinfo', '0.3.1', {
'checksums': ['e1b2358808aded7b2ff00ea0cd4e6a2d978fb2a44ee9b15ac23d64a81bf62706'],
}),
('plotnine', '0.7.0', {
'checksums': ['8ee67cbf010ccea32670760e930b7b02177030a89ccdf85e35d156a96ce36cd3'],
}),
('numpy-groupies', '0.9.13', {
'modulename': 'numpy_groupies',
'source_tmpl': 'numpy_groupies-%(version)s.tar.gz',
'checksums': ['7b17b291322353f07c51598512d077e3731da0a048cfa8f738f3460d1ef0658d'],
}),
('annoy', '1.17.0', {
'checksums': ['9891e264041d1dcf3af42f67fbb16cb273c5404bc8c869d0915a3087f71d58dd'],
}),
(name, version, {
'source_urls': ['https://github.com/BayraktarLab/cell2location/archive/'],
'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}],
'checksums': ['2df1fe2b2b4ec5fcebc6c1d6146ce0cd79115bd14059b0ae882a41f1029a4efc'],
}),
]

sanity_pip_check = True

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

moduleclass = 'bio'
29 changes: 29 additions & 0 deletions easybuild/easyconfigs/d/dill/dill-0.3.3-GCCcore-10.2.0.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# This easyconfig was created by Simon Branford of the BEAR Software team at the University of Birmingham.
easyblock = 'PythonPackage'

# Author: Denis Krišťák (INUITS)

name = 'dill'
version = '0.3.3'

homepage = 'https://pypi.org/project/dill/'
description = """dill extends python's pickle module for serializing and de-serializing python objects to the majority
of the built-in python types. Serialization is the process of converting an object to a byte stream, and the inverse
of which is converting a byte stream back to on python object hierarchy."""

toolchain = {'name': 'GCCcore', 'version': '10.2.0'}

sources = [SOURCE_ZIP]
checksums = ['efb7f6cb65dba7087c1e111bb5390291ba3616741f96840bfc75792a1a9b5ded']

builddependencies = [('binutils', '2.35')]

dependencies = [
('Python', '3.8.6'),
]

use_pip = True
download_dep_fail = True
sanity_pip_check = True

moduleclass = 'data'
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# Author: Denis Krišťák (INUITS)

easyblock = 'Binary'

name = 'request'
version = '2.88.1'
local_nodejsver = '12.19.0'
versionsuffix = '-nodejs-%s' % local_nodejsver

homepage = 'https://github.com/request/request/'
description = """Request is designed to be the simplest way possible to make http calls.
It supports HTTPS and follows redirects by default."""

toolchain = {'name': 'fosscuda', 'version': '2020b'}

source_urls = ['https://github.com/request/request/archive/']
sources = ['v%(version)s.tar.gz']
checksums = ['6506ec33a673f6a5542a950be65b02b23c8e8cda21847c19ee67dee4fdc7adc4']

dependencies = [
('nodejs', local_nodejsver),
]

install_cmd = 'npm install --prefix %(installdir)s -g v%(version)s.tar.gz'

sanity_check_paths = {
'files': [],
'dirs': ['lib/node_modules/%(namelower)s'],
}

moduleclass = 'tools'
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# Author: Denis Krišťák (INUITS)

easyblock = 'PythonBundle'

name = 'statsmodels'
version = '0.12.1'

homepage = 'https://www.statsmodels.org/'
description = """Statsmodels is a Python module that allows users to explore data, estimate statistical models,
and perform statistical tests."""

toolchain = {'name': 'fosscuda', 'version': '2020b'}

dependencies = [
('Python', '3.8.6'),
('SciPy-bundle', '2020.11'),
]

use_pip = True

exts_list = [
('patsy', '0.5.1', {
'checksums': ['f115cec4201e1465cd58b9866b0b0e7b941caafec129869057405bfe5b5e3991'],
}),
(name, version, {
'checksums': ['a271b4ccec190148dccda25f0cbdcbf871f408fc1394a10a7dc1af4a62b91c8e'],
}),
]

sanity_pip_check = True

moduleclass = 'math'
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# Author: Denis Krišťák (INUITS)

easyblock = 'PythonPackage'

name = 'umap-learn'
version = '0.4.6'

homepage = 'https://pypi.org/project/umap-learn/'
description = """Uniform Manifold Approximation and Projection (UMAP) is a
dimension reduction technique that can be used for visualisation similarly to t-SNE,
but also for general non-linear dimension reduction."""

toolchain = {'name': 'fosscuda', 'version': '2020b'}

sources = [SOURCE_TAR_GZ]
checksums = ['4276da9a039c79fa5b4f8d3515a8ccaaccf11a2f59ce8d15baf9d2015a5e82b3']

dependencies = [
('Python', '3.8.6'),
('SciPy-bundle', '2020.11'),
('scikit-learn', '0.23.2'),
('numba', '0.52.0'),
]

download_dep_fail = True
use_pip = True

options = {'modulename': 'umap'}

sanity_pip_check = True

moduleclass = 'tools'
7 changes: 4 additions & 3 deletions test/easyconfigs/easyconfigs.py
Original file line number Diff line number Diff line change
Expand Up @@ -289,13 +289,14 @@ def check_dep_vars(self, gen, dep, dep_vars):
(r'5\.', [r'Elk-']),
],
# some software depends on numba, which typically requires an older LLVM;
# this includes BirdNET, cryoDRGN, librosa, PyOD, Python-Geometric, scVelo, scanpy
# this includes BirdNET, cell2location, cryoDRGN, librosa, PyOD, Python-Geometric, scVelo, scanpy
'LLVM': [
# numba 0.47.x requires LLVM 7.x or 8.x (see https://github.com/numba/llvmlite#compatibility)
(r'8\.', [r'numba-0\.47\.0-', r'librosa-0\.7\.2-', r'BirdNET-20201214-',
r'scVelo-0\.1\.24-', r'PyTorch-Geometric-1\.[34]\.2']),
(r'10\.0\.1', [r'cryoDRGN-0\.3\.2-', r'loompy-3\.0\.6-', r'numba-0\.52\.0-', r'PyOD-0\.8\.7-',
r'PyTorch-Geometric-1\.6\.3', r'scanpy-1\.7\.2-']),
(r'10\.0\.1', [r'cell2location-0\.05-alpha-', r'cryoDRGN-0\.3\.2-', r'loompy-3\.0\.6-',
r'numba-0\.52\.0-', r'PyOD-0\.8\.7-', r'PyTorch-Geometric-1\.6\.3',
r'scanpy-1\.7\.2-', r'umap-learn-0\.4\.6-']),
],
# rampart requires nodejs > 10, artic-ncov2019 requires rampart
'nodejs': [('12.16.1', ['rampart-1.2.0rc3-', 'artic-ncov2019-2020.04.13'])],
Expand Down

0 comments on commit 3be33b9

Please sign in to comment.