Simulando el Represilador en C++

Systems biology
ODEs
Synthetic circuits
Author

Juan Camilo Arboleda Rivera

Published

December 21, 2021

En este tutorial vamos a simular el comportamiento del circuito genético conocido como Represilador. Este circuito fue descrito por Elowitz et. al en el año 2000 en su artículo “A synthetic oscillatory network of transcriptional regulators”.

¿Qué es el Represilador?

El Represilador es una red de regulación genética sintética, es decir, no existe en la naturaleza sino que fue diseñada y creada en el laboratorio. Esta red consiste básicamente en 3 genes: LacI, tetR y cI, los cuales son todos ellos represores de la expresión genética. Cada gen produce una proteína que reprime al siguiente gen como se muestra en la siguiente imagen:

Represilador

Código fuente

Puedes descargar el código fuente del represilador aquí. Brevemente, lo que hacemos es definir una función en la cual le asignamos valores a los parámetros del sistema y luego definimos las ecuaciones diferenciales.

Para compilar nuestro código, ejecutamos el siguiente comando:

g++ -I /path/to/boost/ -o represilador represilador.cpp

Para ejecutar el programa y guardar los resultados de la simulación en un archivo llamado rep.tsv, ejecutamos el siguiente comando:

./represilador > rep.tsv

Ya que tenemos los datos de la simulación, vamos a visualizarlos usando Python.

import matplotlib.pyplot as plt
from pandas import read_csv

df = read_csv('rep.tsv', sep='\t')

plt.figure(figsize=(15,5))
plt.plot(df.Tiempo, df.LacI, 'r', label='LacI')
plt.plot(df.Tiempo, df.TetR, 'y', label='TetR')
plt.plot(df.Tiempo, df.cI, 'b', label='cI')
plt.legend()
Back to top