File size: 1,587 Bytes
74c4656
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
---
license: mit
library_name: expert-model
pipeline_tag: other
tags:
  - single-cell
  - perturb-seq
  - scRNA-seq
  - perturbation-prediction
  - biology
---

# ExPert v0.1.0

ExPert reads a transcriptional response and tells you which genetic perturbations it resembles. This is the
production model from the paper. It was trained on 22 Perturb-seq datasets and has one prototype per perturbation in
a shared latent space: 8,964 learned from the screens, the rest of its 19,895-gene vocabulary predicted from prior
knowledge. It scores single cells or pseudobulks from any human or mouse scRNA-seq query against those prototypes.

Code, installation and documentation: <https://github.com/GoyalLab/ExPert>

## Usage

```bash
pip install git+https://github.com/GoyalLab/ExPert.git huggingface_hub
```

```python
import scanpy as sc
from huggingface_hub import snapshot_download
from expert import ExPert

model = ExPert.load(snapshot_download("GoyalLab/ExPert", revision="v0.1.0"))

query = sc.read_h5ad("query.h5ad")   # raw counts, gene symbols; obs['perturbation'] = 'control' for controls
out = model.predict(query)
out["soft_predictions"]              # cells x perturbations
```

## Files

| file | contents |
|---|---|
| `model.pt` | weights, model configuration, gene and perturbation vocabularies, readout calibration |
| `gene_embeddings.npz` | text embeddings of the perturbation vocabulary (prototype prior for untrained genes) |

The training data can be rebuilt with [ExPert-data](https://github.com/GoyalLab/ExPert-data).

## Citation

_Preprint reference to be added._