stringtranslate.com

Algoritmo de Gillespie

En teoría de la probabilidad , el algoritmo de Gillespie (o el algoritmo de Doob-Gillespie o algoritmo de simulación estocástica , el SSA ) genera una trayectoria estadísticamente correcta (posible solución) de un sistema de ecuaciones estocásticas para el cual se conocen las velocidades de reacción . Fue creado por Joseph L. Doob y otros (alrededor de 1945), presentado por Dan Gillespie en 1976 y popularizado en 1977 en un artículo donde lo utiliza para simular sistemas de reacciones químicos o bioquímicos de manera eficiente y precisa utilizando un poder computacional limitado (ver simulación estocástica ). [1] A medida que las computadoras se han vuelto más rápidas, el algoritmo se ha utilizado para simular sistemas cada vez más complejos. El algoritmo es particularmente útil para simular reacciones dentro de células, donde la cantidad de reactivos es baja y realizar un seguimiento de cada reacción es computacionalmente factible. Matemáticamente, es una variante del método dinámico de Monte Carlo y similar a los métodos cinéticos de Monte Carlo . Se utiliza mucho en biología de sistemas computacionales . [ cita necesaria ]

Historia

El proceso que condujo al algoritmo reconoce varios pasos importantes. En 1931, Andrei Kolmogorov introdujo las ecuaciones diferenciales correspondientes a la evolución temporal de procesos estocásticos que se desarrollan mediante saltos, hoy conocidas como ecuaciones de Kolmogorov (proceso de salto de Markov) (una versión simplificada se conoce como ecuación maestra en las ciencias naturales). Fue William Feller , en 1940, quien encontró las condiciones bajo las cuales las ecuaciones de Kolmogorov admitían probabilidades (propias) como soluciones. En su Teorema I (obra de 1940) establece que el tiempo hasta el siguiente salto se distribuyó exponencialmente y la probabilidad del siguiente evento es proporcional a la velocidad. Como tal, estableció la relación de las ecuaciones de Kolmogorov con los procesos estocásticos . Posteriormente, Doob (1942, 1945) amplió las soluciones de Feller más allá del caso de los procesos de salto puro. El método fue implementado en computadoras por David George Kendall (1950) usando la computadora Manchester Mark 1 y luego utilizado por Maurice S. Bartlett (1953) en sus estudios sobre brotes epidémicos. Gillespie (1977) obtiene el algoritmo de otra manera haciendo uso de un argumento físico.

Idea detrás del algoritmo

Las ecuaciones de velocidad bioquímicas continuas y deterministas tradicionales no predicen con precisión las reacciones celulares, ya que se basan en reacciones masivas que requieren las interacciones de millones de moléculas. Por lo general, se modelan como un conjunto de ecuaciones diferenciales ordinarias acopladas. Por el contrario, el algoritmo de Gillespie permite una simulación discreta y estocástica de un sistema con pocos reactivos porque cada reacción se simula explícitamente. Una trayectoria correspondiente a una única simulación de Gillespie representa una muestra exacta de la función de masa de probabilidad que es la solución de la ecuación maestra .

La base física del algoritmo es la colisión de moléculas dentro de un recipiente de reacción. Se supone que las colisiones son frecuentes, pero las colisiones con la orientación y energía adecuadas son poco frecuentes. Se supone que el ambiente de reacción está bien mezclado.

Algoritmo

Una revisión (Gillespie, 2007) describe tres formulaciones diferentes, pero equivalentes; los métodos directo, de primera reacción y de primera familia, siendo los dos primeros casos especiales del segundo. La formulación de los métodos directo y de primera reacción se centra en realizar los habituales pasos de inversión de Monte Carlo sobre la llamada "premisa fundamental de la cinética química estocástica", que matemáticamente es la función

donde cada uno de los términos son funciones de propensión de una reacción elemental, cuyo argumento es , el vector de especies cuenta. El parámetro es el tiempo hasta la siguiente reacción (o tiempo de estancia) y es el tiempo actual. Parafraseando a Gillespie, esta expresión se lee como "la probabilidad, dada , de que la siguiente reacción del sistema ocurra en el intervalo de tiempo infinitesimal , y será de estequiometría correspondiente a la reacción enésima". Esta formulación proporciona una ventana a los métodos directo y de primera reacción al implicar que es una variable aleatoria distribuida exponencialmente y es "una variable aleatoria entera estadísticamente independiente con probabilidades puntuales ".

Por lo tanto, el método de generación de Monte Carlo consiste simplemente en dibujar dos números pseudoaleatorios, y en , y calcular

y

el entero más pequeño que satisface

Utilizando este método de generación para el tiempo de estancia y la siguiente reacción, Gillespie establece el algoritmo del método directo como

1. Inicialice el tiempo y el estado del sistema
2. Con el sistema en el estado en el momento , evalúe todos y su suma
3. Calcule el valor anterior de y
4. Efectúe la siguiente reacción reemplazando y
5. Registre como desee. Regrese al paso 2 o finalice la simulación.

donde representa la suma del componente del vector de cambio de estado dado . Esta familia de algoritmos es computacionalmente costosa y, por lo tanto, existen muchas modificaciones y adaptaciones, incluido el siguiente método de reacción (Gibson & Bruck), salto tau , así como técnicas híbridas donde se modelan abundantes reactivos con comportamiento determinista. Las técnicas adaptadas generalmente comprometen la exactitud de la teoría detrás del algoritmo cuando se conecta con la ecuación maestra, pero ofrecen realizaciones razonables para escalas de tiempo muy mejoradas. El costo computacional de las versiones exactas del algoritmo está determinado por la clase de acoplamiento de la red de reacción. En redes débilmente acopladas, el número de reacciones que se ven influenciadas por cualquier otra reacción está limitado por una pequeña constante. En redes fuertemente acopladas, una única reacción puede, en principio, afectar a todas las demás reacciones. Se ha desarrollado una versión exacta del algoritmo con escalado en tiempo constante para redes débilmente acopladas, que permite una simulación eficiente de sistemas con un gran número de canales de reacción (Slepoy Thompson Plimpton 2008). El algoritmo generalizado de Gillespie que tiene en cuenta las propiedades no markovianas de eventos bioquímicos aleatorios con retraso ha sido desarrollado por Bratsun et al. 2005 e independientemente Barrio et al. 2006, así como (Cai 2007). Consulte los artículos citados a continuación para obtener más detalles.

Las formulaciones de propensión parcial, desarrolladas de forma independiente por Ramaswamy et al. (2009, 2010) e Indurkhya y Beal (2010), están disponibles para construir una familia de versiones exactas del algoritmo cuyo costo computacional es proporcional al número de especies químicas en la red, en lugar del (mayor) número de reacciones. Estas formulaciones pueden reducir el costo computacional a un escalamiento de tiempo constante para redes débilmente acopladas y a una escala como máximo lineal con el número de especies para redes fuertemente acopladas. También se ha propuesto una variante de propensión parcial del algoritmo generalizado de Gillespie para reacciones con retrasos (Ramaswamy Sbalzarini 2011). El uso de métodos de propensión parcial se limita a reacciones químicas elementales, es decir, reacciones con como máximo dos reactivos diferentes. Cada reacción química no elemental se puede descomponer de manera equivalente en un conjunto de reacciones elementales, a expensas de un aumento lineal (en el orden de la reacción) en el tamaño de la red.

Ejemplos

Unión reversible de A y B para formar dímeros AB

Un ejemplo sencillo puede ayudar a explicar cómo funciona el algoritmo de Gillespie. Considere un sistema de moléculas de dos tipos , A y B. En este sistema, A y B se unen reversiblemente para formar dímeros AB de modo que son posibles dos reacciones: A y B reaccionan reversiblemente para formar un dímero AB , o un dímero AB se disocia en A y B. La constante de velocidad de reacción para una determinada molécula A que reacciona con una determinada molécula B es , y la velocidad de reacción para la ruptura de un dímero AB es .

Si en el momento t hay una molécula de cada tipo entonces la velocidad de formación de dímeros es , mientras que si hay moléculas de tipo A y moléculas de tipo B , la velocidad de formación de dímeros es . Si hay dímeros, entonces la tasa de disociación de los dímeros es .

La velocidad de reacción total, , en el tiempo t viene dada por

Entonces, ahora hemos descrito un modelo simple con dos reacciones. Esta definición es independiente del algoritmo de Gillespie. Ahora describiremos cómo aplicar el algoritmo de Gillespie a este sistema.

En el algoritmo, avanzamos en el tiempo en dos pasos: calculando el tiempo hasta la siguiente reacción y determinando cuál de las posibles reacciones es la siguiente. Se supone que las reacciones son completamente aleatorias, por lo que si la velocidad de reacción en un momento t es , entonces el tiempo, δ t , hasta que ocurra la siguiente reacción es un número aleatorio extraído de la función de distribución exponencial con media . Por tanto, adelantamos el tiempo de t a t + δ t .

Gráfico del número de moléculas A (curva negra) y dímeros AB en función del tiempo. Como comenzamos con 10 moléculas A y B en el instante t = 0, el número de moléculas B siempre es igual al número de moléculas A , por lo que no se muestra.

La probabilidad de que esta reacción sea una molécula A que se une a una molécula B es simplemente la fracción de la velocidad total debida a este tipo de reacción, es decir,

la probabilidad de que la reacción sea

La probabilidad de que la siguiente reacción sea la disociación de un dímero AB es solo 1 menos eso. Entonces, con estas dos probabilidades formamos un dímero reduciendo y en uno y aumentando en uno, o disociamos un dímero y aumentando y en uno y disminuyendo en uno.

Ahora hemos avanzado el tiempo hasta t + δ t y hemos realizado una única reacción. El algoritmo de Gillespie simplemente repite estos dos pasos tantas veces como sea necesario para simular el sistema durante el tiempo que queramos (es decir, durante tantas reacciones). El resultado de una simulación de Gillespie que comienza con y en t =0, y donde y , se muestra a la derecha. Para estos valores de parámetros, en promedio hay 8 dímeros y 2 de A y B , pero debido al pequeño número de moléculas, las fluctuaciones alrededor de estos valores son grandes. El algoritmo de Gillespie se utiliza a menudo para estudiar sistemas en los que estas fluctuaciones son importantes.

Ese fue sólo un ejemplo simple, con dos reacciones. Los sistemas más complejos con más reacciones se manejan de la misma manera. Todas las velocidades de reacción deben calcularse en cada paso de tiempo y elegirse una con probabilidad igual a su contribución fraccionaria a la velocidad. Luego se avanza el tiempo como en este ejemplo.

Autoensamblaje estocástico

El modelo de Gard describe el autoensamblaje de lípidos en agregados. Utilizando simulaciones estocásticas se muestra el surgimiento de múltiples tipos de agregados y su evolución.

Referencias

  1. ^ Gillespie, Daniel T. (1 de mayo de 2007). "Simulación estocástica de la cinética química". Revista Anual de Química Física . 58 (1): 35–55. Código Bib : 2007ARPC...58...35G. doi : 10.1146/annurev.physchem.58.032806.104637. ISSN  0066-426X. PMID  17037977.

Otras lecturas