Skip to content

Commit 8aa0472

Browse files
authored
Fix the blockers for the next denbi run (#115)
* fix liger build by dropping the github RcppPlanc install * register the missing methods and metrics in run_benchmark * add metric_type to cilisi and method_types to drvi * let scimilarity use the gpu * update changelog
1 parent 982fed5 commit 8aa0472

8 files changed

Lines changed: 33 additions & 4 deletions

File tree

CHANGELOG.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,13 @@
6060
* Fix `methods/pyliger` failing to build: louvain has no python 3.12 wheel and needs cmake to build igraph from source.
6161
* Bump `methods/cellplm`, `methods/condo`, `methods/drvi` and `metrics/bras` from base image `:1.0.0` to `:1`, so their
6262
`openproblems` is new enough for the component tests in `common`.
63+
* Fix `methods/liger` failing to build: drop the GitHub install of RcppPlanc, which no longer configures; rliger already
64+
pulls it in from CRAN.
65+
* Register `methods/condo`, `methods/drvi`, `methods/limma_removebatcheffect`, `methods/seurat_cca`, `methods/seurat_rpca`,
66+
`methods/stacas`, `metrics/bras` and `metrics/cilisi` in the `run_benchmark` workflow; they were never run.
67+
* Add the missing `metric_type` to `metrics/cilisi` and `method_types` to `methods/drvi`, without which the workflow
68+
never schedules them.
69+
* Give `methods/scimilarity` a `gpu` label and let it use the GPU when one is available; it was running CPU-only.
6370
* Fix `methods/scanorama` scrambling its output: scanorama returns one object per batch with the genes sorted by
6471
name, so both axes ended up permuted with respect to the `obs` and `var` they were labelled with. This affected
6572
every metric, not just `hvg_overlap`.

src/methods/drvi/config.vsh.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ links:
1414
documentation: https://drvi.readthedocs.io/latest/index.html
1515
repository: https://github.com/theislab/DRVI?tab=readme-ov-file
1616
info:
17+
method_types: [embedding]
1718
preferred_normalization: counts
1819
arguments:
1920
- name: --n_hvg

src/methods/liger/config.vsh.yaml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ engines:
2626
packages: cmake
2727
- type: r
2828
cran: rliger
29-
github: welch-lab/RcppPlanc
3029
runners:
3130
- type: executable
3231
- type: nextflow

src/methods/scimilarity/config.vsh.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,4 +32,4 @@ runners:
3232
- type: executable
3333
- type: nextflow
3434
directives:
35-
label: [hightime, midmem, lowcpu]
35+
label: [hightime, midmem, lowcpu, gpu]

src/methods/scimilarity/script.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66

77
import anndata as ad
88
import scimilarity
9+
import torch
910

1011
## VIASH START
1112
par = {
@@ -52,8 +53,12 @@
5253
f"The 'model' argument should be a directory a .zip file or a .tar.gz file"
5354
)
5455

55-
print("Load SCimilarity model", flush=True)
56-
scimilarity_embedding = scimilarity.cell_embedding.CellEmbedding(model_path=model_dir)
56+
use_gpu = torch.cuda.is_available()
57+
print(f"Load SCimilarity model (use_gpu={use_gpu})", flush=True)
58+
scimilarity_embedding = scimilarity.cell_embedding.CellEmbedding(
59+
model_path=model_dir,
60+
use_gpu=use_gpu,
61+
)
5762
print("SCimilarity version:", scimilarity.__version__)
5863

5964
print("Create input data", flush=True)

src/metrics/cilisi/config.vsh.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
__merge__: ../../api/comp_metric.yaml
22
name: cilisi
33
info:
4+
metric_type: embedding
45
metrics:
56
- name: cilisi
67
label: CiLISI

src/workflows/run_benchmark/config.vsh.yaml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,12 +94,15 @@ dependencies:
9494
- name: methods/cellplm
9595
- name: methods/combat
9696
- name: methods/combat_seq
97+
- name: methods/condo
9798
- name: methods/density_adaptive
99+
- name: methods/drvi
98100
- name: methods/fadvi
99101
- name: methods/geneformer
100102
- name: methods/harmony
101103
- name: methods/harmonypy
102104
- name: methods/liger
105+
- name: methods/limma_removebatcheffect
103106
- name: methods/mnnpy
104107
- name: methods/pyliger
105108
- name: methods/sca
@@ -112,12 +115,17 @@ dependencies:
112115
- name: methods/scimilarity
113116
- name: methods/scprint
114117
- name: methods/scvi
118+
- name: methods/seurat_cca
119+
- name: methods/seurat_rpca
115120
- name: methods/ss_stacas
121+
- name: methods/stacas
116122
- name: methods/uce
117123
# metrics
118124
- name: metrics/asw_batch
119125
- name: metrics/asw_label
126+
- name: metrics/bras
120127
- name: metrics/cell_cycle_conservation
128+
- name: metrics/cilisi
121129
- name: metrics/clustering_overlap
122130
- name: metrics/graph_connectivity
123131
- name: metrics/hvg_overlap

src/workflows/run_benchmark/main.nf

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,15 @@ methods = [
2424
),
2525
combat,
2626
combat_seq,
27+
condo,
2728
density_adaptive,
29+
drvi,
2830
fadvi,
2931
geneformer,
3032
harmony,
3133
harmonypy,
3234
liger,
35+
limma_removebatcheffect,
3336
mnnpy,
3437
pyliger,
3538
sca,
@@ -48,7 +51,10 @@ methods = [
4851
),
4952
scprint,
5053
scvi,
54+
seurat_cca,
55+
seurat_rpca,
5156
ss_stacas,
57+
stacas,
5258
uce.run(
5359
args: [model: file("s3://openproblems-work/cache/uce-model-v5.zip")]
5460
)
@@ -58,7 +64,9 @@ methods = [
5864
metrics = [
5965
asw_batch,
6066
asw_label,
67+
bras,
6168
cell_cycle_conservation,
69+
cilisi,
6270
clustering_overlap,
6371
graph_connectivity,
6472
hvg_overlap,

0 commit comments

Comments
 (0)