File size: 2,800 Bytes
981fbfc 4f7c19b 981fbfc 4f7c19b 981fbfc | 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 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 | ---
license: mit
tags:
- biology
- genomics
- gene-expression
- enhancer
- regulatory-genomics
- dna
library_name: pytorch
---
# EPInformer — reproducible pipeline (pretrained checkpoints)
Pretrained checkpoints for the **[EPInformer reproducible pipeline](https://github.com/pinellolab/EPInformer/tree/reproducible_pipeline)** — a from-raw-ENCODE reproduction of [EPInformer](https://github.com/pinellolab/EPInformer) across 6 cell lines (K562, GM12878, H1, HepG2, HUVEC, NHEK).
Two models (defined in `EPInformer/models.py` on the `reproducible_pipeline` branch):
- **`enhancer_predictor_256bp`** — 256 bp enhancer-activity encoder; predicts `log2(0.1 + sqrt(H3K27ac·DNase))` activity from sequence.
- **`EPInformer_v2`** — gene-expression model (RNA / CAGE) that reuses the frozen encoder as its sequence backbone.
## Results (12-fold leave-chromosome-out, pooled Pearson R)
**Enhancer encoder** (log2 activity):
| | H1 | HepG2 | K562 | HUVEC | NHEK | GM12878 |
|---|---|---|---|---|---|---|
| **R** | 0.820 | 0.743 | 0.740 | 0.742 | 0.677 | 0.617 |
**Gene expression** (shipped `f3` = frozen encoder + 3 enhancer features + promoter signal):
| | K562 | GM12878 | HepG2 | HUVEC | NHEK | H1 |
|---|---|---|---|---|---|---|
| **RNA** | 0.856 | 0.860 | 0.845 | 0.839 | 0.828 | 0.781 |
| **CAGE** | 0.867 | 0.890 | — | — | — | — |
CAGE labels exist only for K562/GM12878 (the other four are RNA-only).
## Files
```
enhancer_encoders/{CELL}/fold_{i}.pt # CELL ∈ {K562, GM12878, H1, HepG2, HUVEC, NHEK}, i ∈ 1..12
```
These are the reproduction's **256 bp enhancer-activity encoders** — the best checkpoint for each of
the 12 leave-chromosome-out folds, for all 6 cell lines (72 checkpoints). Any fold works for
inference; the R values in the table above are pooled across all 12 held-out folds.
> The KLF1 demo in the notebooks uses the original published EPInformer encoder shipped in the repo's
> `trained_models/pretrained_enhancer_encoder/` — a separate checkpoint from these reproduction folds.
## Usage
```python
import torch
from huggingface_hub import hf_hub_download
# the model class lives on the reproducible_pipeline branch:
# git clone -b reproducible_pipeline https://github.com/pinellolab/EPInformer
from EPInformer.models import enhancer_predictor_256bp
ckpt = hf_hub_download("JiecongLin/EPInformer-reproducible", "enhancer_encoders/K562/fold_8.pt")
net = enhancer_predictor_256bp()
net.load_state_dict(torch.load(ckpt, map_location="cpu", weights_only=False)["model_state_dict"])
net.eval()
```
See the **[project wiki](https://github.com/pinellolab/EPInformer/wiki)** for the full training and evaluation guide, and the **[`reproducible_pipeline`](https://github.com/pinellolab/EPInformer/tree/reproducible_pipeline)** branch for code.
|