sigspace / tahoe_model /compute_tahoe_deltas.py
Sid01123
all the code
9735e01
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")