# Preparing adata.uns for cellflow

**URL:** https://discourse.scverse.org/t/preparing-adata-uns-for-cellflow/3776
**Category:** General
**Created:** [August 13, 2025, 10:27pm UTC](https://discourse.scverse.org/t/preparing-adata-uns-for-cellflow/3776 "2025-08-13T22:27:23Z")
**Posts on this page:** 1
**Page:** 1

<div class="post-metadata">

### Author: ![WeihangChen0](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.scverse.org/weihangchen0/32/1484_2.png) [@WeihangChen0](https://discourse.scverse.org/u/WeihangChen0)
#### Post date: [August 13, 2025, 10:27pm UTC](https://discourse.scverse.org/t/preparing-adata-uns-for-cellflow/3776/1 "2025-08-13T22:27:23Z")

</div>

Dear scverse community,

I’m learning the new cellflow framework for modeling perturbation with other covariates(such as donor) via the tutorial using cytokines on PBMCs( [Predicting donor-specific cytokine effects on PBMCs - cellflow documentation](https://cellflow.readthedocs.io/en/latest/notebooks/100_pbmc.html) ). It is challenging to understand how ESM2 model is used to encode the cytokine and donor column in adata.obs into dict of arrays with 2560 and 2500 elements for each category. I wonder if I read it correctly and if there is any scripts out there that illustrate the precompute steps from cellflow.

Any illustration or explanation would be highly appreciated!

Weihang
