44
55## VIASH START
66par = {
7- "input_unintegrated" : "resources_test/task_cyto_batch_integration/mouse_spleen_flow_cytometry_subset/unintegrated_censored.h5ad" ,
8- "output" : "output.h5ad" ,
7+ "input_unintegrated" : "resources_test/task_cyto_batch_integration/mouse_spleen_flow_cytometry_subset/unintegrated.h5ad" ,
8+ "output_integrated_split1" : "resources_test/task_cyto_batch_integration/mouse_spleen_flow_cytometry_subset/control_integrated_split1.h5ad" ,
9+ "output_integrated_split2" : "resources_test/task_cyto_batch_integration/mouse_spleen_flow_cytometry_subset/control_integrated_split2.h5ad" ,
910}
10- meta = {"name" : "harmonypy " }
11+ meta = {"name" : "shuffle_integration_by_cell_type" , "resources_dir" : "src/control_methods " }
1112## VIASH END
1213
1314print ("Importing helper functions" , flush = True )
1617
1718print ("Reading and preparing input files" , flush = True )
1819adata = ad .read_h5ad (par ["input_unintegrated" ])
20+ adata_split1 = adata [(adata .obs .is_control > 0 ) | (adata .obs .split == 1 )].copy ()
21+ adata_split2 = adata [(adata .obs .is_control > 0 ) | (adata .obs .split == 2 )].copy ()
1922
20- adata .obs ["batch_str" ] = adata .obs ["batch" ].astype (str )
21-
22- print ("Randomise features" , flush = True )
23+ print ("Randomise features - split 1" , flush = True )
24+ adata_split1 .obs ["batch_str" ] = adata_split1 .obs ["batch" ].astype (str )
2325integrated = _randomize_features (
24- adata .layers ["preprocessed" ]
26+ adata_split1 .layers ["preprocessed" ]
2527)
2628
2729# create new anndata
28- output = ad .AnnData (
29- obs = adata .obs [[]],
30- var = adata .var [[]],
30+ output_split1 = ad .AnnData (
31+ obs = adata_split1 .obs [[]],
32+ var = adata_split1 .var [[]],
33+ layers = {"integrated" : integrated },
34+ uns = {
35+ "dataset_id" : adata_split1 .uns ["dataset_id" ],
36+ "method_id" : meta ["name" ],
37+ "parameters" : {},
38+ },
39+ )
40+
41+ print ("Randomise features - split 2" , flush = True )
42+ adata_split2 .obs ["batch_str" ] = adata_split2 .obs ["batch" ].astype (str )
43+ integrated = _randomize_features (
44+ adata_split2 .layers ["preprocessed" ]
45+ )
46+ # create new anndata
47+ output_split2 = ad .AnnData (
48+ obs = adata_split2 .obs [[]],
49+ var = adata_split2 .var [[]],
3150 layers = {"integrated" : integrated },
3251 uns = {
33- "dataset_id" : adata .uns ["dataset_id" ],
52+ "dataset_id" : adata_split2 .uns ["dataset_id" ],
3453 "method_id" : meta ["name" ],
3554 "parameters" : {},
3655 },
3756)
3857
3958print ("Write output AnnData to file" , flush = True )
40- output .write_h5ad (par ["output" ], compression = "gzip" )
59+ output_split1 .write_h5ad (par ["output_integrated_split1" ], compression = "gzip" )
60+ output_split2 .write_h5ad (par ["output_integrated_split2" ], compression = "gzip" )
0 commit comments