File size: 888 Bytes
9735e01
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
import anndata
import numpy as np

uce = anndata.read_h5ad("data/tahoe_universal_embeddings.h5ad")

control_condition = "[('DMSO_TF', 0.0, 'uM')]"

X_delta = np.zeros_like(uce.obsm["X_uce"])

for cell_line in uce.obs["cell_line"].unique():
    for plate in uce.obs["plate"].unique():
        cell_plate_mask = (uce.obs["cell_line"] == cell_line) & (uce.obs["plate"] == plate)
        control_mask = cell_plate_mask & (uce.obs["drugname_drugconc"] == control_condition)

        cell_plate_indices = np.where(cell_plate_mask)[0]
        control_indices = np.where(control_mask)[0]

        X_delta[cell_plate_indices] = uce.obsm["X_uce"][cell_plate_indices] - uce.obsm["X_uce"][control_indices]

        
uce.obsm["X_delta"] = X_delta

print("X_uce shape", uce.obsm["X_uce"].shape)
print("X_delta shape", uce.obsm["X_delta"].shape)

uce.write("data/tahoe_universal_embeddings_deltas.h5ad")