Skip to content

PauBonco02/oscillatory-iffl-processing

Repository files navigation

Processing Oscillatory Signals by Incoherent Feedforward Loops

Authors: Anna Barredo Porta, Álvaro Borachok Fernandez, Pau Boncompte Carre, Gonzalo Plaza, Adriana Royuela Bermudez
Institution: Universitat Pompeu Fabra
Date: October 26th, 2023


Overview

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?


Biological Context

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

Repository Structure

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

Model Equations

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

Type 1 (I1-FFL)

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

Type 2 (I2-FFL)

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.

Type 3 (I3-FFL)

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.

Type 4 (I4-FFL)

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.


Counting Quality Metric

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.


Analyses Performed (per notebook)

Each notebook covers:

  1. Time-series visualisation: S, X, and R trajectories for short (D=1) and long (D=3–3.5) pulses, illustrating the counting vs. adaptation duality.
  2. Counting calibration curve: Final R vs. number of pulses, with linear regression overlay, R², and slope reported.
  3. Effect of basal degradation γ₀: How reporter stability affects counting quality; high γ₀ degrades linearity.
  4. Parameter heatmaps: R² and slope swept over 2D grids of:
    • β (input amplitude) × D (pulse duration)
    • γᵣ or αₓ × D (depending on topology)
  5. 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.

Key Findings

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

Requirements

Package Purpose
numpy Numerical arrays
scipy ODE integration (odeint), linear regression
matplotlib Plotting

Install with:

pip install numpy scipy matplotlib

Python 3.8+ recommended.


Usage

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

Key Parameters

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

References

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

About

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors