@@ -27,7 +27,7 @@ def get_obs_var_for_integrated(
2727
2828 if s1_adata .uns ["method_id" ] == "perfect_integration" :
2929 print (
30- "Control method 'perfect_integration' detected. Changing batch labels for each split as we only have batch 1 in each split ."
30+ "Control method 'perfect_integration' detected. Changing batch labels for non-control cells in each split as they are all from batch 1."
3131 )
3232
3333 # the idea is, we will change the batch labels in each split to reflect the correct donor/batch mapping
@@ -38,45 +38,39 @@ def get_obs_var_for_integrated(
3838
3939 print ("Old split 1 donor/batch mapping:" , flush = True )
4040 print (
41- s1_adata .obs .loc [
42- (s1_adata .obs .is_control == 0 ), ["donor" , "batch" ]
43- ].value_counts (),
41+ s1_adata .obs .loc [:, ["donor" , "batch" , "is_control" ]].value_counts (),
4442 flush = True ,
4543 )
4644
4745 split_dict_s1 = get_donor_batch_map (u_adata , split_of_interest = 1 )
48- s1_adata .obs .loc [(s1_adata .obs .is_control == 0 ), "batch" ] = s1_adata .obs [
49- "donor"
50- ].map (split_dict_s1 )
51- s1_adata .obs .loc [(s1_adata .obs .is_control == 0 ), "split" ] = 1
46+ mask_s1 = s1_adata .obs .is_control == 0
47+ s1_adata .obs .loc [mask_s1 , "batch" ] = s1_adata .obs .loc [mask_s1 , "donor" ].map (
48+ split_dict_s1
49+ )
50+ s1_adata .obs .loc [mask_s1 , "split" ] = 1
5251
5352 print ("New split 1 donor/batch mapping:" , flush = True )
5453 print (
55- s1_adata .obs .loc [
56- (s1_adata .obs .is_control == 0 ), ["donor" , "batch" ]
57- ].value_counts (),
54+ s1_adata .obs .loc [:, ["donor" , "batch" , "is_control" ]].value_counts (),
5855 flush = True ,
5956 )
6057
6158 print ("Old split 2 donor/batch mapping:" , flush = True )
6259 print (
63- s2_adata .obs .loc [
64- (s2_adata .obs .is_control == 0 ), ["donor" , "batch" ]
65- ].value_counts (),
60+ s2_adata .obs .loc [:, ["donor" , "batch" , "is_control" ]].value_counts (),
6661 flush = True ,
6762 )
6863
6964 split_dict_s2 = get_donor_batch_map (u_adata , split_of_interest = 2 )
70- s2_adata .obs .loc [(s2_adata .obs .is_control == 0 ), "batch" ] = s2_adata .obs [
71- "donor"
72- ].map (split_dict_s2 )
73- s2_adata .obs .loc [(s2_adata .obs .is_control == 0 ), "split" ] = 2
65+ mask_s2 = s2_adata .obs .is_control == 0
66+ s2_adata .obs .loc [mask_s2 , "batch" ] = s2_adata .obs .loc [mask_s2 , "donor" ].map (
67+ split_dict_s2
68+ )
69+ s2_adata .obs .loc [mask_s2 , "split" ] = 2
7470
7571 print ("New split 2 donor/batch mapping:" , flush = True )
7672 print (
77- s2_adata .obs .loc [
78- (s2_adata .obs .is_control == 0 ), ["donor" , "batch" ]
79- ].value_counts (),
73+ s2_adata .obs .loc [:, ["donor" , "batch" , "is_control" ]].value_counts (),
8074 flush = True ,
8175 )
8276
0 commit comments