Predicting gene expression from chromatin state

Histone marks near a gene's promoter predict how much it's expressed, mostly from one mark. I checked it against four regression models to rule out a fluke.

View source on GitHub
correlation, predicted vs. actual
0.76correlation, predicted vs. actualPearson r, held-out genes (HistGradientBoosting)
genes tested
8,425genes testedheld out by chromosome, never seen in training
histone features per gene
326histone features per gene320 signal bins + 6 engineered
of the signal is one feature
36%of the signal is one featureH3K4me3 +150bp

A histone is a protein that DNA wraps around to fit inside the nucleus. Modifications to it loosen or tighten that wrapping, which exposes or hides promoter and enhancer regions and changes how much a gene gets transcribed. This model predicts gene expression from four of those modifications, mostly from one signal.

How strong is the relationship?

Every dot is a held-out gene the model never trained on. Closer to the dashed line means a closer prediction.

0.580
↑ Predicted
Loading predictions...

Actual (z-scored log expression) →

Where the signal comes from

  • H3K4me3, 150–200bp from the TSS, is the top feature: 36% of the importance
  • 12× the next feature
  • Matches where active-promoter biology predicts it should be
  • H3K4me3 +150bp36.3%
  • H3K4me3 +400bp2.9%
  • H3K4me3 +350bp2.4%
  • H3K4me1 +150bp1.8%
  • H3K4me3 +550bp1.6%
  • H3K4me3 +500bp1.5%
  • H3K4me3 +300bp1.5%
  • H3K4me3 +200bp1.4%
  • H3K4me3 +250bp1.1%
  • H3K4me3 +600bp0.8%

Random Forest feature importance, top 10 of 20 ranked features. Offsets are bp from the TSS (+ = downstream).

Bonus check

Does it hold across methods?

All four models land in the same range. Not a one-model fluke.

  • HistGradientBoosting0.580
  • Random Forest0.576
  • SVR (RBF kernel)0.546
  • Ridge0.541

R² on the held-out test set (higher is better). MAE and Pearson r shown alongside for reference.

What this does and doesn't explain

  • Best model (HistGradientBoosting): R² 0.580, r 0.763. About 58% of the variance.
  • The rest is transcription factor binding, enhancer looping, RNA stability, and other post-transcriptional control
  • Target is one ENCODE sample with no replicates, so some of that gap is probably noise, not biology