|
1 | 1 | import anndata as ad |
2 | 2 | import sys |
3 | 3 | import pegasus as pg |
| 4 | +import pegasusio |
| 5 | +from scipy.sparse import csr_matrix |
4 | 6 |
|
5 | | -## VIASH START |
6 | | -# Note: this section is auto-generated by viash at runtime. To edit it, make changes |
7 | | -# in config.vsh.yaml and then run `viash config inject config.vsh.yaml`. |
8 | | -par = { |
9 | | - 'input_integrated': 'resources_test/task_batch_integration/cxg_immune_cell_atlas/integrated_full.h5ad', |
10 | | - 'input_solution': 'resources_test/.../solution.h5ad', |
11 | | - 'output': 'output.h5ad', |
12 | | - "rep": "pca", |
13 | | - "K": 24, |
14 | | - "min_rate": 0.9, |
15 | | - "n_jobs": -1, |
16 | | - "random_state": 0, |
17 | | - "use_cache": True |
18 | | -} |
19 | | -meta = { |
20 | | - 'name': 'ksim' |
21 | | -} |
22 | | -## VIASH END |
23 | 7 |
|
24 | 8 | sys.path.append(meta["resources_dir"]) |
25 | 9 | from read_anndata_partial import read_anndata |
|
28 | 12 | adata = read_anndata(par['input_integrated'], obs='obs', obsm='obsm', uns='uns') |
29 | 13 | adata.obs = read_anndata(par['input_solution'], obs='obs').obs |
30 | 14 | adata.uns |= read_anndata(par['input_solution'], uns='uns').uns |
| 15 | +print(adata) |
| 16 | + |
| 17 | +print('Convert to pegasusio.MultimodalData...', flush=True) |
| 18 | +adata.X = csr_matrix(adata.shape) |
| 19 | +mmdata = pegasusio.MultimodalData(adata) |
31 | 20 |
|
32 | 21 | print('Compute metrics', flush=True) |
33 | 22 | score = pg.calc_kSIM( |
34 | | - adata, |
| 23 | + mmdata, |
35 | 24 | attr='cell_type', |
36 | | - rep=par["rep"], |
| 25 | + rep='emb', |
37 | 26 | K=par["K"], |
38 | 27 | min_rate=par["min_rate"], |
39 | 28 | n_jobs=par["n_jobs"], |
40 | 29 | random_state=par["random_state"], |
41 | 30 | use_cache=par["use_cache"] |
42 | | -)[1] |
43 | | - |
44 | | -# TODO RETURNS A TOUPLE OF TWO THINGS: kSIM_mean (float) – Mean kSIM rate over all the cells., kSIM_accept_rate (float) – kSIM Acceptance rate of the sample |
| 31 | +) |
| 32 | +print("score:", score) |
45 | 33 |
|
46 | 34 | print('Create output AnnData object', flush=True) |
47 | 35 | output = ad.AnnData( |
|
0 commit comments