Algoritmos Genéticos y Predicción de

Download Report

Transcript Algoritmos Genéticos y Predicción de

Algoritmos
Genéticos
y
Predicción de
Plegamiento de
Proteinas
Primera Parte
Descripción del problema y Breve
repaso
El problema
Predecir la estructura de una proteina dada la
secuencia de aminoácidos que forma dicha proteina.
T
C
P
A
G
N
E
G
G
A
D
E
G
Breve repaso
Aminoácidos y Proteinas
Aminoácidos
Grupo Carboxido
(ácido)
O
C
+
H2N
Grupo Amino
OH
Ca
R
H
Residuo
O
C
O
C
H2N
Ca
R
OH
H
H2N
Ca
R
OH
H
O
OH H
O
C
H2N
Ca
R
Unión Péptida
H
C
H
N
Ca
R
OH
H
Proteinas
O
O
H
N
C
C
H
N
Ca
Ca
H
R
R
C
H
N
Ca
H
R
Angulos de torsión
O
O
H
N
C
C
H
N
Ca
Ca
H
R
R
C
H
N
Ca
H
R
Segunda Parte
Introducción a los Algoritmos
Genéticos
Descripción
• Encuentran soluciones “buenas” en un
tiempo razonable.
• Representan las posibles soluciones de un
problema como genes.
• Los algorítmos genéticos generan una
población de genes (posibles soluciones) y
los hacen evolucionar para obtener genes
mas aptos (mejores soluciones).
Inspiración
• En la naturaleza los individuos compiten por los recursos
del medio ambiente. Algunos son mejores que otros, esos
son los que tienen mas posibilidades de sobrevivir y
propagar su material genético.
• En un AG los genes son evaluados según una función
llamada Fitness function y los mejores son los que pasarán
a la próxima iteración.
Representación de los genes
•En la naturaleza:
Una secuencia de nucleótidos
A C C T G C A G
G
•En un algoritmo genético (ejemplos):
Un valor numérico (178) expresado en binario
1 0 1 1 0 0 1 0
Una secuencia de movimientos
Adelante Izquierda Izquierda
Atras
Pasos de un algoritmo genético
1.
2.
3.
4.
5.
Generar una población de n genes aleatoreos.
Evaluar a todos los individuos según la función de
aptitud (fitness function).
Generar nuevos individuos utilizando funciones como
Mutar, Cruzar (crossover), Variar, etc.
Seleccionar a los individuos que formarán la próxima
generación. (Seleccionar a los hijos (offsprings) o
seleccionar a los n mejores)
Volver a 2 hasta que se encuentre un valor predefinido o
se hallan cumplido una cantidad predeterminada de
iteraciones.
Mutación
1. Se decide con alguna probabilidad si se aplica la
mutación o no.
2. De aplicarse se selecciona con alguna probabilidad el bit
(o item del arreglo) a mutar.
3. De no ser un bit (que sería negado) se elije con alguna
probabilidad en que muta.
1
0
1
1
0
0
1
0
1
0
1
1
1
0
1
0
Cruza
1. Se decide con alguna probabilidad si se aplica la cruza o
no.
2. De aplicarse se selecciona con alguna probabilidad la
posición del arreglo donde se aplica.
Gen A
1
0
1
1
0
0
1
0
Gen B
0
0
1
1
1
0
0
1
Gen AB
1
0
1
1
1
0
0
1
Gen BA
0
0
1
1
0
0
1
0
Selección de la pareja
Existen dos formas de seleccionar la pareja con la
cual se va a cruzar un gen:
• En función de la función de aptitud.
• Seleccionar de un grupo aleatorio el mas apto.
Variación
1.
Se decide con alguna probabilidad si se aplica la
funcion o no.
2.
De aplicarse se cambia el valor de una de las
posiciones del arreglo de forma tal que el dato
codificado varíe levemente.
1
0
1
1
0
0
11
1
0
0
1
0
2
1
11
1
1
0
0
0
1
0
10
1
3
1
1
1
0
10
Links
• The Genetic Algorithms Archive
http://www.aic.nrl.navy.mil/galist/
• Genetic Algorithms and Artificial Life
Resources
http://www.scs.carleton.ca/~csgs/resources/gaal.html
• Genetic Algorithms
http://d.felk.cvut.cz/~xobitko/ga/
Tercera Parte
Utilizando Algoritmos Genéticos para
Resolver el Problema del Plegamiento de
Proteinas
Simulación de Plegamiento de
Proteinas por Optimización del
Campo de Fuerza
Representación de la información
(codificación de los genes)
•Coordenadas Cartesianas.
•Ángulos de torsión.
Definición del operador Mutar
Para la definición del operador Mutar se
analizaron estadisticamente los ángulos de
torsión de 129 proteinas de la base de datos
Brookhaven (PDB). Se utilizaron intervalos de
a 10° y se tomaron los 10 intervalos que
ocurrian con mas frecuencia (cada uno
representado por su extremo izquierdo) para
utilizar como ángulos a reemplazar por el
operador Mutar.
Definición del operador Variar
El operador Variar consta de tres componentes:
1°, 5° y 10°.
Para cada uno de los ángulos de torsión se toman
dos decisiones: primero si se aplica o no el
operador, y luego, en caso de aplicarse se elije
cual de los 3 componentes se utilizará para
incrementar o decrementar dicho ángulo de
torsión
Definición del operador Cruza
El operador Cruza consta de dos componentes: Cruza
uniforme y Cruza de dos puntos.
Los genes son agrupados de a pares y luego se decide si se
aplica o no el operador, de aplicarse se decide cual de los
dos componentes se utilizará.
La Cruza uniforme consiste en decidir (con probabilidad
del 50%) si se intercambia cada uno de los ángulos de
torsión de los dos genes.
La Cruza de dos puntos selecciona al azar dos residuos de
un individuo e intercambia el fragmento entre los residuos
con el otro individuo.
Steric Potential Energy Function
(Función de aptitud)
E=Ebond+Ephi+Etor+Eimpr+EvdW+Eel+EH+Ecr+Echpi
Ebond Potencial de la longitud del enlace
Ephi
Potencial del ángulo del enlace
Etor
Eimpr
EvdW
Potencial del ángulo de torsión
Potencial del ángulo impropio de torsión
Interacción de van der Waals
Eel
EH
Ecr
Potencial electroestático
Enlace de hidrógeno
Interacción con el solvente
Ecphi
Interacción con el solvente
Simplificaciones
E=Ebond+Ephi+Etor+Eimpr+EvdW+Eel+EH+Ecr+Echpi
• Como asumimos longitudes y ángulos de enlace constantes
tenemos que Ebond (Potencial de la longitud del enlace),
Ephi (Potecial del ángulo del enlace) y Eimpr (Potencial del
ángulo impropio de torsión) son constantes.
• Se omite EH porque se tendría que haber tenido en cuenta
en EvdW y Eel
• Como simulamos el plegamiento de la proteina en el vacio
(sin ligadores ni solventes) los valores de Eci y Echpi son
constantes.
Entropía
E=Etor+EvdW+Eel+Epe
• Si utilizamos unicamente Etor , EvdW y Eel no
obtendríamos suficiente energía para llevar a la
proteina a un estado compacto de plegado.
• Es muy complicado calcular la diferencia de
entropia entre un estado plegado y un desplegado
(esta relacionado con la interacción entre la
proteina y el solvente).
• Para tener esto en cuenta utilizaremos un término
ad-hoc (Que tiene en cuenta el diámetro de la
proteina obtenido y el esperado)
Parametrización
Los parametros
controlan el
comportamiento del
algoritmo. Y pueden
variar mientras se el
algoritmo se ejecuta.
Estructura del Crambin (estructura determinada con
una resolución de 1.5 Ǻ – Tamaño: 46 residuos)
Uno de los plegamientos generados por el algoritmo
Resultados
• Ninguno de los 10 individuos
muestra similaridad estructural
con la forma del crambin.
• Los resultados obtenidos “tienen
forma” de proteina, no tienen
nudos ni extremos sobresalientes
• En la última generación se
obtuvieron dos familias distintas
de estructuras, con valores de
rms de aproximandamente 2
entre los miembros de cada
familia y de 9 entre las familias
Resultados
Energias en la última generación.
Los individuos generados
por el AG tienen un mayor
potencial electroestático que
el cambrin original, esto se
debe principalmente a:
El crambin tiene 6 residuos
parcialmente cargados que no
fueron neutralizados en este
experimento
El algoritmo favorese a las
configuraciones con menor
energia total lo cual es facilmente
alcanzable optimizando las
contribuciones electroestaticas.
Resultados
• Teniendo en cuenta el tamaño de la
población, y el hecho de que en la última
generación se encontraron dos familias de
conformaciones podemos decir que:
Los resultados no fueron tan malos!!!
• Habría que encontrar una función de aptitud
que represente mejor las conformaciones.
Optimización Multi-criterio de la
Conformación de la Proteina
Nueva función de aptitud
Polar
Favorese a los residuos polares en la
superficie de la proteina
Hydro
Favorese a los residuos hidrofóbicos en el
nucleo de la proteina
Scatter
Promueve plegamientos compactos tomando
en cuenta las distancias entre los Ca
Solvent
Es la superficie accesible al solvente
Crippen
Medida empírica que tiene en cuenta la
interacción de los átomos en una cierta
distancia
Clash
Cuenta las colisiones atómicas (cuando dos
átomos están a una distancia menor de 3.8Å)
Resultado obtenido utilizando unicamente Polar, Epe, Etor, Eel, Hydro, Crippen y
Solvent
r.m.s=6.27Å
Conclusiones
• Los AGs probaron ser una herramienta de
busqueda eficiente para la representacion
tridimensional de las proteinas.
• Utilzando Campos de fuerza como función de
aptitud y una pequeña población el algoritmo
genera diversos individuos pero con una funcion
de aptitud bastante optima.
• El mayor problema recae en la función de aptitud,
ya que no se puede encontrar una lo
suficientemente precisa se encuentran soluciones
sub-optimas diversas alejadas de la solucion
óptima