Universidad de Buenos Aires Facultad de Ciencias Exactas y Naturales Departamento de Computación Laboratorio de Redes Neuronales Trabajo de investigación Predicción de la estructura secundaria de una proteína mediante el uso de Redes Neuronales (Jueves 7 de julio de 2005 ) Ariel D´Onofrio ([email protected]) 1 Resumen Con el propósito de predecir la estructura secundaria de las proteínas solubles en agua se recreo la arquitectura de red neuronal feed-forward diseñada por Burkhard Rost y Chris Sander [13], y se la entreno con una nueva base de datos [c], de mas de 3 veces el tamaño de la original, aunque posee el mismo formato que la misma, incluyendo información de familia de proteínas mediante el uso de secuencias alineadas múltiples y conteniendo 117 secuencias de proteínas presentes en la base de datos utilizada por Rost y Sander[13]. La performance lograda fue de 70.43% contra 70.8% lograda por Rost y Sanders, luego se modificaron parámetros del entrenamiento y tamaño de ventana y se logro un aumento en la efectividad hasta el 71.12% , se concluyo que la nueva base de datos genero el aumento en la performance de la arquitectura, aumento mayor que la diferencia observada dado que algunas cosas del trabajo de Rost y Sander no fueron utilizadas, como conservation weigths y además de las 9 arquitecturas diferentes por ellos propuestas se utilizaron 4. La performance en la predicción de la longitud promedio de la estructura secundaria α y β, se mantuvo en los mismos niveles de efectividad del trabajo de Rost y Sander[13], tanto para el modelo recreado, como para la propuesta para mejorarlo. Palabras clave Predicción de estructura secundaria de las proteínas solubles en agua, alineación de secuencias múltiples, redes neuronales, Rost y Sander. 2 1. Motivación La secuenciación en gran escala de proteínas a producido una explosión de la cantidad de secuencias conocidas de proteínas desde hace casi un cuarto de siglo, esto se contrarresta con el mucho menor crecimiento en el numero de estructuras conocidas de proteínas. Secuenciar una proteína es proceso totalmente mecanizado en estos días, mientras que conocer su estructura tridimensional y por lo tanto acceder a la secundaria todavía dista de serlo. Poder predecir la estructura de las proteínas a partir de su secuencia de aminoácidos, permitiría acercar la brecha existente en estos días, además que predecir acertadamente la estructura secundaria de una proteína nos da la capacidad de acceder a información valiosa sobre la funcionalidad y propiedades estructurales de dicha proteína. La importancia fundamental de conocer la estructura terciaria de una proteína se basa en que la función de la misma esta dada justamente por su conformación tridimensional es decir que si conocemos la estructura terciaria de la proteína podríamos conocer que función tiene y como interactúa con el resto de la proteínas en su medio 2. Introducción teórica Uno de los mayores objetivos dentro del campo de la informática aplicado a la biología, es poder entender las relaciones entre los aminoácidos que conforman una determinada proteína y su estructura tridimensional, si esta relación es comprendida entonces se podría obtener la estructura tridimensional de cualquier proteína solo con saberla secuencia de aminoácidos que la conforman. Desde un punto de vista químico, las proteínas son, con algunas diferencias, las moléculas estructuralmente mas complejas y funcionalmente sofisticadas que se conocen. 2.1 Estructura de las proteínas Las proteínas son cadenas de aminoácidos unidas por uniones peptídicas, existen solo 20 tipos distintos de aminoácidos que pueden conformar una proteína y cada uno posee propiedades químicas individuales. Muchas conformaciones de la cadena son posibles debido a la rotación de la cadena especto de cada átomo Cα., estas variaciones conformacionales son las responsables de las diferencias en la estructura tridimensional de las proteínas. Los átomos se comportan casi como si fueran pesadas esferas de un radio determinado, (fuerzas de van del Waals), en particular también lo hacen los de las moléculas también, y el requisito de que dos átomos no puedan solaparse limita el numero de posible de ángulos de enlace en una cadena polipeptídica, esta fuerza y otras iteraciones reducen severamente el numero de disposiciones tridimensionales ( o conformaciones) posibles. 3 Aunque igualmente, y a pesar de eso, una larga cadena flexible, como la de una proteína, puede plegarse en un numero enorme de posibilidades. cada aminoácido en la cadena es polar, es decir, posee regiones separadas cargadas negativamente y positivamente respectivamente, además de un grupo químico libre C=O que puede actuar como un aceptor de hidrogeno y un grupo NH que puede actuar como un donante de hidrogeno. La cadena de aminoácidos que conforman una proteína forma una estructura secundaria mediante la formación de uniones de puente hidrógeno entre ellos, a través de otras interacciones entre los grupos de aminoácidos, estas estructuras secundarias se pliegan formando una estructura tridimensional. De esta manera la estructura de una proteína esta firmemente especificada por la secuencia de aminoácidos que la conforman, pero como un conjunto de interacciones genera una determinada estructura tridimensional de todas las posibles, es un fenómeno que no se entiende en su totalidad en la actualidad. Como resultado de todas las diferentes fuerzas e interacciones posibles, el plegamiento o conformación de un proteína es aquella en la cual se minimiza la energía libre en la cadena polipeptídica. En resumen, se distinguen cuatro niveles de organización en la estructura de una proteína. Estructura primaria Es la secuencia de aminoácidos que conforman la misma. Estructura secundaria Formada por los segmentos de una cadena polipeptídica que forman α-hélices o laminas β, o otra estructura que no sea las ya mencionadas. Estructura terciaria Es la conformación tridimensional que forma la cadena polipeptídica. Estructura cuaternaria Es la conformación tridimensional de una molécula proteica particular que esta constituida por un complejo de mas de una cadena polipeptídica. 2.2 Respecto de la estructura secundaria La interacción entre los aminoácidos genera estructuras secundarias conocidas que pueden ser clasificadas en , α-hélices, laminas β, loops y coil, existe clasificaciones mas finas por ejemplo la determinada por DSSP[e]. 4 α-hélices Son las mas abundantes de las estructuras secundarias en las proteínas, se generan cuando una cadena polipeptídica se enrolla sobre si misma, formando un cilindro rígido, entre cada cuatro enlaces peptídicos se establece un enlace de hidrógeno. Figura 1 Laminas β Están formadas por uniones hidrógeno entre 5 a 10 aminoácidos consecutivos en promedio en una parte de la cadena de aminoácidos, con otros 5 a 10 aminoácidos en la continuación de la misma cadena. Figura 2 5 Loops Son regiones en la cadena de aminoácidos que están entre α-hélices y laminas β, de variadas longitudes y configuraciones tridimensionales y en la superficie de la estructura. Coil Es una región de la estructura secundaria que no es un hélice, ni una lamina, ni otra conformación reconocible. Figura 3 Figura 4 Diferentes vistas de la proteína 9API, obtenida en el sitio Protein Data Bank[f], se puede ver claramente la estructuras secundarias α-hélices, laminas β y colas. Se utilizó para graficar al estructura el graficador de proteínas RasMol versión 2.6. 6 3. Estado del Arte La predicción correcta de α-hélices y laminas β y otras estructuras secundarias que se forman sobre la cadena de aminoácidos de una proteína es uno de los problemas que mas reto tienen sobre los problemas de análisis de secuencia. Hasta el presente no es posible predecir estos eventos con una alta confianza en el resultado obtenido , aunque a medida que los métodos fueron mejorándose se ha alcanzado un éxito en la predicción entre el 60 al 75 %, con mayor efectividad para las α-hélices, dependiendo del método utilizado, hasta el año 2001 la mayor efectividad alcanzada rondaba entre el 77% y 78%.[2]. Los métodos para la predicción de estructura de una secuencia de aminoácidos, comienzan con un análisis de una base de datos de estructuras conocidas, estas bases de datos son examinadas en búsqueda de alguna posible relación entre la secuencia y la estructura. Cuando la predicción de la estructura secundaria comenzó a ser una realidad entre los años 70 y 80, solo existían unas pocas docenas de estructuras catalogadas, esta situación ha ido evolucionando hasta llegar al presente en el cual se cuenta con bases de datos incluyendo aproximadamente 500 estructuras conocidas. La presunción de todo método de preedición de la estructura secundaria es que debe existir una correlación entre la cadena de aminoácidos y su estructura secundaria. Se cree que dada una cadena corta de aminoácidos esta tiene mas posibilidades pertenecer a una estructura secundaria determinada que a otras, de esta manera muchos métodos examinan ventanas de entre 13 a 17 aminoácidos y asumen que el aminoácido central en la ventan debe adoptar una conformación que es determinada por los aminoácidos presentes en esa ventana. El tamaño de la ventana utilizada se encuentra en relación directa con el tamaño real de la longitud de las α-hélices (5-40 aminoácidos) y laminas β ( 5-10 aminoácidos) 3.1 Métodos Existentes Existen básicamente 3 métodos para realizar la predicción de la estructura secundaria, 1) El método de Choufasman[3]. 2) El método de GOR[4] 3) El método mediante redes neuronales[5]. Los métodos 1 y 2, son métodos ya en desuso que fueron superados por métodos mas recientes, como por ejemplo los que utilizan redes neuronales, por lo tanto comenzaremos dando una descripción del primer método que utilizo una red neuronal para resolver el problema así podremos entender mas rápidamente el método de Rost y Sander[13]. 7 3.2 Utilizando redes neuronales para la predicción Los primeros en utilizar este tipo de enfoque fueron Qian y Sejnowkski [12] sentando la base de cómo utilizar una red neuronal para el modelado del problema, obteniendo un éxito del 64.3% en la predicción. Mediante este método, entrenaron un perceptrón multicapa de una sola capa oculta para que esta sea capaz de reconocer patrones de aminoácidos que se encuentran una estructura secundaria conocida y distinguir estos patrones en otros patrones no localizados en esa estructura, utilizando una base de datos de 126 proteínas. Para ver perceptrón multicapa y su método de entrenamiento.[16] 3.2.1 Esquema general El esquema general de el predictor es el siguiente, se utilizo una ventana deslizante de entre 13 a 17 aminoácidos que va moviéndose secuencialmente alrededor de la secuencia de aminoácidos a predecir, entonces cada ventana posee la secuencia original de aminoácidos leídos y estos son usados como entrada para la red, previamente entrenada para reconocer cual es la estructura secundaria mas probable asociada con esa secuencia. El modelo puede predecir si determinada secuencia o patrón es una α-hélice o un lamina β u otra conformación, en este caso y para todo el resto del informe la estructura secundaria Coil y Loop se tomaran como pertenecientes el mismo tipo. El modelo predice un amioácido por vez, siendo el aminoácido de posicionado en la mitad de la ventana a cual le corresponde la predicción, por lo tanto los tamaños de las ventanas deben ser impares. 3.2.1 Arquitectura La ventana lee la secuencia original de aminoácidos y ofrece la secuencia leída a la capa de entrada. Esquema 1 8 Cada aminoácido en la ventana esta codificado por 20 números naturales representado los 20 aminoácidos posibles, por la tanto cada aminoácido va a generar en la red 20 entradas, 19 todas con cero y una sola con un uno, por lo tanto que si el tamaño de la ventana es de w, luego en tamaño de entrada de la red es de w*(20 + 1), dado que existe una entrada mas para indicar el solapamiento. El tamaño de la capa oculta es arbitrario dependiendo de la performance obtenida por el predictor. La capa de salida consta de 3 unidades, que representan cada uno que tipo de estructura es el aminoácido central de la ventana. 3.2.2 Método de entrenamiento El método de entrenamiento es el normal, se toma una parte de la base de datos para generar un conjunto de entrenamiento y otra parte para generar el conjunto de testeo. 3.2.3 Falencias del modelo básico Existen varias razones por las cuales el modelo básico de Qian y Sejnowski[12] tiende a ser Sub-optimo. • Las predicciones están basadas en un conjunto limitado del contexto local (en este caso el tamaño de la ventana). Ningún factor no local es tenido en cuenta en este caso, cuando sin embargo hay considerable evidencia de que las interacciones de largo alcance contribuyen a la formación de la estructura secundaria de la proteína. • Las predicciones están basadas en un conjunto limitado de información biológica , por ejemplo, la red no es entrenada con ninguna información sobre la evolución o con información acerca de las propiedades físico-químicas de las proteínas. • No se tienen en cuenta los principios físicos y químicos que ocurren realmente en las proteínas para constituir la estructura de la misma. • Las predicciones son no correlacionadas, es decir, cada predicción no tiene en cuenta las predicciones hechas para los residuos vecinos. • Las predicciones son realizadas en base a una sola red. 9 Figura 5 Ejemplo de cómo las iteraciones de largo alcance contribuyen a definir la estructura de una proteína, vemos como una determinada secuencia de aminoácidos que localmente debería ser un hélice, por interacción con aminoácidos alejados termina teniendo una estructura de lamina. Luego de la aparición del modelo de Quian y Sejnowki varios investigadores intentaron mejorarlo en los siguientes aspectos. 3.2.4 Mejoras al modelo básico a ) Agregar información biológica • A nivel de residuos Propiedades físico químicas. Holley y Karplus [8], exploraron la posibilidad de generar una codificación de los aminoácidos que incluya el nivel de hidrofobicidad, carga y flexibilidad de la cadena de aminoácidos. Este método genero un 2% de reducción en la performance del predictor Información sobre la evolución. Derivada de alineación de secuencias múltiples[13] , [14.] 10 1. Ventana con Frecuencia. (Sequence Profiles). Cada residuo es codificado usando 20 números reales (en vez de utilizar solo 1 uno y 19 ceros), representando la frecuencia con la que cada uno de los amino ácidos ocurre en esa posición del alineamiento. Se obtuvo aproximadamente un 6% de mejora en la predicción. 2. Conservación de residuos. Se agrega una nueva entrada de valor real por residuo, representando esta el grado en el cual es conservado ese mismo aminoácido en las secuencias alineadas con el. Se consiguió menos del 1% de mejora en la efectividad de la predicción. 3. Indels. Se agregan dos nuevos valores de entrada por residuo representado en numero relativo de inserciones y borrados (indels) en una posición dada en la alineación múltiple. Menos del 1% de mejora en la efectividad de la predicción. • A nivel no local Información acerca de toda la cadena 1. Composición de aminoácidos. Se agregan 20 nuevas entradas indicando el porcentaje que cada aminoácido representa en la cadena total. 2. Longitud de la cadena (se agrega una entrada adicional). 3. Distancia al C- y N-terminal (se agregan dos entradas adicionales). 4. Información sobre la estructura de la proteína: Información acerca de la clase de estructura terciaria de la proteína ( por ejemplo, todo-alfa, Todo beta, alfa/beta , alfa+beta), derivada desde CD espectroscopia o sobre un predictor de la clase de la proteína[3]. Los beneficios (si es que existen) de agregar información acerca de cada cadena como un todo no fueron todavía del todo caracterizados para predicción de estructuras secundarias[3], sin embargo una mejora mayor del 1% en la performance global parece altamente improbable. 11 Información de contacto 1. Periodicidad respecto de la estructura secundaria:.[9] se basa en calcular la magnitud de los momentos hidrofóbicos de las hélices y las laminas y esta información es agregada a la red mediante dos nuevas entradas. La mejora global en la predicción es alrededor del 1%, con la mayoría del beneficio proveniente de el nodo que representa el momento hidrofóbico de la hélice.. 2. Contactos de largo alcance. Muchos investigadores están tratando de encontrar métodos efectivos para identificar interacciones no locales especificas de manera tal de aumentar la habilidad de predecir la estructura de las proteínas a partir de su secuencia de aminoácidos, [10] y [1] b ) Agregar cambios al conjunto de entrenamiento • Cambios al nivel de patrones Compresión de la entrada. Ventanas de entrada muy grandes tienen mas posibilidades de generar problemas cuando se entrena la red para la predicción de estructura secundarias. Para superar esta dificultad, puede ser posible comprimir la dimensión del patrón de entrada (y de esta manera el numero de unidades de entrada de la red), de manera tal que se mantenga la información biológica importante en el conjunto comprimido. Una manera de lograr esto seria utilizar análisis de componentes principales al conjunto de entrada. Llenar la ventana con información respecto de residuos no adyacentes. Esta es una posible solución de como ingresar información no local sin aumentar el tamaño de la ventana. Este línea fue investigada por Chandonia y Karplus [1], utilizando un algoritmo denominado RELIEF para la selección de residuos no adyacentes. Desafortunadamente reportaron una leve desmejora en la capacidad de predicción. 12 • Cambios respecto de todo el conjunto de entrenamiento • Balanceo del conjunto de entrenamiento. Es decir balancear las proporciones, de hélices, laminas y colas, Esto generalmente produce una reducción en la perfomance medida por Q3, pero una mejora en los coeficientes de correlación. • Aumentar la cantidad de datos de entrenamiento, Aumentar en numero de proteínas no-homologas en el conjunto de entrenamiento posee 2 ventajas fundamentales: este tipo de información biológica extra, puede mejorar la habilidad de la red de discriminar entre diferentes tipos de estructura secundaria y el riesgo de sobreentrenamiento es reducido [4] utilizaron un conjunto de entrenamiento con 318 cadenas de proteínas no homologas, es decir, tres veces mas grande que el conjunto de entrenamiento utilizado por [12] Esto sugiere que puede ser que la capacidad de predicción pueda ir mejorando a medida que aumenta el numero de estructuras secundarias de las proteínas (no homologas). c ) Post-procesado y filtrado de la información La idea de este enfoque es intentar aminorar uno de los problemas mas básicos del enfoque con redes neuronales para la predicción de estructura secundaria, que es que las predicciones entre los distintos aminoácidos no están correlacionadas. • Smoothing, haciendo un promedio de las predicciones vecinas. Este esquema propuesto por [3], se trata de generar un promedio de las salidas de hélice , lamina y coil, entre 3 residuos adyacentes, por ejemplo el valor de hélice para el i-esimo residuo podría ser calculado de la siguiente manera. Este proceso puede ser aplicado repetidas veces, sin embargo Chandonia y Karplus[4] recomiendan que solo se haga una sola vez, produciendo una mejora en el 1% de la efectividad en la predicción. 13 • Utilizar una red de estructura a estructura para filtrar:. [12] utilizan una red de estructura a estructura, para filtrar las salidas de la primera, (la cual es una red de secuencia a estructura). Cada patrón utilizado para entrenar la segunda red consiste en una ventana de predicciones de estructura secundaria dada por la primera red . Patron: Salida: ... (0.6, 0.1,0.4) (0.8, 0.2, 0.2) (0.5, 0.6, 0.2) ... H Un posible beneficio de este modelo es que una red estructura-estructura (tres E entradas por residuo ) posee un tamaño de ventana mucho mas grande para la misma cantidad de pesos que para una red secuencia-estructura (20 entradas por residuo). [12] reporto una mejora del 2% en la performance de la predicción cuando es utilizado este tipo de método. • Filtrado con reglas explicitas :Otra manera de mejorar las predicciones de una red, es utilizar reglas explicitas para el filtrado de la salida. La mayoría de los investigadores definieron un numero chico de reglas simples (por ejemplo reglas que filtran hélices y laminas que se encuentran solas en la cadena), pero igualmente es posible generar un conjunto sofisticado de reglas (por ejemplo, un conjunto de reglas que tengan en cuenta la fuerza de la predicción de la red). De todas maneras utilizar un conjunto complejo de reglas desestima la utilización de una red neuronal, dado que queremos que la red aprenda sus propias d ) Post-procesado y filtrado de la información • Optimizar los parámetros de la red. Esto incluye todas las opciones estándar, para “sintonizar” la performance de una red neuronal, por ejemplo, encontrar un mayor numero de nodos ocultos, la conectividad de la red y los parámetros del algoritmo de entrenamiento. Detallados y riguroso tests realizados por [4] muestran que la arquitectura optima para la predicción de la estructura secundaria es 19(21)-8-2 (por ejemplo una ventana de 19 y 8 nodos ocultos). • Utilizar redes para decisión binaria. Por ejemplo tres redes entrenadas para discriminar entre los siguientes 3 tipos de estructuras secundarias: helice/no-hélice, lamina/no-lamina y cola/no-cola, luego la información es combinada para obtener un resultado final. Este tipo de enfoque tipo “divide y vencerás” es realmente atractivo, dado que una red de decisión binaria es frecuentemente mas acertada en discriminar patrones que una red con múltiples clases. Este enfoque fue aplicado para la predicción de [10] • Utilizar redes de ensamble, por ejemplo, combinar predicción hechas por distintas redes. Por ejemplo,[13] combinaron las predicciones de 10 sistemas distintos redes neuronales (comprendiendo ambos tipos de redes, secuencia-estructura y estructura-estructura), variando en la elección del conjunto de entrenamiento 14 balanceado/no-balanceado y el esquema de codificación, el resultado final es simplemente la promedio aritmético de las 10 predicciones ensambladas. Rost y Sander[13] reportaron un 2% de mejora en la performance de la predicción. • Incorporación de información de gran rango: 1. Cambiar el tamaño de la ventana. Un conjunto detallado de resultados se encuentran en [4] los cuales sugieren que la performance se deteriora a medida que el tamaño de la ventana aumenta mas allá de 19. 2. Compartir pesos (weight sharing )[10] de manera tal que la red posea 21 entradas independientemente del tamaño de la ventana. Con weight sharing, depende de la red el aprender la codificación reducida optima de cada aminoácido. 3. Utilizar una red feedback recurrente.. El trabajo presentado por Rost y Sander, fue el primero en agregar información de familia de proteínas y el primero en superar la barrera de efectividad del 70% ,utilizando gran parte de las ideas propuestas anteriormente por eso es un buen trabajo para analizar dado que confluyen en el un montón de nuevos conceptos para tener en cuenta.. 4. Materiales y Métodos 4.1 Base de datos Se utilizo una base de datos de 513 secuencias de proteínas, obtenida de (c), de estas 513 secuencias, que además están asociadas con su estructura secundaria real, 396 de ellas están extraídas de la base de datos 3Dee (d), y las otras 117 fueron obtenidas de la base de datos de Rost y Sander ( denominada RS126 ). El conjunto entero de secuencias fue comparado de a pares y se puede ver que cada uno es no redundante con corte de desviación estándar de 0.05. Al decir que es no redundante se quiere decir que ninguna de las secuencias contenidas en el conjunto posee una similitud de a pares >25%. La elección cuidadosa de la base de datos es importante dado que en presencia de proteínas homologas (proteínas cuyas secuencias son muy parecidas) en la base de datos se tiende a sobreestimar la perfomance del predictor, por poseer cierta correlación el conjunto de entrenamiento de el de testeo. La base de datos presenta además asociada a cada secuencia un conjunto de secuencias homologas a la misma por cada proteína presentada. 15 La principal diferencia con la base de datos utilizada por Rost y Sander [13], es el tamaño de la base de datos, pero al tener esta misma incluida 117 de las 126 secuencias utilizadas por ellos, nuestra base de datos contiene en un alto porcentaje la información utilizada por Rost y Sander. Debido a que en la arquitectura las predicciones realizadas son solo de 3 tipos distintos de estructura se debió hacer una reducción de las mismas, existen varios criterios para realizar la reducción, el utilizado fue encontrando en (b), y es el presentado en la tabla 1, es distinto del utilizado en Rost y Sander, pero solo en menor medida y no agrega ningún cambio sustancial al trabajo. Tabla 1 Letra H T S I G E B C Significado H C C C C E C C De las 513 proteínas se tomaron 450 como conjunto de entrenamiento y 63 como conjunto de testeo, se utilizo siempre el mismo conjunto de entrenamiento y el mismo conjunto de testeo, dando como resultado 73458 patrones para el conjunto de entrenamiento y 10661 para el conjunto de testeo. La composición de las distintas estructuras secundarias del conjunto de entrenamiento y del conjunto de testeo se pueden ver en la tabla 2. Tabla 2 Conjunto de Entrenamiento Testeo %α 0.3011 0.3611 %β 0.2186 0.17 %L 0.4802 0.46 Se ve que la proporción de las distintas estructuras secundarias es aproximadamente la misma, y debido las distintas distribuciones que hay para cada tipo de estructura dentro de las proteínas las efectividad de una predicción al azar es de aproximadamente 40%. 4.2 Medición de la performance Hay muchas maneras de medir la performance del método de predicción de la estructura secundaria, la mas comúnmente utilizada y las mas simple es obtener un promedio del éxito en la predicción, denominada Q3 , que indica el porcentaje de residuos correctamente 16 predichos para los 3 tipos de estructura secundaria, en términos de este trabajo hablar de Q3 o efectividad en la predicción es indistinto. Q3 = Pα + Pβ + Pcola N Donde N es el numero total de residuos a predecir y Pα es el numero correcto de predicciones de estructura secundaria tipo α hechas. Esta formula se corresponde con la formula (3) utilizada por Rost y Sander [1]. Un punto a destacar en términos de predicción secundaria para poder predecir la estructura terciaria es que es muy importante poder predecir que tipos de estructura hay mas que su longitud exacta, por ejemplo. Tabla 3 Estructura real Predicción 1 Predicción 2: LLααααααααααL ααααααααααLLL LαααLαααLαLLL LLααααααααααL La predicción 1 en mas efectiva en términos que cuantos aminoácidos fueron correctamente predichos que la predicción 2, pero en realidad, la predicción 2 es una mejor predicción dado que predijo correctamente que solo hay una estructura α hélice presente mientras que la predicción 1, predice que hay tres estructuras α hélice, esto en términos de querer predecir la estructura terciaria de la misma produciría una predicción totalmente errónea, mientras que con la predicción 2 podríamos llegar a tener una buena aproximación de cual es la con formación tridimensional real de la proteína en cuestión. Por eso es importante estimar el numero de hélices, laminas y vueltas, su longitud ( numero de residuos de ese segmento) y localización de las mismas. Esta estimación no esta estimada por las mediciones sobre residuos individuales como las anterior presentada. La medida mas simple de que tan buena es la predicción de la longitud de los segmentos que es predicha, es el promedio de la longitud de segmento denominado <Li>, i = α, β, L, que corresponde con la formula (8) de Rost y Sander [13]. Donde, <Li> = Ai Bi , y donde Ai = Suma de todas las longitudes de segmento de tipo de estructura i. 17 Bi = Numero de todos los segmentos de estructura i. B 4.3 Cosas no incluidas 4.3.1 7-fold-cross-validation El test Jack-nife, significa utilizar todas las proteínas de la base de datos menos una, para entrenar la red y la restante utilizarla para medir la perfomance del predictor, de esta manera si nuestra base de datos posee 513 proteínas, entonces debe repetirse este procedimiento 513 veces, hasta que todo el conjunto de la base de datos haya sido testeado una vez. El caso totalmente opuesto para medir la performance seria directamente entrenar la red con un solo conjunto de entrenamiento y testearla con otro una sola vez. La solución de compromiso utilizada por Rost y Sander[13] es la llamada 7-fold-crossvalidation, que significa tomar 111 cadenas para entrenamiento, y 19 para testeo, hasta que todas las cadenas hayan sido testeadas exactamente una vez. El tipo de fold cross validation no fue utilizado en la experimentación, como fue dicho anteriormente se utilizo solo un conjunto de entrenamiento y uno de testeo, la razón por la cual no se uso fue el tiempo que tarda en entrenarse todo un conjunto completo de arquitecturas. 4.3.1 Otras medidas Otra medidas de predicción mas finas tanto de efectividad como de calidad de la estructura secundaria predicha., no fueron utilizadas porque el trabajo se dedico a medir las dos variables mas importantes que eran Q3 y <Li>, las demás pueden dejarse para trabajos posteriores, para mas referencias ver Rost y Sander [1]. 18 5. Arquitectura El modelo de arquitectura utilizado para resolver el problema es el propuesto por Rost y Sander [13], lleva mas allá la idea original propuesta por Qian y Sejnowski [12], y consiste de una arquitectura combinada de tres capas, cuyo esquema es el siguiente, como se puede ver en esta imagen tomada del mismo trabajo de ellos, esta arquitectura y su implementación fue llamada por ellos como PHD, por ( Profile network from HeiDelberg ). Esquema 2 5.1 Esquema general En la figura pueden distinguirse las tres capas o niveles, cada una con una cumple función especifica dentro de la arquitectura. La primera y segunda capa de la red están compuestas cada una por un perceptrón multicapa de una sola capa oculta, que se va deslizando sobre la ventana de aminoácidos para ir generando los resultados, la tercer capa es en realidad una capa de decisión, en la cual se suman los resultados de diferentes arquitecturas de las primeras 2 capas y se elige la estructura asociada al aminoácido de la manera “winner take all”, por arquitectura de aquí en mas nos vamos a referir la primera y segunda capa de PHD asociada su manera particular de ser entrenada. 19 5.1.1 Primer nivel : red de secuencia-estructura Se le denomina red de secuencia-estructura porque recibe como entrada los datos de la secuencia que contiene el aminoácido a predecir y como salida, la información sobre la estructura que predice tener. Esta capa es muy importante, sobre todo porque aquí se le presenta por primera vez la información a la red y es aquí donde las decisiones sobre que tipo de información y como le va ser presentada a la misma se hacen. Ya sabemos que la base de datos posee para cada secuencia un conjunto de secuencias homologas a la misma y que cada patrón presentado a la red es tomado desde una ventana ( de tamaño w ) de vecinos consecutivos. En la figura de arriba, vemos que w=7 aunque igualmente el tamaño de la ventana puede ser arbitrario dentro de un cierto rango.. Por cada residuo perteneciente a la ventana se calcula que frecuencia de ocurrencia que posee cada aminoácido para esa posición en particular entre la secuencia y el conjunto de secuencias homologas que posee, por lo tanto cada residuo genera como mínimo 20 resultados, en cada uno de los cuales se especifica la presencia de el aminoácido que representa. Asociados a estos 20 números por residuo se agrega una nueva entrada que es indica el solapamiento de la ventana, dado que la ventana puede deslizar por fuera de los limites de la secuencia de la proteína. Supongamos que queremos predecir el ultimo aminoácido de la secuencia, utilizando una ventana w=7, por lo tanto el aminoácido a predecir se encuentra en la posición w=4, por lo tanto los aminoácidos siguientes no existen, con lo cual para los siguientes 3 posiciones de ventana se utiliza la siguiente codificación, se setea la entrada 21 en el numero1 y se dejan las primeras 20 en 0. La salida de esta red es un vector de 3 posiciones, donde cada posición de salida indica la estructura secundaria asociada al mismo. 20 5.1.2 Segundo nivel : red de estructura – estructura Utilizando solo la primera capa de red para predecir la estructura secundaria, no permite que se explote la correlación existente entre los resultados consecutivos, debido por ejemplo a que una hélice debe estar constituida de por lo menos 3 residuos. Por lo tanto capturar esta correlación es una tarea que se intenta llevar a cabo mediante el uso de un segundo nivel. El mismo consiste de un perceptrón multicapa también, con parámetros independientes del primer nivel, incluso con tamaño de ventana diferente, el cual es w=17. Por cada aminoácido de la ventana, se genera una predicción de la primer capa y ese es el resultado presentado a la red de la segunda capa, por lo tanto el tamaño de entrada de esta red es de w*3, dado que la salida de la predicción siempre es de 3. La salida de esta red es igual que la de la primera, posee 3 números representando la preedición sobre el aminoácido central de la ventana. 5.1.3 Tercer nivel: nivel de decisión Debido a que entrenar una red es una tarea que depende de muchos factores, el algoritmo de backprogation es sensible a cambios menores en los parámetros, el hecho de que pesos iniciales son elegidos, como se ejecuta la dinámica del aprendizaje, por ejemplo, el valor de momentum utilizado, la función de error utilizada, la función de activación utilizada, pueden influir en la performance de la predicción. Por eso se utilizan distintas arquitecturas (por arquitecturas en este caso quiero decir conformaciones de los parámetros elegido), luego se combinan los resultados de las mismas para obtener la predicción ganadora. Para elegir la estructura ganadora se utiliza el método de (winner take all) es decir la salida con el mayor valor asociado, es la estructura final que predice este método que posee un aminoácido en particular. La manera mas simple de combinar redes entrenadas independientemente es computar el Promedio aritmético de sus resultados individuales (decisión) <Si>jurado = 1 χ ∑s χ a =1 a i , para i = α,β,L donde, 21 Sia el es valor de salida de la unidad de salida i para la arquitectura a. Para problemas simples, el beneficio de la decisión del jurado ha sido demostrada; Lincoln y Skrzypek [11].. Un concepto similar al del la decisión del jurado es el de combinar diferentes predicciones de estructura secundaria. Este tipo de combinación a sido probada que es exitosa también para métodos no relacionados con redes neuronales. El esquema utilizado en el trabajo de Rost y Sander es el siguiente, ellos generaron las diferentes arquitecturas de la siguiente manera. El entrenamiento fue realizado de dos maneras distintas, llamadas entrenamiento balanceado y no balanceado respectivamente, y esto fue realizado para el primer y segundo nivel l sistema de redes. De esta manera se pueden formar 2x2 arquitecturas diferentes entrenadas independientemente, las primeras 4 de estas arquitecturas fue entrenada con codificación real de las entradas y las otras 4 agregándole “conservation weights”, esto nos lleva a poseer 8 arquitecturas diferentes de las 9 utilizadas, la ultima es generada entrenando la red con patrones codificados mediante 4 bits, de forma balanceada. En este trabajo solo se utilizo 2x2 arquitecturas formadas por la combinación de entrenamientos balanceados y no balanceados de la primer y segunda capa respectivamente. Todas las codificaciones de las unidades de entradas de las 2 capas fueron en números reales, por lo tanto no utilizamos codificación binaria de los parámetros de entrada ni como vamos a ver en la siguiente sección los conservation weights, para generar las 4 arquitecturas restantes. 5.2 Cosas no incluidas 5.2.1 Agregado de conservations weigths Cada secuencia en la base de datos posee secuencias múltiples alineadas que difieren en numero y similitud con la secuencia de input. La información adicional acerca de los alineamientos puede ser explotada poniendo un peso mas grande en posiciones que son particularmente bien conservadas. Este peso se encuentra en la base de datos HSSP [17] Para la posición i en la secuencia es definida por Schneider & Sander[17] como , N todo ∑ r , s =1 CWi = N w rs sim i rs (17) todo ∑ r , s =1 w rs con wrs = (1- (1/100) x % identidadrs }, 22 donde Ntodo es el numero de alineaciones, % identidadrs es el porcentaje de similitud (sobre l total de la longitud de la secuencia) de la secuencia r y s la alineación, simi rs es el valor e la matriz de similitud entre estas 2 secuencias en la posición i ( e.g. la matriz Dayhoff, 1978). El peso de conservación es escalado de manera tal que el valor medio obtenido del Promedio sobre todo los residuos de una proteína en particular de cómo resultado la unidad s decir <CWi>secuencia = 1. Rost y Sander usaron esta cantidad como una entrada adicional para cada residuo, el valor definido por la ecuación (17) fue dividido por 2, (El tamaño maximal de CWi que encontraron en la base de datos, para hacerlo menor a 1). Por esta razón las redes utilizadas con pesos de conservación, la capa de entrada es extendida a (20+1+1)x13 unidades para la red perteneciente al primer nivel y a (3+1+1)x17 unidades para la capa de entrada perteneciente a la red del segundo nivel. En el experimento realizado en este trabajo no fueron utilizados los pesos de conservación, debido a que solo mejoraba un 0.5% la performance del predictor y fue tomado como un requerimiento deseable del trabajo, por lo tanto el tamaño de entrada para la red de primer nivel es de (20+1)x13 unidades, para la red de segundo nivel es de (3+1)x17 unidades. 5.2.2 Filtrado del resultado de la predicción Las hélices tienen una longitud mínima de 3 aminoácidos (Kabsch y Sander, 1983)[16], y a pesar de que el segundo nivel de red estructura-estructura corrige la tendencia del primer nivel secuencia-estructura de predecir fragmentos de hélices menores a 3, la predicción final incluyendo el jurado aun predice aminoácidos aislados como pertenecientes a una estructura secundaria tipo hélice. La manera mas simple de excluir esta predicción no realistica es convertir todas las hélices predichas que poseen longitud 1 o 2 en colas. Debido a que en la practica por los resultaos mismo obtenidos por Rost y Sander el porcentaje de efectividad de la predicción no es significante, en este trabajo no se realiza ningún filtrado de la predicción. 5.2.3 Utilización de reability index El hecho fundamental en que se basan para utilizar los reability index es que la diferencia entre los valores de las 3 unidades de salida de PHD están correlacionadas en relación a la probabilidad de que la predicción sea correcta, por lo tanto se puede utilizar la formula. RI=Valor Entero(10*(salidamax-salidasiguiente) Para dar un grado de que tan acertada es la predicción. 23 Donde salidamax es el valor máximo entre las 3 unidades de salida y salidasiguiente es el mayor valor que sea menor que salidamax. De esta manera los valores de RI van de 0 a 9, donde 9 indica una predicción con un gran mayor grado de estar acertada y 0 exactamente lo contrario.. Los reability index, no fueron incluidos en este trabajo porque no aumentan la performance del predictor en si, solo le dan información al usuario de que tan acertada puede ser la predicción predicha, igualmente es información muy importante, pero el objetivo de este trabajo era trabajar sobre las predicciones y sus performances y no con la información presentada al usuario. 24 6. Propuesta La propuesta consta de intentar aumentar el nivel de predicción mediante el ajuste de las variables libres del entrenamiento de la red, por ejemplo cambiar el learning rate, el tamaño de ventana de las redes de las dos primeras capas e incluso la cantidad de capas ocultas de los perceptrones de cada capa. Para el perceptrón de la primer capa se utilizo un ventana inicial w=17, dado que se considero que al ser mas grande el tamaño de la base de datos utilizado en relación con el utilizado por Rost y Sander[13], un tamaño de ventana mas grande podría aprovechar mejor la mayor información presentada que posee. Además se cambio el numero de capas ocultas a 15, dado que un nivel menor de capas ocultas podría llegar mejorar la generalización de red en relación con las 40 utilizadas, además se aumento el learning rate a 0.01, lo cual decremento considerablemente el tiempo de entrenamiento de la red. Para la segunda red se utilizo un tamaño de ventana w=13, dado que se considero que no era necesario tanto rango de alcance para poder tomar información acerca de la correlación de resultados, además se utilizo nuevamente un tamaño de capa oculta de 15 unidades y un learning rate de 0.01 que nuevamente decremento el tiempo de entrenamiento considerablemente. El entrenamiento con esos parámetros se produjo exactamente igual que para PHD, con el mismo conjunto de entrenamiento y testeo, generando 2x2 arquitecturas con la combinación de entrenamiento balanceando y no balanceado para cada nivel de red. 25 7. Experimentos 7.1 parámetros para PHD Para el entrenamiento de las diferentes arquitecturas se utilizaron los siguientes valores tanto para el entrenamiento de la capa 1 como de la 2. Tabla 4abTa Función de activación 1 g ( x ) = − 2*β *x e +1 Tabla 5 Beta 0.5 Intervalo de valor De los pesos iniciales (-1,1) Learning rate 0.001 Tamaño de ventana de la primer capa w=13 Cantidad de unidades de la capa oculta 30 7.2 Criterio de parada Como criterio de parada se utilizo el siguiente método, cada vez que se entrenaba una época en alguna de las 2 capas, se corría el conjunto de testeo y se comparaba su valor de efectividad en relación con el anterior si al cabo de 5 épocas la efectividad del conjunto de testeo decrecía o permanecía constante se terminaba el entrenamiento para evitar el sobreentrenamiento de la red, y por o tanto la falta de generalización, esto no fue lo ejecutado por Rost y Sander quienes entrenaron las redes hasta que la efectividad del aprendizaje del conjunto de entrenamiento es del 70% en la primer capa y del 75% en la segunda capa, para todas las arquitecturas, aunque consideramos un criterio de parada mas inteligente el propuesto dado que realmente se para cuando la performance de la red comienza a decrecer. 26 7.3 Performance de la primer capa de PHD en relación al tamaño de la base de datos Grafico 1 Q3 en relacion al tamaño de la base de datos 80 70 60 50 Q3 40 30 20 10 0 0 100 200 300 400 500 Cantidad de secuencias con que se entrena 7.4 Efectividad individual del conjunto de testeo Grafico 2 porcentaje de efectividad en la prediccion 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 61 56 51 46 41 36 31 26 21 16 11 6 1 porcentaje de efectividad en la prediccion 27 7.5 Performance de PHD vs. PHD con el agregado de la propuesta Tabla 6 PHD Q3 67.06% 70.94% PHD optimizado Q3 67.80% 71.25% PHD Segunda capa Q3 Balanceado/Balanceado 67.14% Balanceado/No balanceado 70.32% No alanceado/No balanceado 68.83% No alanceado/No balanceado 71.38% Q3 final 70.43% PHD optimizado Q3 68.38% 71.10% 70.09% 71.70% 71.12% Tabla 8 Li PHD <Lα> <Lβ> Observado 11.25 4.95 predicho 10.42 4.59 Tabla 9 Li PHD optimizado <Lα> <Lβ> Observado 11.25 4.95 predicho 10.66 4.48 Primer capa Balanceado No balanceado Tabla 7 28 8. Análisis y comparaciones La performance de Rost y Sander [13], es de Q3=70.8% mientras que nuestro modelo obtuvo un Q3=70.43%, incluyendo la propuesta, es decir con la optimización de los parámetros se llego a obtener un Q3=71.12%, que mejora el resultado original obtenido por ellos. Los números por si solos hablan de una mejora total en Q3 de un 0.31% con respecto a Rost y Sander, sin embargo si tomamos en cuenta que estamos utilizando 4 arquitecturas en vez de las 9 utilizadas por Rost y Sander y que además no utilizamos los conservation weigths, seguramente se pueda llegar a obtener un Q3 que llegue a superar 1% a 3% los resultados obtenidos. Nuestro modelo obtuvo un Q3=70.43%, luego con la optimización obtiene un Q3=71.12%, es decir obtuvimos una mejora del 0.69% con el afinado de los parámetros de la red. Con respecto al grafico 1, se ve que el aumento de la performance Q3 en relación a la cantidad de secuencias con la que se entrena la primer capa de PHD es bastante parecido a un aumento logarítmico, lo cual es sorprendente de alguna manera dado que intuitivamente uno tiende a pensar que si se aumenta la cantidad de información no correlacionada en la base de datos el predictor debería generalizar de mejor. En contraste con esto, Rost y Sander obtienen un aumento lineal en la performance de Q3, pero no aumentando la cantidad de secuencias de la base de datos si no aumentando la cantidad alineaciones múltiples asociadas a cada secuencia. [13] figura 6. La predicción de la longitud promedio de la secuencias para α,β es decir <Lα> y <Lβ>, son altamente efectivas como se puede ver en la tabla 8 y 9 respectivamente, casi correspondiéndose con el valor observado de <Lα> y <Lβ>, aunque no se registro un aumento en el las predicciones por PHD optimizado en relación a PHD. La alta efectividad obtenida tanto por PHD y PHD optimizado se corresponden con el resultado obtenido por Rost y Sander [13], ellos también obtienen una efectividad casi total en la predicción de <Lα> y <Lβ>. 29 9. Conclusiones El modelo de Rost y Sander, esta presentado de una manera clara y concisa y asociado con un muy buen análisis de la performance del mismo, lo cual llevo a que se pueda recrear el mismo bastante fielmente, llegando a mejorar incluso la performance del mismo una vez que se optimizaron los parámetros, por la utilización de una base de datos mas grande que la utilizada por ellos mismos llegando a la máxima performance de 71.12%. La longitud promedio de estructura ( <Lα>, <Lβ> ), lograron un alto grado de efectividad, también al mismo nivel que los resultados obtenidos por Rost y Sander, por lo que podemos concluir que este método es alentador en poder conseguir predicciones cuya estructura secundaria permita acceder a la predicción de la estructura terciaria de la proteína. Es muy curiosa la gran desviación de la performance individual obtenida para cada secuencia del conjunto de testeo, sin un análisis mas profundo no se puede evidenciar a que se debe, pero aun así surgen varias líneas que podrían investigarse, a decir, podría ser que la base de datos utilizada no presente la información necesaria para que se aprendan las reglas que generalicen para las secuencias que poseen baja efectividad, o bien las secuencias de que poseen bajas efectividad pueden poseer una característica especial en común que las haga que la predicción se comporte de esa manera, este resultado es sin dudas el mas intrigante, y por el cual se podría hallar quizás alguna veta de investigación. El hecho de que el aumento de la cantidad de secuencias en la base de datos genere un crecimiento logarítmico en la efectividad, pero que el aumento en la cantidad de alineaciones múltiples asociadas a cada secuencia genere un aumento lineal del mismo [13], evidencia que la mayor cantidad de información presentada a la arquitectura se encuentra en las alineaciones múltiples presentadas y no en nuevas secuencias introducidas, Lo cual desestima el uso de bases de datos cada vez mas grandes, sino con mejor información presentada en las mismas. Desestimamos fuertemente intentar nuevos configuraciones de parámetros libres de la red para aumentar la performance en relación a lo resultados vistos por nuestro trabajo y los resultados obtenidos por [12].Optimizar los parámetros de la red nos llevo a un 0.69% , respaldando los resultados de obtenidos en [13], [12] , donde se afirma que la optimización de los parámetros de la red es bastante improbable que lleve a un aumento en la performance Q3 mayor al 1%. 30 10. Trabajo futuro El trabajo ha dejado una serie de interrogantes que serian buenos como líneas a una investigación posterior. La varianza en la performance Q3 observada invita a analizar si existe alguna característica particular en aquellas proteínas en la cuales la performance es particularmente alta o baja,. podrían estudiarse que longitud poseen esas cadenas, cual es su composición de aminoácidos, que tipo de estructura secundaria posee, en que parte de la cadena, se produce el mayor numero de desaciertos, y cualquier otra característica relevante que sirva para encontrar algún patrón en común. Otra línea independiente de la anterior, seria buscar maneras de generar bases de datos que presenten mayor información a la arquitectura, minimizando porcentaje homología entre las secuencias de la base de datos, por lo visto en los resultados podemos ver que debería ponerse énfasis en la calidad de las alineaciones múltiples en las cadenas de la base de datos, aunque nuevas formas de presentar la información no deberían porque ser descartadas de antemano. El bajo aumento de la performance de las distintas maneras de presentar nueva información a la red, la mayoría fracasa en presentar información de largo alcance entre los aminoácidos, es decir, se cree que la falta de aprovechamiento del modelo de la información de interacciones de largo alcance, hace que no se produzca un aumento sustancial en la mejora de los predictores, podría intentarse encontrar una manera de presentar la información de largo alcance a este modelo o también cambiar la arquitectura de manera tal que se permita una lectura mas flexible de aminoácidos mas alejados. También se pueden utilizar técnicas mas sofisticadas para la medición de la performance del predictor que fueron dejadas de lado por el tiempo que tomaban como por ejemplo 7fold-cross validation, que nos dará un valor mas acertado de cual es la efectividad del predictor y otras medidas de efectividad del predictor 31 11. Referencias [1] Bishop C M (1996): Neural Networks for Pattern Recognition, Oxford University Press [2] Biou et al. 1988, Nishikawa & Nogu-Chi, 1991) [3] Chandonia J M, Karplus M (1995): "Neural networks for secondary structure and structural class prediction", Protein Science, 4, 275-285 [4] Chandonia J M, Karplus M (1996): "The importance of larger data sets for protein secondary structure prediction with neural networks", Protein Science, 5, 768-774 [5] Chou, P. Y. , Fasman, G. D. (1974) Biochemistry,13,211 [6] Garnier, J. G., Gibrat, J.-F., , Robson, B. (1996) In: Methods in Enzymology (Doolittle, R. F., Ed.) Vol.266, pp. 540-53. [7] Hansen y Salamon, 1990 [8] Holley H, Karplus M (1989): "Protein secondary structure prediction with a neural network", Proc. Nat. Acad. Sci. USA, 86, 152-156 [9] Kneller D G, Cohen F E, Langridge R (1990): "Improvements in protein secondary structure prediction by an enhanced neural network", Journal of Molecular Biology, 214, 171-182 [10] Krogh A, Riis S K (1996): "Prediction of beta sheets in proteins", in D S Touretsky, M C Mozer and M E Hasselmo (eds.), Advances in Neural Information Processing Systems 8, MIT Press [11] Lincoln & Skrzypek (1990) [12] Ning Qian y Terrence J. Sejnowski , 1988 [13] Rost B, Sander C (1993a): "Prediction of protein secondary structure at better than 70% accuracy", Journal of Molecular Biology, 232, 584-599 [14] Rost B, Sander C (1993b): "Secondary structure of all-helical proteins in two states", Protein Engineering, 6(8), 831-836 [15] Rost B, (2001): “Review: Protein Secondary Prediction Continues to Rise”. Rumerhalrt et al . 1986. Press et. al. [16] Sander y Kabsch y, 1983 [17] Sander & Schneider, 1991 Referencias en la web (a) http://www.cmbi.kun.nl/gv/dssp/ (b) http://www.compbio.dundee.ac.uk/~www-jpred/references/prot_html/node17.html (c) http://www.compbio.dundee.ac.uk/~www-jpred/data/ (d) http://www.compbio.dundee.ac.uk/3Dee/help_index.html (e) www.cmbi.kun.nl/gv/dssp/ (f) www.rcsb.org/pdb/ 32 33