Authors: Anna Barredo Porta, Álvaro Borachok Fernandez, Pau Boncompte Carre, Gonzalo Plaza, Adriana Royuela Bermudez
Institution: Universitat Pompeu Fabra
Date: October 26th, 2023
This repository contains the numerical simulations accompanying the study "Processing Oscillatory Signals by Incoherent Feedforward Loops". The work extends the analysis of Zhang et al. (2016) to characterise all four canonical types of Incoherent Feedforward Loop (IFFL) network motifs, examining their ability to process pulsatile/oscillatory biological signals.
IFFLs are three-node gene-regulatory motifs in which an input signal S reaches an output node R via two opposing paths, one direct and one indirect through an intermediate node X, always with an odd number of inhibitory arrows. Their key functional property is the capacity to either count input pulses (accumulating R proportionally to the number of pulses received) or adapt to sustained signals (resetting R to baseline), depending on pulse duration and kinetic parameters.
The central question explored here is: does the steady-state level of R encode the number of input pulses, their duration, or neither?
Each IFFL type has documented biological realisations:
| Type | Biological example |
|---|---|
| I1-FFL | Transcriptional Network of TNF-induced necroptosis: TNF activates NF-κB to counteract necrotic cell death |
| I2-FFL | Arabidopsis thaliana circadian clock: double-negative feedback loop between CCA1/LHY, PRR5/TOC1, and PRR9/7 |
| I3-FFL | Synthetic stripe-forming circuit: two viral RNA polymerases (SP6-RNAP and T7-RNAP) and LacI for repression of GFP protein |
| I4-FFL | m-xylene degradation in TOL plasmid: P. putida mt-2 Pu gene induced upon IHF and XylR, which is repressed by IHF |
.
├── IFFL_type1.ipynb # I1-FFL: S→X→|R, S→R (X represses R via Hill function)
├── IFFL_type2.ipynb # I2-FFL: S→|X, AND(x<1, inp<1) → R
├── IFFL_type3.ipynb # I3-FFL: S→X→R, S→|R (input degrades R directly)
├── IFFL_type4.ipynb # I4-FFL: S→|X, AND(x>1, inp>1) → R (low cooperativity)
└── Processing_Oscillatory_Signals_by_Incoherent_Feedforward_Loops.pdf
The input signal is a periodic square-wave φ(t) with k pulses, period T, and duration D:
φ(t) = 1 if t₀ + iT ≤ t < t₀ + iT + D (i = 0, …, k−1)
φ(t) = 0 otherwise
dx/dt = β·φ(t) − x
dr/dt = β·φ(t) − [γᵣ · xⁿ/(xⁿ+1) + γ₀] · r
X follows the input directly; once it crosses a threshold it represses R via a high-cooperativity Hill function. Short pulses allow X to return below threshold between pulses, enabling R to count; long pulses keep X above threshold, resetting R each cycle (adaptation).
dx/dt = αₓ / (1 + (β·φ(t))ⁿ) − x
dr/dt = αᵣ · AND(x < 1, β·φ(t) < 1) − γ₀ · r
The signal represses X; R is produced only when both X and the input are below threshold (AND gate). The production window opens after each pulse ends (when the input is off but X is still below threshold), making R accumulation sensitive to pulse duration. For β < 1, X never crosses its threshold and counting is not possible.
dx/dt = β·φ(t) − γₓ·x
dr/dt = xⁿ/(xⁿ+1) − r·(γᵣ·β·φ(t) + γ₀)
X is activated by the input; R is activated by X but repressed directly by the input signal through an additive degradation term γᵣ·S. This creates a distinctive inverse (decreasing) counting behaviour: R decreases with each additional pulse, the opposite of I1-, I2-, and I4-FFLs. The I3-FFL is the least common IFFL motif in known transcription networks (S. cerevisiae, E. coli), likely due to its limited biological utility in this dual-response mode.
dx/dt = αₓ / (1 + (β·φ(t))ⁿ⁼²) − x
dr/dt = αᵣ · AND(x > 1, β·φ(t) > 1) − γ₀ · r
Structurally similar to I2-FFL, but with low cooperativity (n=2) for X and an AND gate that opens at pulse onset (when X is still above threshold and the input has just turned on). For long pulses, X is driven below threshold before the input turns off, closing the gate and enabling adaptation; for short pulses, the gate stays briefly open per cycle, enabling counting.
Following Zhang et al. (2016), counting quality is assessed by fitting a linear regression to the final value of R (at a fixed endpoint) as a function of the number of pulses k:
- High-quality counting: R² ≥ 0.99
- Low-quality counting: 0 < R² < 0.99
- Adaptation: R² low or negative slope (for I3-FFL)
The slope of the regression is used as a proxy for the response magnitude per pulse.
Each notebook covers:
- Time-series visualisation:
S,X, andRtrajectories for short (D=1) and long (D=3–3.5) pulses, illustrating the counting vs. adaptation duality. - Counting calibration curve: Final
Rvs. number of pulses, with linear regression overlay, R², and slope reported. - Effect of basal degradation γ₀: How reporter stability affects counting quality; high γ₀ degrades linearity.
- Parameter heatmaps: R² and slope swept over 2D grids of:
- β (input amplitude) × D (pulse duration)
- γᵣ or αₓ × D (depending on topology)
- Analytical boundary (I1-FFL only): The theoretical counting/adaptation boundary
(1 − e^−D)/(1 − e^−T) = 1/βplotted in log-log scale for several β values.
| Type | Counting direction | Key parameter controlling counting boundary |
|---|---|---|
| I1-FFL | Upward | β and γᵣ; analytical boundary exists |
| I2-FFL | Upward | Pulse duration D; β < 1 always prevents counting |
| I3-FFL | Downward | γᵣ; requires high initial R concentration |
| I4-FFL | Upward | αₓ; low αₓ prevents sufficient X repression |
| Package | Purpose |
|---|---|
numpy |
Numerical arrays |
scipy |
ODE integration (odeint), linear regression |
matplotlib |
Plotting |
Install with:
pip install numpy scipy matplotlibPython 3.8+ recommended.
Each notebook is self-contained. Open any of them in Jupyter Lab, Jupyter Notebook, or VS Code and run all cells in order.
jupyter lab IFFL_type1.ipynb| Symbol | Description |
|---|---|
β |
Input signal amplitude (must be > 1 for I1/I3; < 1 for I2/I4 in counting regime) |
D |
Pulse duration |
T |
Inter-pulse period (default T = 4) |
n |
Hill-function cooperativity (n = 110 for near-step; n = 2 for I4-FFL) |
γ₀ |
Basal degradation rate of R (high values reduce counting quality) |
γᵣ |
Input-dependent or X-dependent degradation rate of R |
γₓ |
Basal degradation rate of X (I3-FFL) |
αₓ, αᵣ |
Maximum production rates of X and R |
- Zhang, C., Tsoi, R., Wu, F., and Li, Y. (2016). Processing oscillatory signals by incoherent feedforward loops. PLOS Computational Biology, 12(9): e1005101. (primary reference)
- Albeck, J. G., Mills, G. B., and Brugge, J. S. (2013). Frequency-modulated pulses of ERK activity transmit quantitative proliferation signals. Molecular Cell, 49(2): 249–261.
- Alon, U. (2006). An Introduction to Systems Biology. CRC Press.
- Alon, U. (2019). An Introduction to Systems Biology: Design Principles of Biological Circuits (2nd ed.). CRC Press.
- Batchelor, E., Loewer, A., Mock, C. S., and Lahav, G. (2011). Stimulus-dependent dynamics of P53 in single cells. Molecular Systems Biology, 7(1).
- Cheong, R. and Levchenko, A. (2010). Oscillatory signaling processes: the how, the why and the where. Current Opinion in Genetics & Development, 20(6): 665–669.
- He, B. and Tan, K. (2016). Understanding transcriptional regulatory networks using computational models. Current Opinion in Genetics & Development, 37: 101–108.
- Isomura, A. and Kageyama, R. (2014). Ultradian oscillations and pulses: coordinating cellular responses and cell fate decisions. Development, 141(19): 3627–3636.
- Joanito, I., Chu, J., Wu, S.-H., and Hsu, C. (2018). An incoherent feedforward loop switches the Arabidopsis clock rapidly between two hysteretic states. Scientific Reports, 8(1).
- Kim, J., Khetarpal, I., Sen, S., and Murray, R. M. (2014). Synthetic circuit for exact adaptation and fold-change detection. Nucleic Acids Research, 42(9): 6078–6089.
- MacGillavry, H. D., Stam, F. J., Sassen, M. M., Kegel, L., Hendriks, W. T., Verhaagen, J., Smit, A. B., and Van Kesteren, R. E. (2009). NFIL3 and cAMP response element-binding protein form a transcriptional feedforward loop that controls neuronal regeneration-associated gene expression. The Journal of Neuroscience, 29(49): 15542–15550.
- Mangan, S. and Alon, U. (2003). Structure and function of the feedforward loop network motif. PNAS, 100(21): 11980–11985.
- Metzig, M. O., Tang, Y., Mitchell, S., Taylor, B., Foreman, R. T., Wollman, R., and Hoffmann, A. (2020). An incoherent feedforward loop interprets NFB/RELA dynamics to determine TNF-induced necroptosis decisions. Molecular Systems Biology, 16(12).
- Purvis, J. E., Karhohs, K. W., Mock, C., Batchelor, E., Loewer, A., and Lahav, G. (2012). P53 dynamics control cell fate. Science, 336(6087): 1440–1444.
- Santos-Moreno, J. and Schaerli, Y. (2018). Using synthetic biology to engineer spatial patterns. Advanced Biosystems, 3(4).
- Silva-Rocha, R. and De Lorenzo, V. (2011). A composite feed-forward loop I4-FFL involving IHF and CRC stabilizes expression of the XYLR regulator of Pseudomonas putida MT-2 from growth phase perturbations. Molecular BioSystems, 7(11): 2982.