Skip to content
Jiecong Lin edited this page Jul 15, 2026 · 7 revisions

Setup

Environment

conda env create -f environment.yml && conda activate epinformer_repro
mkdir -p log_cpu log_gpu

Key dependencies: torch, h5py, pyfaidx, kipoiseq, pyranges, macs2, hicstraw, pyBigWig, scipy, scikit-learn, pandas.

Reference data

bash scripts/download_abc_reference.sh data/reference/hg38
  • Genome — supply hg38.fa at data/reference/hg38/hg38.fa (not downloaded by any script).
  • Gene annotation — stage XpressoGeneBounds.hg38.bed at data/reference/hg38/XpressoGeneBounds.hg38.bed.
  • Expression labels + Xpresso features + 12-fold CV split — Zenodo 13232430 (expression_data.zip), unzip into data/:
    • GM12878_K562_18377_gene_expr_fromXpresso.csv
    • GM12878_K562_18377_gene_expr_fromXpresso_with_sequence_strand.csv
    • leave_chrom_out_crossvalidation_split_18377genes.csv

The ABC downloader supplies chromosome sizes and the K562 quantile-normalization reference. Before submitting a long job, verify every configured path:

test -f data/reference/hg38/hg38.fa
test -f data/reference/hg38/XpressoGeneBounds.hg38.bed
test -f data/reference/hg38/GRCh38_EBV.chrom.sizes.tsv
test -f data/reference/hg38/EnhancersQNormRef.K562.txt
test -f data/GM12878_K562_18377_gene_expr_fromXpresso.csv
test -f data/GM12878_K562_18377_gene_expr_fromXpresso_with_sequence_strand.csv
test -f data/leave_chrom_out_crossvalidation_split_18377genes.csv

If your inputs use different names, update config/config.yaml explicitly.

Notebook kernel

On the HPC, start Jupyter from the repository root and select the project environment:

python -m ipykernel install --user --name ep_env --display-name 'EPInformer (ep_env)'
jupyter lab

Activating conda inside a %%bash cell does not change the notebook's Python kernel.

HPC execution

Use login nodes only for downloads, dry runs, and job submission. The ABC/HDF5 pipeline requests 12 CPUs, 128 GB RAM, and up to 48 hours; submit it with slurm/run_pipeline_cpu.slurm. Use the GPU array scripts for full 12-fold training.

See Datasets and Accessions for the full ENCODE list.

Pretrained checkpoints (optional)

Download pretrained checkpoints from JiecongLin/EPInformer-pipeline. It contains 12-fold enhancer encoders and validated RNA gene-expression checkpoints for all six supported cell lines, plus CAGE checkpoints for K562 and GM12878. f1, f2, and f3 feature configurations are organized under expression_models/{cell}/{RNA,CAGE}/{f1,f2,f3}/.

from huggingface_hub import hf_hub_download
ckpt = hf_hub_download("JiecongLin/EPInformer-pipeline", "enhancer_encoders/K562/fold_8.pt")

Clone this wiki locally