--- 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.