Skip to content
harmslabPublic

About

Simulate or analyze a high-throughput screen of a transcription factor library

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

tfscreen

Tests

tfscreen is a Python library for simulating and analyzing high-throughput screens of transcription factor (TF) function. It is designed to infer the energetic effects of mutations on conformations in the TF energy landscape. Those effects make it possible to build interpretable models that predict how any combination of mutations changes the TF response curve, operator binding against allosteric effector.

The core strategy is to measure operator occupancy for thousands of double-mutant cycles across multiple allosteric effector concentrations. A single set of energetic effects must explain all measurements simultaneously, which resolves the per-conformation contribution of each mutation and separates epistasis from structural contacts (cycle-specific) from epistasis arising from redistribution of the energy landscape (shared across cycles).

Occupancy is inferred from E. coli growth in a dual-marker selection scheme: kanR (kanamycin resistance, growth enhanced when expressed) and pheS* (4-chloro-L-phenylalanine sensitivity, growth reduced when expressed) respond in opposite directions to a shift in occupancy. Libraries of TF variants are grown in different effector/selection combinations and variant frequencies are followed over time by direct sequencing. A hierarchical Bayesian model fits the read counts, alone or jointly with direct binding measurements, and learns the relationship between occupancy and growth rate along the way.

Documentation

Full documentation is available at https://tfscreen.readthedocs.io. To analyze a screen, start with the "Analyzing a screen" page: per-tube read counts to per-genotype response curves with intervals, through one command, tfs-fit-two-stage. The pipeline page walks from sequencing reads to a posterior, and the CLI reference lists every tfs-* command and flag.

Installation

Clone the repository and install in editable mode:

git clone https://github.com/harmslab/tfscreen
cd tfscreen
pip install -e .

On a Linux machine with a CUDA 12 GPU, use pip install -e ".[cuda12]" (plain jax from pip runs on the CPU only). tfscreen needs Python 3.12 or newer.

About

Simulate or analyze a high-throughput screen of a transcription factor library

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages