-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathscript.py
More file actions
50 lines (42 loc) · 1.61 KB
/
Copy pathscript.py
File metadata and controls
50 lines (42 loc) · 1.61 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
import anndata as ad
## VIASH START
# The following code has been auto-generated by Viash.
par = {
"input_unintegrated": "resources_test/task_cyto_batch_integration/mouse_spleen_flow_cytometry_subset/unintegrated.h5ad",
"output_integrated_split1": "resources_test/task_cyto_batch_integration/mouse_spleen_flow_cytometry_subset/perfect_integrated_split1.h5ad",
"output_integrated_split2": "resources_test/task_cyto_batch_integration/mouse_spleen_flow_cytometry_subset/perfect_integrated_split2.h5ad",
}
meta = {"name": "perfect_integration"}
## VIASH END
print("Reading input files", flush=True)
adata = ad.read_h5ad(par["input_unintegrated"])
print("Extracting and splitting unintegrated data", flush=True)
# split 1
adata_split1 = adata[(adata.obs.is_control > 0) | (adata.obs.batch == 1)]
integrated_split1 = adata_split1.layers["preprocessed"]
# split 2 == split 1 in this case
print("Write output AnnData to file", flush=True)
# split 1
output_split1 = ad.AnnData(
obs=adata_split1.obs[[]],
var=adata_split1.var[[]],
layers={"integrated": integrated_split1},
uns={
"dataset_id": adata.uns["dataset_id"],
"method_id": meta["name"],
"parameters": {},
},
)
# split 2
output_split2 = ad.AnnData(
obs=adata_split1.obs[[]],
var=adata_split1.var[[]],
layers={"integrated": integrated_split1},
uns={
"dataset_id": adata.uns["dataset_id"],
"method_id": meta["name"],
"parameters": {},
},
)
output_split1.write_h5ad(par["output_integrated_split1"], compression="gzip")
output_split2.write_h5ad(par["output_integrated_split2"], compression="gzip")