INTRODUCCION A TECNICAS DE MINERIA DE DATOS

ALINEAMIENTO DE SECUENCIAS

Mg. Samuel Oporto Díaz

Mapa Conceptual – Minería de Datos
Fuentes de datos Pre-procesamiento Exploración y transformación Reconocimiento de Patrones Evaluación e Interpretación

DHW

Data cruda

Data Data Data Objetivo Pre-procesada Transformada

Patrones

Evaluación y Entendimien to

DBMS

Texto

Muestreo y Selección • Muestreo • Selección

Limpieza de Datos • Limpieza de datos • Datos que no existen • Datos no clasificados • Identificación de

Transformación de Datos • Reducción de Dimensionalidad • Creación de Características • Normalización de Datos • Variables Correlacionadas

Modelado • Descripción • Clasificación • Regresión • Agrupamient o • Asociación • Secuenciació n

Reportes y Visualización

Tabla de Contenido
• • • • • • Introducción Pre-procesamiento Reducción de Datos Selección de Instancias Selección de Características Ejemplo – Planteamiento del Problema – Procedimiento de solución – Algoritmos – Fuentes de Datos – Diseño de Experimentos – Resultados Experimentales 4 9 26 36 40 49 53 58 64 66 68
3 /39

INTRODUCCION

4 /39

PREGUNTAS

5 /39

Alineamiento de secuencias
Fernán Agüero
Instituto de Investigaciones Biotecnológicas Universidad Nacional de General San Martín <fernan at iib.unsam.edu.ar>

6 /39

Finches of the Galápagos Islands observed by Charles Darwin on the voyage of HMS Beagle 7 /39 .Análisis comparativo El alineamiento de secuencias es similar a otros tipos de análisis comparativo. En ambos es necesario cuantificar las similitudes y diferencias (scoring) entre un grupo relacionado de entidades.

conservación de residuos importantes para la función • Detectar patrones que sirvan para detección diferencial (diagnóstico) – Dos proteínas distintas pero con una región o dominio similar • Proteína X de función conocida contiene un dominio Y • Proteína Z de función desconocida también tiene un dominio Y. Puedo decir algo acerca de su probable función? – Un mRNA y el gen correspondiente: detección de la organización génica • El mRNA contiene secuencias derivadas de los exones solamente • El gen contiene tanto intrones como exones 8 /39 .Para qué alinear? • Para poder comparar dos secuencias – Dos proteínas o genes con función similar pero provenientes de distintos organismos • Analizar variación.

Homología vs similitud • Homología entre dos entes biológicos implica una herencia compartida Homología es un término cualitativo Se es homólogo o no se es Similitud implica una apreciación cuantitativa o una cuantificación directa de algún caracter Podemos usar una medida de similitud para inferir homología • • • • 9 /39 .

daño o crossing-over desigual. mutaciones.Análisis comparativo Los algoritmos que alinean secuencias modelan procesos evolutivos GATTACCA GATGACCA GATTACCA GATTACCA GATTATCA GATTACCA GATCATCA Deriva de un ancestro común a través de cambios incrementales debido a errores en la replicación del DNA. GATTGATCA GAT_ACCA inserción deleción sustitución 10 /39 .

11 /39 .Análisis comparativo Algoritmos de alineamiento modelan procesos evolutivos GATTACCA GATGACCA GATTACCA GATTACCA GATTATCA GATTACCA Deriva a partir de un ancestro común a través de cambio incremental. GATCATCA GATTGATCA GATACCA Sólo las secuencias actuales son conocidas. las secuencias ancestrales se postulan.

12 /39 . el cual puede ser inferido a partir de observaciones de similitud de secuencia. Mutaciones que no matan al individuo pueden pasar a la población.Análisis comparativo Algoritmos de alineamiento modelan procesos evolutivos GATTACCA GATGACCA GATTACCA GATTACCA GATTATCA GATTACCA Deriva a partir de un ancestro común a través de cambio incremental. GATCATCA GATTGATCA GATACCA La palabra homología implica una herencia común (un ancestro común).

Alineamientos • Qué es un alineamiento? – El procedimiento de comparación de dos (o más) secuencias de manera de lograr que una serie de caracteres individuales o patrones de caracteres que se encuentren en el mismo orden en ambas secuencias queden “alineados” verticalmente. – AATTGGCCGTACGT – AATTGGCCGTACGT • Cómo alineamos dos secuencias? – a mano o con la ayuda de un programa – usando un método/algoritmo 13 /39 .

Definición de alineamiento: tipos Alineamiento: Alineamiento global: Cada base se usa a lo sumo una vez Todas las bases se alinean con otra base o con un gap (“-”) No hay necesidad de alinear todas las bases Alineamientos locales: Align BILLGATESLIKESCHEESE and GRATEDCHEESE G-ATESLIKESCHEESE GRATED-----CHEESE or G-ATES GRATED & CHEESE & CHEESE 14 /39 .

Alineamientos buenos y malos? Cuál es el ‘mejor’ alineamiento? GCTACTAG-T-T--CGC-T-TAGC GCTACTAGCTCTAGCGCGTATAGC 0 mismatches. 1 gap 15 /39 . 5 gaps GCTACTAGTT------CGCTTAGC GCTACTAGCTCTAGCGCGTATAGC 3 mismatches.

Cómo decidir cuál es el mejor?
• Respuesta: el más significativo desde el punto de vista biológico • Pero: necesitamos una medida objetiva • sistemas de puntaje (scoring)
– reglas para asignar puntos – el más simple: match, mismatch, gap

16 /39

Un primer ejemplo de scores
Ejemplo de sistema de score
match = +1 mismatch = 0 gap = -1

G-ATESLIKESCHEESE GRATED-----CHEESE
Usando otro sistema de score
Score (10 * 1) + (1 * 0) + (6 * (-1)) = +14 2) +4

17 /39

Puedo comparar scores?
• Primera conclusión importante:
– no tiene sentido comparar scores de distintos alineamientos – a menos que el sistema de scoring utilizado sea el mismo en los distintos alineamientos – Es importante especificar el sistema de puntaje!

18 /39

Gap penalties
gap opening penalty = -5 gap extension penalty = -1
1- Abrir un gap es costoso

GCTACTAG-T-T--CGC-T-TAGC GCTACTAGCTCTAGCGCGTATAGC
Penalty = 5 * (-5) + 6 * (-1) = -31

2 - Extender un gap es menos costoso

GCTACTAGTT------CGCTTAGC GCTACTAGCTCTAGCGCGTATAGC
Penalty = 1 * (-5) + 6 * (-1) = -11

19 /39

Dot plots: introducción
Dot-plot: Fitch, Biochem. Genet. (1969) 3, 99-108. Eje horizontal: secuencia 1

C
A
Eje vertical: secuencia 2

G
0

T
0

A
1

C
0

C
0

G
0

T
0

0

C

1

0

0

0

1

1

0

0

G

0

1

0

0

0

0

1

0

T

0

0

1

0

0

0

0

1

20 /39

21 /39

Dot Matrix Plot 22 /39 .

Dot Matrix Plot 23 /39 .

Dot Matrix Plot 24 /39 .

F2 E K Catalytic Fibronectin repeats EGF similarity domain Kringle domain Serine protease activitiy 25 /39 .Similitud local Dominios mezclados confunden a los algoritmos de alineamiento. Módulos en el factor XII de coagulación y en el activador de plasminógneos – tissue plasminogen activator (PLAT) FXII F2 E F1 E K Catalytic Módulos en orden Módulos reversorepetidos PLAT F1 E K K Catalytic F1.

Dot plots: ejemplo Coagulation Factor XII (F12) E F1 F2 E F1 E K Catalytic 26 /39 Catalytic K K Tissue Plasminogen Activator (PLAT) .

Dot plots: ejemplo (cont. Coagulation Factor XII (F12) E F1 F2 E F1 E K Catalytic 27 /39 Catalytic K K Tissue Plasminogen Activator (PLAT) .) Dominios repetidos muestran un patrón característico.

Dot plots: path graphs Dot plots sugieren caminos (paths) a través del espacio de alineamientos posibles. 137 72 28 /39 . Dominios EGF conservados en la urokinse plasminogen activator (PLAU) y el tissue plasminogen activator (PLAT) 90 23 137 23 90 137 Path graphs son representaciones más explícitas de un alineamiento. 72 PLAU PLAT 90 23 EPKKVKDHCSKHSPCQKGGTCVNMP--SGPH-CLCPQHLTGNHCQKEK---CFE ELHQVPSNCD----CLNGGTCVSNKYFSNIHWCNCPKKFGGQHCEIDKSKTCYE 72 Cada path es un alineamiento único.

Rutear una llamada telefónica desde NY a San Francisco El algoritmo para encontrar el mejor camino entre dos extremos y pasando por varios puntos se llama ‘dynamic programming’ 29 /39 .Path graphs: encontrar el mejor camino Los problemas que involucran encontrar la mejor ruta o camino (Best-path problems) son comunes en computación científica.

Dynamic programming: introducción Un ejemplo: Construir un alineamiento óptimo entre estas dos secuencias G A T A C T A G A T T A C C A Match: Mismatch: Gap: +1 -1 -1 30 /39 Utilizando las siguientes reglas de scoring: .

Dynamic programming: ejemplo Ordenar las dos secuencias en una matriz bidimensional G A T A C T A G A T T A C C A 31 /39 Los vértices de cada celda se encuentran entre letras (bases). Needleman & Wunsch (1970) .

El objetivo encontrar la (path) óptimo Dynamic programming: ejemplo (cont.) es ruta G A T A C T A G A T T A C C A Desde aquí Hasta acá 32 /39 .

Dynamic programming: paths posibles Cada path corresponde a un alineamiento único G A T A C T A G A T T A C C A Cuál es el óptimo? 33 /39 .

Dynamic programming: scores: match El score para una ruta (path) es la suma incremental de los scores de sus pasos (diagonales o lados). G A T A C T A G A T T A C C A A alineada con A Match = +1 34 /39 .

Dynamic programming: scores: mismatch G A T A C T A G A T T A C C A A alineada con T Mismatch = -1 35 /39 .El score para una ruta (path) es la suma incremental de los scores de sus pasos (diagonales o lados).

G A T A C T A G A T T A C C A T alineada con NADA Gap = -1 T alineada con NADA 36 /39 .Dynamic programming: scores: gaps El score para una ruta (path) es la suma incremental de los scores de sus pasos (diagonales o lados).

Dynamic programming: paso a paso (1) Extender el path paso por paso 0 -1 G A T A C T A -1 +1 G G +1 – G -1 G – -1 G A T T A C C A 37 /39 .

Dynamic programming: paso a paso (2) Incrementar el path paso a paso 0 -1 G A T A C T A -1 -2 -2 +1 Recordar el mejor subpath que lleva a cada punto en la matriz. G A T T A C C A 38 /39 .

Dynamic programming: paso a paso (3) Incrementar el path paso a paso 0 -1 G A T A C T A -1 -2 +1 0 -2 0 +2 Recordar el mejor subpath que lleva a cada punto en la matriz. G A T T A C C A 39 /39 .

G A T T A C C A 40 /39 .Dynamic programming: paso a paso (4) Incrementar el path paso a paso 0 -1 -2 G A T A C T A -1 -2 +1 0 -2 0 +2 Recordar el mejor subpath que lleva a cada punto en la matriz.

G A T T A C C A 41 /39 .Dynamic programming: paso a paso (5) Incrementar el path paso a paso 0 -1 -2 -3 G A T A C T A -1 -2 -3 +1 0 -1 -2 0 +2 +1 -1 +1 +3 Recordar el mejor subpath que lleva a cada punto en la matriz.

G A T T A C C A 42 /39 .Dynamic programming: paso a paso (6) Incrementar el path paso a paso 0 -1 -2 -3 -4 -5 G A T A C T A -1 -2 0 +2 +1 0 -1 -3 -4 -5 +1 0 -1 -2 -3 -1 +1 +3 +2 +1 -2 0 +2 +2 +3 -3 -1 +1 +1 +2 Recordar el mejor subpath que lleva a cada punto en la matriz.

G A T T A C C A -7 -5 -3 -1 +1 +3 +2 +2 +4 43 /39 .Dynamic programming: paso a paso (7) Incrementar el path paso a paso 0 -1 -2 -3 -4 -5 -6 -7 -8 G A T A C T A -1 -2 0 +2 +1 0 -1 -2 -3 -4 -3 -4 -5 -6 +1 0 -1 -2 -3 -4 -5 -6 -1 +1 +3 +2 +1 0 -1 -2 -2 0 +2 +2 +3 +2 +1 0 -3 -1 +1 +1 +2 +4 +3 +2 -4 -2 0 +2 +1 +3 +3 +2 Recordar el mejor subpath que lleva a cada punto en la matriz.

0 -1 -2 -3 -4 -5 -6 -7 -8 G A T A C T A -1 -2 0 +2 +1 0 -1 -2 -3 -4 -3 -4 -5 -6 +1 0 -1 -2 -3 -4 -5 -6 -1 +1 +3 +2 +1 0 -1 -2 -2 0 +2 +2 +3 +2 +1 0 -3 -1 +1 +1 +2 +4 +3 +2 -4 -2 0 +2 +1 +3 +3 +2 G A T T A C C A -7 -5 -3 -1 +1 +3 +2 +2 +4 44 /39 .Dynamic programming: best path Recorrer el camino de atrás hacia adelante para obtener el mejor path y alineamiento.

Dynamic programming: alineamiento obtenido G A T A C T A Imprimir el alineamiento G A .TA CTA G A T TA CCA G A T T A C C A 45 /39 .

Dynamic programming: Smith-Waterman • El método fue modificado (Smith-Waterman) para obtener alineamientos locales • El método garantiza la obtención de un alineamiento óptimo (cuyo score no puede ser mejorado) • La complejidad es proporcional al producto de las longitudes de las secuencias a alinear 46 /39 .

HMS Beagle) Marcelo Viegas (slides Dot Matrix) 47 /39 .Gracias a Hugues Sicotte (NCBI) (slides DP.

48 /39 .

Algoritmos de alineamiento optimo para pares de secuencias 49 /39 .

PAMxx. BLOSUM…) – Coste de la apertura y de la extensión de “gaps” • Se define el alineamiento óptimo entre dos secuencias como aquel cuya puntuación és máxima entre todos los posibles alineamientos.Alineamientos óptimos • Una vez fijado un sistema de puntuación – Matriz de substitución (Identidad. 50 /39 .

51 /39 .

T constan de unos 20 caracteres pueden hacer falta más de 240 operaciones!!! 52 /39 .Un algoritmo exhaustivo para obtener alineamientos óptimos • Una posible aproximación para encontrar el alineamiento óptimo es la búsqueda exhaustiva: – Construir todos los posibles alineamientos – Calcular la puntuación de cada uno – El alineamiento óptimo es el que obtenga el valor más grande (puede haber más de uno!) • El número de alineamientos posibles es muy alto: Si S.

en primer lugar.• La programación dinámica es una técnica de diseño de algoritmos consistente en – Considerar. los casos más sencillos de un problema – Resolverlos – Combinarlos para obtener la solución de casos más complicados – Hasta resolver el caso completo original Veamos un ejemplo Una alternativa a la búsqueda exhaustiva: La programación dinámica (PD) 53 /39 .

El alineamiento óptimo de la subsecuencia inicial se mantendrá en el alineamiento óptimo final – cualquier otro puntuaría menos que éste  disminuiría la puntuación total • Tras alinear la primera subsecuencia ya no hace falta trabajar con ella  Se pasa a la subsecuencia siguiente y así se va iterando hasta el final – – el coste de cada paso es bajo el resultado final se obtiene de acumular los resultados de cada paso 54 /39 .Cómo utilizar programación dinámica para obtener el alineamiento óptimo? • • Se obtiene un alineamiento óptimo para una subsecuencia. el primer carácter de cada secuencia por la izquierda. – P.ej.

El algoritmo de Needleman y Wünsch: Alineamiento basado en programación dinámica 55 /39 .

Un alineamiento puede representarse como un camino en una matriz (de puntuaciones) T C G C A T C C A T C G C A TCGCA TC-CA T C C A 56 /39 TCGCA T-CCA .

sin embargo que haya muchos caminos que llevan al punto La posición etiquetada “s22” representa TC alineado con TC --TC TC--TC T-C TC TC 57 /39 .Un alineamiento puede representarse como un camino en una matriz (de puntuaciones) T C G C A T C C A s22 El significado de cada punto en la matriz es el siguiente: Todos los caracteres hasta el punto se han alineado. Puede ser.

Calculo de la matriz de puntuaciones • Cualquier posición de la matriz sólo puede alcanzarse de tres maneras posibles: – En diagonal lo que significa emparejando el carácter de fila y de columna – En vertical que significa insertando uno o más gaps en la secuencia horizontal (S1) S2 – En horizontal que representa insertar uno o más gaps en la secuencia vertical (S2) T C S1 G C A T C C A s43 58 /39 .

Calculo de la matriz de puntuaciones • Para llenar la matriz de puntuaciones – Consideramos todas las maneras de llegar hasta cada celda de la matriz – Nos quedamos con la(s) que consiguen la puntuación más alta: Puede haber más de una T C S1 G C A T S2 C C A s43 59 /39 .

En cada celda se coloca la puntuación máxima resultante de considerar todas las posibles maneras de acceder a aquella celda 3. P. La direccion (o direcciones) que han dado lugar a la máxima puntuación se anota por separado en la matriz de reconstrucción que se utilizará para reconstruir el alineamiento 60 /39 . Se va llenando la matriz de izquierda a derecha y de arriba abajo. Se llena la fila 0 y la columna cero con el coste de abrir un gap y extenderlo tantos caracteres como posición en la fila (columna) se encuentre la celda 2. se llena de arriba abajo y de izquierda a derecha mediante el siguiente procedimiento 1.Cálculo de la matriz de puntuaciones • La matriz de puntuaciones (Score Matrix).

j ). P(0. j − y ) − W }. j − 1) + S (i. j ) − Wx } .0)=-Wk.j): Puntuación para coincidencia o no Wk = a+b·k : Penalización afín para un “gap” de longitud k P(0.0)=0. j ) = maxmax{ P (i − x. celda anterior en diagonal   − P(i.k)=-Wk.Fórmulas de cálculo • Utilizamos la notación siguiente: – – S(i. celdas anteriores de la columna y  y ≥1  61 /39 . P(k. celdas anteriores de la fila x ≥1 max{ P (i. • • Con esta notación la puntuación de la fila y la columna 0: – Y la puntuación de cada celda de la tabla:  P(i − 1.

j)=-x. si el máximo viene de un desplazamiento horizontal de x celdas. A veces tan sólo se indica que viene de la izquierda (“←”) • Si hay empate anotamos todos los valores iguales 62 /39 .j)=0. al mismo tiempo que se llena la matriz de puntuaciones.Matriz de reconstrucción (Traceback) • Para reconstruir el alineamiento. T de la siguiente forma: – T(i. A veces tan sólo se indica que viene de arriba (“↑ ”) – T(i. se llena la matriz de reconstrucción. si el máximo viene de un desplazamiento vertical de y celdas. si el máximo viene de la diagonal – T(i.j)=+y.

en la matriz de puntuaciones.Reconstrucción del alineamiento • Para reconstruir el alineamiento se busca. la celda de la última fila o columna con la puntuación más grande • Se escoge la misma celda en la matriz de reconstrucción y se va retrocediendo según los valores indicados en ésta • Este procedimiento puede dar más de un alineamiento óptimo 63 /39 .

Ejemplo 64 /39 .

. j − y ) − Wy } .j]= 0 . per i= 0…m a[0. y 1 0  Matriz de puntuaciones: No se penalizan los gaps de las bandas derecha y izquierda 0 0 0 0 .Smith-Waterman Algoritmo de alineamiento local  P(i − 1. j ). Si el mejor alineamiento hasta un cierto punto tiene un valor negativo es mejor empezar uno nuevo en lugar de extender el viejo P[i.  x − P(i. j − 1) + S (i. 0 0 0 0 ..  m ax{ P(i − x. j ) = m ax x≥1  m≥ax{ P(i.0]= 0 . per j= 0…n 65 /39 . j ) − W } .

Complementos 66 /39 .

.. Subcadena: Caracteres consecutivos desde los extremos o el medio: GAT..TTC.. Sufijo: Caracteres consecutivos cogidos desde el final: A. GAT.... Subsecuencia: Caracteres ordenados no necesariamente consecutivos: GAAA. GATTA.TACA.CA.TACA. 67 /39 .ATTA..Nomenclatura para el estudio de secuencias de caracteres • • • • • Cadena: Lista ordenada de caracteres de un alfabeto: GATTACA Prefijo: Caracteres consecutivos cogidos desde el inicio: G.

tab[1] = 1 tab[2] = 1. for j = 3 to n tab[j]=tab[j-1] + tab[j-2] next j End Sub Empecemos resolviendo los problemas más sencillos Utilicemos las soluciones parciales para resolver problemas más grandes Tornar 68 /39 . tab()) Dim j as integer Redim tab(n) tab 1 1 2 3 5 8 13 21 34 55 89 ….Ejemplo de programación dinámica Números de Fibonacci Sub Fib(n.

Gaps en el inicio del alineamiento Si el dot-plot tiene este aspecto A T C G A * * C X G X A X Si el dot-plot tiene este aspecto G T C T * A * G T C El alineamiento es: A T C G A │ │ │ ▬ ▬ C G A El alineamiento es: ▬ ▬ G C T │ │ │ T A G C T X X X 69 /39 .

70 /39 .

Alineamiento de secuencias 71 /39 .

Métodos gráficos de alineamiento 3.Contenido 1. Puntuación de los alineamientos 72 /39 . Conceptos básicos 2.

1. Conceptos básicos 73 /39 .

a secuencias conocidas (e idealmente de estructura y función conocidas) podremos identificarla y predecir su estructura y función 74 /39 . en algún sentido.Introducción • El alineamiento de secuencias es probablemente la herramienta más utilizada en bioinformática • Su objetivo es alinear dos o más secuencias (de DNA o proteínas) de forma que puedan destacarse las regiones similares entre las moléculas • Al determinar si una secuencia desconocida es similar.

Aplicaciones • Mediante un alineamiento global entre genomas se puede – identificar repeticiones internas (G1 vs G1) o – encontrar secuencias conservadas entre especies (G1 vs G2) • Para predecir la función de una proteína desconocida suele buscarse dominios funcionales comunes. – mediante alineamientos locales entre dos secuencias – mediante alineamientos múltiples entre conjuntos de secuencias • Para buscar una secuencia en una base de datos para lo que alinea por separado distintos fragmentos y se cuantifica el grado de similitud alcanzado • … 75 /39 .

Métodos de alineamiento • Existen muchos programas disponibles en WWW para alinear secuencias y buscarlas en las BD • Si se pretende que el resultado de dichos programas sea útil no deben ser “cajas negras” • La correcta elección del programa ( método) y de sus parámetros es muy importante – Una elección inadecuada puede conllevar la no detección de similitudes relevantes 76 /39 .

BLAST – Dan soluciones buenas. Es intuitivo.Visión global de los métodos • Alineamiento de dos secuencias – Métodos gráficos: Dotplot. no necesariamente óptimas 77 /39 – Pueden ser mucho más rápidos . pero difícil de cuantificar – Algoritmos óptimos de alineamiento global (NW) o local (SW) Obtienen el mejor alineamiento posible con programación dinámica Son demasiado exigentes para ser prácticos en búsquedas extensivas • Alineamientos múltiples • Algoritmos heurísticos para búsqueda en bases de datos FASTA.

Alineamiento de secuencias • Es el procedimiento consistente en comparar dos (“pairwise”) o más (“multiple”) secuencias buscando los caracteres o patrones que aparezcan en el mismo orden en las secuencias • Podemos distinguir entre alineamientos – Globales: Alineamiento de secuencias completas – Locales : Alineamiento de subsecuencias 78 /39 .

Ejemplos de alineamientos 2 Secuencias no alineadas L G P S S K Q L N I T K S A Alineam iento global L G P S S │ L N ▬ I T T G G K K G G A S I S M R R I L W D G D N A K │ K Q S T A G │ G K │ K G │ G S A ▬ I S M R │ R I L W G D │ D N A Alineam iento local ▬ ▬ ▬ ▬ ▬ ▬ ▬ ▬ ▬ ▬ ▬ ▬ ▬ ▬ T A G │ G K │ K G ▬ ▬ ▬ ▬ ▬ ▬ ▬ ▬ │ G ▬ ▬ ▬ ▬ ▬ ▬ ▬ ▬ 79 /39 .

Ejemplo de alineamiento múltiple I I I I I I M A M P L E G I R A G I N C B A T L B I E I I I L C E A B LE M ▬ ▬ A M P R A N F ▬ A G ▬ C T L ▬ N A B C A B ▬ ▬ B L L L E E E 80 /39 .

2. Métodos gráficos de alineamiento 81 /39 .

más difusa será – La aparición de patrones permite revelar estructuras en las secuencias 82 /39 .Los Dotplots • Se obtienen disponiendo dos secuencias S y T en los márgenes horizontal y vertical de una tabla • y marcando con una cruz (un punto) todas las posiciones en que coinciden los caracteres de S y T – Si son idénticas se observa una diagonal definida – Cuanto más diferentes sean.

• Para facilitar la visualización. se opta a menudo por mostrar únicamente las diagonales formadas por un número mínimo de puntos (umbral de severidad) • Si el umbral de severidad es alto  – Eliminamos el ruido de fondo (“filtrado alto”) – Solo detecta similitudes muy altas • Si es bajo  – Hay ruido de fondo – Detecta relaciones distantes Umbral de severidad (“Stringency threshold”) 83 /39 .

Ejemplo de dotplot 1: Una secuencia con ella misma 84 /39 .

Ejemplo de dotplot 2: Secuencias que han divergido 85 /39 .

Ejemplo de dotplot 3: Inserciones y “deleciones” 86 /39 .

3. Puntuación de los alineamientos 87 /39 .

S[i]#T[i]  0. • o bien sistemas más complejos basados en afinidades químicas o en frecuencias de emparejamiento observadas 88 /39 . S y T. S[i]=T[i]  1. – Inserción de espacios (gaps)  -1. mayor sea su significación (biológica) • Pueden ser esquemas sencillos como por ej – Coincidencia . – No coincidencia.Sistemas de puntuación • Para cuantificar la similitud entre dos cadenas. a mayor valor. definimos sistemas de puntuaciones de forma que para cada alineamiento se pueda calcular un número tal que.

t) • La puntuación (score) de un alineamiento entre S i T: ∑ p( S[i].Puntuación de un alineamento • Una vez establecido un sistema de puntuación la puntuación de una pareja de caracteres s.t alineados se define como p(s.T [i]) ∀i • Un alineamiento es óptimo si su puntuación es la más grande posible 89 /39 .

t) A A 1 T T 1 G A 0 C A 0 A G 0 G T 0 T Σ= 2 S= T= p(s.t) A A 1 T T 1 G A 0 C A 0 A ▬ -1 G G 1 T T 1 Σ= 3 S= T= p(s.t) A A 1 T T 1 G ▬ -1 C A 0 A A 1 G G 1 T T 1 Σ= 4 90 /39 .Ejemplo S= T= p(s.

Ejemplo P untuac ión c on es quem a s im ple S= T= p(s .t) T T 1 T G 0 Y Y 1 G A 0 A P 0 P P 1 P W P W 1 1 C S 0 S − -1 Σ = 4 91 /39 .t) T − -1 T T 1 Y G 0 G Y 0 A A 1 P P 1 P W C P P W 1 0 0 S S 1 Σ = 4 S= T= p(s .

S. P. T) – b) conserva residuos menos habituales (W.El sentido de las puntuaciones • Los dos alineamientos del ejemplo anterior puntúan igual. Y) • El sistema de puntuar los emparejamientos entre AA debería reflejar su relación química y biológica – Residuos similares/distintos deberían puntuar alto/bajo pues el cambiar uno por otro afectará poco/mucho la función de la proteína 92 /39 . Sin embargo – a) conserva residuos comunes (A.

Matrices de puntuación (scoring) o de substitución (substitution) • Una forma usual de definir el sistema de puntuación es utilizando una matriz de substitución • Es una tabla que contiene las puntuaciones que asignamos a cada pareja posible de caracteres.  (sirve para las coincidencias y las no-coincidencias) • El término “substitución” refleja que lo que se pretende al puntuar un emparejamiento es valorar el coste evolutivo de cambiar un residuo por otro 93 /39 .

Matrices para alinear ADN • Suele utilizarse una matriz identidad – P(i.9. – P(i. p (i.i)=0.j)=0 p (i.i)=1.j)=-0.1 o alguna variante de ésta 94 /39 .

A mayor nº mayor distancia evolutiva – BLOSUM • Derivadas de alineamientos locales de secuencias distantes • BLOSUM90 BLOSUM45 El nº representa porcentaje 95 /39 de identifdad .Matrices para proteínas • No hay una matriz única que se pueda usar siempre • Según la familia de proteínas y el grado de similitud esperado se usará una u otra • Las más utilizadas PAM y BLOSUM – PAM: Percent Accepted Mutation Matrix • Derivadas de alineamientos globales de secuencias próximas • PAM40 PAM250.

96 /39 .

lo que en el alineamiento aparece como un hueco (“gap”) • Suele penalizarse distinto – el primer hueco (“gap opening”) – que los restantes (“gap extension”) que parten de él • La variación de estos parámetros puede tener efectos importantes en el alineamiento final 97 /39 .Penalización por “gaps” • En un sistema de puntuación es importante definir el coste de insertar o eliminar un residuo.

Efecto del valor de la penalización Coste de Coste de apertura de extensión del gap gap Grande Grande Comentario Pocas inserciones o eliminaciones Bueno para proteínas muy relacionadas Algunas inserciones grandes Bueno si puede que se hayan insertado dominios completos Muchas inserciones pequeñas Bueno si se trata de proteínas distantes Grande Pequeño Pequeño Grande 98 /39 .

Algoritmos de alineamiento óptimo para pares de secuencias 99 /39 .4.

T constan de unos 20 caracteres pueden hacer falta más de 240 operaciones!!! Un algoritmo exhaustivo para obtener alineamientos óptimos 100 /39 .• Un algoritmo para obtener el alineamiento óptimo es: – Construir todos los posibles alineamientos – Calcular la puntuación de cada uno – El alineamiento óptimo es el que obtenga el valor más grande (puede haber más de uno!) • El número de alineamientos posibles es muy alto: Si S.

Una alternativa a la búsqueda exhaustiva: La programación dinámica (PD) • La programación dinámica es una técnica de diseño de algoritmos consistente en – Considerar. en primer lugar. los casos más sencillos de un problema – Resolverlos – Combinarlos para obtener la solución de casos más complicados – Hasta resolver el caso completo original Veamos un ejemplo 101 /39 .

una variante para alineamientos locales • Sirven para alinear tanto DNA como proteínas • Cada algoritmo retorna los alineamientos con la máxima puntuación posible para una matriz de substitución y un coste de “gaps” dados • El alineamiento obtenido no tiene necesariamente un significado biológico 102 /39 .Algoritmos de alineamiento óptimo • Los dos más conocidos son – Needleman y Wunsch (1970) para alineamientos globales – Smith y Waterman (1981).

103 /39 .

Bioinformática y Genómica Fernán Agüero Instituto de Investigaciones Biotecnológicas Universidad Nacional de General San Martín 2004 104 /39 .

se definieron los mecanismos que utilizan las células para leer esta información y se desarrollaron las herramientas de DNA recombinante Durante el ultimo cuarto de siglo. la biología descubrió que la base celular de la información eran los cromosomas Durante el segundo cuarto de siglo. se descubrió que la base molecular de la información era el DNA Durante el tercer cuarto de siglo. los biólogos se volcaron a colectar información genética . Comienzos del siglo XX: redescubrimiento de las leyes de Mendel Durante el primer cuarto de siglo. luego de genomas completos.Un breve repaso histórico • La aparición de las secuencias completas del genoma humano y cientos de otros genomas es el producto de un siglo de investigación dirigido a comprender la información genética.primero de genes. • • • • • 105 /39 .

Información biológica 106 /39 .

En que estamos hoy … 107 /39 .

RNAi) que produce información de fenotipos – … • Cada vez más diversos estudios comienzan con el análisis de bases de datos para luego formular hipótesis o diseñar experimentos Cada vez más el trabajo de laboratorio termina en la acumulación de colecciones masivas de datos que deben ser luego analizados • 108 /39 .En que estamos hoy … • • El resultado: de ser una ciencia puramente experimental (con base en el laboratorio) la biología está siendo transformada en una ciencia de la información La información acumulada no sólo es información genética (secuencias de DNA) – – – – expresión de RNAs interacción entre proteínas estructuras tridimensionales Anulación sistemática de genes (knockouts.

109 /39 .

Paradigma central de la bioinformática Genetic Information Molecular Structure Biochemical Function Symptoms (phenotype) 110 /39 .

Bioinformática y Medicina Genomics Bioinformatics Identify Targets Molecular Diagnostics Drug Design Molecular Epidemiology Genetic Therapy 111 /39 .Genómica.

Información biológica en formato electrónico Bases de datos Fernán Agüero Instituto de Investigaciones Biotecnológicas UNSAM 112 /39 .

113 /39 . Como los datos están en columnas independientes.Bases de datos: introducción: conceptos básicos Qué es una base de datos? Una colección de datos Cómo colecciono los datos? Decisión del usuario. Diseño de la base de datos. Planilla de Cálculo? (Excel) También. Las búsquedas siguen siendo simples. Permite sólo búsqueda y ordenamiento simples. se puede ordenar en formas más complejas. Puedo usar: Procesador de texto? (Word) Si.

• Cada campo contiene datos de un tipo determinado.Introducción: conceptos básicos: registros • Una colección de registros (records).texto. gi 6226959 6226762 4557224 41 Accession NM _000014 NM _000014 NM _000014 X63129 version 3 2 1 1 date 01/06/2000 12/10/1999 04/02/1999 06/06/1996 Genbank Division PRI PRI PRI M AM taxid 9606 9606 9606 9913 organims homo sapiens homo sapiens homo sapiens bos taurus Number of Chromosomes 22 diploid + X+Y 22 diploid + X+Y 22 diploid + X+Y 29+X+Y 114 /39 . • Cada campo contiene información específica. • Cada registro tiene varios campos. – Ej: dinero. direcciones Planilla Versión simple de una base de datos • Cada registro tiene una clave primaria. Un identificador único que define al registro sin ambigüedad. números enteros. fechas.

Tipos de datos • Cada campo de una base de datos contiene un tipo particular de datos – 021204 • Es un numero? • Es texto? • Es una fecha? • Ejemplo de una busqueda: buscar todos los registros en donde el valor almacenado sea mayor que 021204 – Es obvio que para poder comparar los valores almacenados tenemos que saber qe tipo de valores estamos comparando.Dic.2004) > 211203 (21. las comparaciones < y > pueden dar distintos resultados (evaluan orden o longitud) 115 /39 . – Si es una fecha: 021204 (2.Dic.2003) – Si es un numero: 021203 < 211203 – Si es texto: 021203 ≠ 211203.

HH:MM:SS) Logicos (boolean) = verdadero / falso Geometricos (punto. circulo. linea. poligonos. decimales) Texto Fechas (DD/MM/YYYY. etc.) 116 /39 .Tipos de datos • • • • • Numericos (enteros.

Accession + Version es equivalente al gi (representa un identificador único) Ejemplo: AF405321.2 Accession: AF405321 Version: 2 117 /39 .gi Bases de datos: conceptos básicos: clave primaria Accession version date Genbank Division PRI PRI PRI M AM taxid organims Number of Chromosomes 22 diploid + X+Y 22 diploid + X+Y 22 diploid + X+Y 29+X+Y NM _000014 NM _000014 NM _000014 X63129 3 2 1 1 01/06/2000 12/10/1999 04/02/1999 06/06/1996 9606 9606 9606 9913 homo sapiens homo sapiens homo sapiens bos taurus 6226959 6226762 4557224 41 gi = Genbank Identifier: Clave única : Clave primaria Cambia con cada actualización del registro correspondiente a la secuencia Accession Number: Clave secundaria Refiere al mismo locus y secuencia. a pesar de los cambios en la secuencia.

repartiendola en bases de datos menores. gi Accession 6226959 NM_000014 6226762 NM_000014 4557224 NM_000014 41 X63129 version date Genbank Division taxid 3 01/06/2000 PRI 9606 2 12/10/1999 PRI 9606 1 04/02/1999 PRI 9606 1 06/06/1996MAM 9913 taxid organims Number of Chromosomes 9606 homo sapiens 22 diploid + X+Y 9913 bos taurus 29+X+Y 118 /39 . relacionadas a través de un identificador único (clave primaria).gi 6226959 6226762 4557224 41 Accession NM _000014 NM _000014 NM _000014 X63129 Bases de datos: bases de datos relacionales version 3 2 1 1 date 01/06/2000 12/10/1999 04/02/1999 06/06/1996 Genbank Division PRI PRI PRI M AM taxid 9606 9606 9606 9913 organims homo sapiens homo sapiens homo sapiens bos taurus Number of Chromosomes 22 diploid + X+Y 22 diploid + X+Y 22 diploid + X+Y 29+X+Y Base de datos relacional: Normalizar una base de datos para sub-elementos repetidos.

24568 Sarcocystis cruzi 16SRNA gene Lutzomyia cruzi cytochrome b.. ORF 1234. ORF 1234 Hypothetical protein in region 21922. similar to gi|12345| AF934567 caseine kinase (Candida albicans) Candida albicans hypothetical protein in region 21922. best similarity to gi|1234568 gi 5693 5694 5695 5696 Organism Trypanosoma cruzi Candida albicans Sarcocystis cruzi Lutzomyia cruzi Annotation Chromosome 3.Bases de datos: distribucion de la informacion gi 5693 5694 5695 5696 annotation Trypanosoma cruzi chromosome 3..24568 16S RNA gene Cytochrome b similar to 12345 786512 1234568 119 /39 .

41.6226762.É Accession NM_000014 X63129 6226959. • Un índice es una lista de claves primarias asociadas a un determinado campo (o grupo de campos) gi 6226959 6226762 4557224 41 Accession NM _000014 NM _000014 NM _000014 X63129 version 3 2 1 1 date 01/06/2000 12/10/1999 04/02/1999 06/06/1996 Genbank Division PRI PRI PRI M AM taxid 9606 9606 9606 9913 organims homo sapiens homo sapiens homo sapiens bos taurus Number of Chromosomes 22 diploid + X+Y 22 diploid + X+Y 22 diploid + X+Y 29+X+Y Genbank div PRI 6226959.4557224.4557224.6226762. 120 /39 . se construyen índices.Búsquedas en una base de datos: índices • Para facilitar las búsquedas en una base de datos.É MAM 41.

223466..214734.2942.98732. 36314..36314..12932 .567983 . complete cds.32456. 23467..123456 .43678.... Mus musculus casein kinase mRNA... 214734..123456..312456. 121 /39 .873212.567983 . partial cds.. 28462.3245.123456. 23467. .Indices (cont) • Un ejemplo más complejo: buscar todos los records que contengan la palabra ‘kinase’ en la descripción de la secuencia gi 214734 123456 acc L07770 AF43567 def Xenopus laevis rhodopsin mRNA.23587.98476.98732.214734 . 432. •Indexar la columna ‘def’ word casein kinase laevis mus musculus rhodopsin xenopus list of GIs 1234.123456 .5678...

Indexar es costoso • El proceso de indexación es costoso en términos computacionales. • • 122 /39 . url2. url4. pero se realiza una única vez (en realidad cada vez que se actualizan los datos) Desde el punto de vista de la base de datos. etc. url3. los índices no son otra cosa que nuevas tablas relacionadas con la tabla que contiene el campo indexado Ejemplo más obvio: buscadores de páginas de internet (Google. Visitan páginas e indexan los términos que encuentran – kewyword: url1. Altavista).

sino sobre un subset pre-computado. • • • Buscadores de páginas en internet PubMed / Entrez / SRS BLAST 123 /39 .Búsquedas en bases de datos: búsquedas indexadas Importante: no se busca en el total de los datos disponibles.

Schemas • La distribución de los datos en campos dentro de una tabla y de las relaciones entre tablas y sus campos es lo que se llama el diseño o schema 124 /39 .

Schemas (cont) 125 /39 .

RDBMS • Relational Database Management Systems – Comerciales • Oracle. Sybase – Open source. etc. – ingresar datos – consultar 126 /39 . MySQL • Todos usan SQL (standard query language) para – crear tablas. índices. gratuitos • PostgreSQL.

Búsquedas simples • Los motores de búsqueda ofrecen búsquedas simples • No imponen restricciones • El usuario tipea palabras libremente • Usan estrategias para intentar “adivinar” la intención del usuario (sobre qué campo de la base de datos buscar) 127 /39 .

by. the … ) 128 /39 . Journals: nombre completo del journal. abreviaturas usadas en MEDLINE y números ISSN. Lista de frases: cientos de miles de frases generadas a partir de MeSH y otros vocabularios controlados similares.Entrez (PubMed) • Entrez busca en una serie de listas para ver si la palabra que ingresaron se encuentra en alguna • • • • • MeSH (Medical Subject Headings): vocabulario controlado utilizado para indexar artículos en PubMed. presentes en casi todos los registros de la base de datos (a.Ejemplo: term mapping . of. Stopwords: palabras comunes. Indice de autores: apellido e iniciales. an.

Búsquedas simples: pros / cons • Ventajas – rápidas de formular – no hay que leer el manual – ni hacer un curso  • Desventajas – poco selectivas 129 /39 .

Búsquedas avanzadas • Presuponen un cierto conocimiento sobre la organización subyacente de los datos • Hay que especificar sobre qué campos buscar: ⇒ hay que conocer los campos • Entrez: se especifican entre corchetes • Tags predefinidos (hay que conocerlos) – Escherichia coli[organism] – review[publication type] – attenuator[feature key] • SRS: formulario avanzado (no hay que conocer términos o tags) 130 /39 .

sin tener que conocer los tags) – History: una historia de las búsquedas que van realizando. límites. En cualquier momento pueden combinar búsquedas o volver sobre alguna de ellas – Preview/Index: les permite probar una búsqueda (preview) y ver el número de registros que selecciona o ver los índices y el número de registros asociados a cada uno de ellos – Details: permite analizar la traducción que realizó Entrez de la búsqueda que realizamos (uso de sinónimos. etc) 131 /39 .Búsquedas avanzadas: Entrez • Entrez provee además – Límites: especie de formulario avanzado que les permite limitar la búsqueda a un campo determinado.

Operadores lógicos • En búsquedas simples o avanzadas siempre tienen a disposición operadores lógicos para encadenar términos • AND (unión) – human AND genome – +human +genome – human && genome • OR (intersección) – human OR genome – human || genome • NOT (subconjunto) – human NOT genome 132 /39 .

Orden de los términos en un query • El orden de los términos es importante • Un query se evalúa de izquierda a derecha – human NOT genome no es lo mismo que genome NOT human • Si el query tiene muchos términos pueden forzar el orden de evaluación usando paréntesis – human AND cancer AND (cell OR science OR nature) – casein kinase NOT (human OR mouse) 133 /39 .

134 /39 .

Bases de datos biológicas: DNA • Nucleotide databases: – Genbank: International Collaboration • NCBI (USA). EMBL (Europe). DDBJ (Japan and Asia) – Organism specific databases • • • • FlyBase ChickBASE pigbase SGD (Saccharomyces Genome Database) 135 /39 .

) • http://www.ch (última versión no-gratuita) • NCBI tiene la última versión gratuita. La versión de 1998 es gratuita y libre de todas las restricciones. Restricciones sobre los descubrimientos hechos utilizando la base de datos.Bases de datos biológicas: proteínas • Protein Databases: – NCBI: • Genpept: Translated Proteins from Genbank Submissions – EMBL • TrEMBL: Translated Proteins from EMBL Database – SwissProt: • recibe secuencias peptídicas • cura y anota secuencias provenientes de TrEMBL (Gratuita para uso académico.expasy. 136 /39 .

nlm. Washington University. • http://www. superfamily. • http://www. homology – FSSP: fold classification based on structure-structure alignment • Genome Mapping Information: – http://www. UCSC – Research Centers and Universities 137 /39 . topology. fold – CATH: structural classification of proteins • class.html – NCBI(Human) – Genome Centers: • Stanford.org/health/genebase.ncbi.il-st-acad-sci.gov – SCOP: structural classification of proteins • family.org/pdb/ – MMDB: NCBI’s version of PDB with entrez links.nih.rscb.Bases de datos biológicas: estructura • Structure databases: – PDB: Protein structure database. architecture.

gov • Abstracts and links to publisher sites for – full text retrieval/ordering – journal browsing.genome.nlm. – Publisher web sites.nih.ncbi. • Pathways Database: – KEGG: Kyoto Encyclopedia of Genes and Genomes: www.jp/kegg/kegg/html 138 /39 .Bases de datos biológicas: literatura • Literature databases: – NCBI: Pubmed: All biomedical literature.ad. • www.

– GSS -> Genome Sequence Survey – EST -> Expressed Sequence Tags – HTG -> High Troughput Sequencing (unfinished contigs. – No se pueden modificar las secuencias sin el consentimiento del autor (submitter). cosmids.Bases de datos biológicas: GenBank • Es un Banco: no se intenta unificar datos. – Puede haber registros de diversas calidades de secuencia y diferentes fuentes ==> Se separan en varias divisiones de acuerdo a: • Secuencias de alta calidad en divisiones taxonómicas. – PRI -> Primates – MAM -> Mamíferos – INV -> Invertebrados • Secuencias de baja calidad en divisiones uso-específicas. – No se intenta unificar (puede haber más de una secuencia para un locus/gen). chromosomes). 139 /39 . BACs.

el NCBI creó RefSeq (colección curada de registros de GenBank) – toma records de GenBank y los actualiza/corrije – unifica para reducir redundancia – Accession numbers del tipo XX_123456 140 /39 .GenBank • Redundante • Con errores • Dificil de actualizar • Para poder corregir. mejorar y mantener actualizada la anotación de los registros.

base de datos de vías metabólicas) 141 /39 .Bases de datos primarias • Una base de datos primaria es un repositorio de datos derivados de un experimento o de conocimiento científico. Swissprot PDB Pubmed (literatura) Genome Mapping Kegg (Kyoto Encyclopedia of Genes and Genomes. – – – – – – Genbank (Repositorio de secuencias nucleotídicas) Protein DB.

– Refseq (Colección curada de GenBank en NCBI) – Unigene (Clustering de ESTs en NCBI) • Las bases de datos organismo específicas son en general una mezcla entre primaria y secundaria. entre otras). 142 /39 .Bases de datos secundarias • Una base de datos secundaria contiene información derivada de otras fuentes (primarias.

Análisis y anotación de genomas Fernán Agüero 143 /39 .

Historia • Primer proyecto de secuenciación de un genoma: Escherichia coli (US + Japón).83 MB • Primer genoma (archaea): Metanococcus jannaschii (1996). 1.6 MB 144 /39 .6 MB • Primer genoma (eubacteria): Haemophilus influenzae (1995). 1. Comenzó en 1992 y terminó en 1997. 4.

Qué es un genoma? • Una colección de – genes • que codifican productos proteicos • que codifican RNAs – pseudogenes – regiones no codificantes • regulatorias (expresión) • estructurales – attachment a matriz nuclear – mitosis / meiosis – elementos repetitivos 145 /39 .

Qué es anotar? • Agregar información.. de la manera más confiable y actualizada que se pueda para describir una secuencia • Información asociada a coordenadas genómicas (comienzo. a distintos niveles • Interpretar la información cruda de secuencia en un marco biológico 146 /39 .fin).

147 /39 .Anotación genómica • Dos niveles de anotación – Estructural: encontrar genes y otros sitios con relevancia biológica. El objetivo es atribuir información biológica relevante a los objetos. Armar un modelo del genoma: cada gen/sitio es un objecto asociado a una posición en el genoma – Funcional: los objetos son utilizados en búsquedas (y experimentos).

cascadas de señalización. • Molecula: sitios de binding. fisiología. estructura tridimensional • Dominio • Motif • Residuo 148 /39 . actividad catalítica.Más niveles de anotación • Organismo: fenotipo: morfología. respuestas ambientales • Celula: vías metabólicas. comportamiento. localización subcelular.

De donde proviene la anotación? • Fuentes utilizadas en la anotación: – publicaciones que reportan nuevas secuencias – reviews que actualizan periódicamente la anotación de familias o grupos de proteínas – expertos externos – análisis de secuencia 149 /39 .

Anotación genómica Genomic DNA transcription Unprocessed RNA ab initio gene prediction RNA processing Mature mRNA Gm3 AAAAAAA translation Nascent polypeptide Comparative gene prediction folding Active enzyme Functional identification Function Reactant A Product B 150 /39 .

Annotation & functional genomics La anotación del genoma es esencial en el desarrollo de estrategias funcionales (functional genomics) proteome based functional genomics RNAi phenotypes Gene Knockout Expression Microarray 151 /39 .

• Buscar genes en el genoma – RNA • ribosomal RNAs • tRNAs Anotación: busqueda de genes ⇒ BLASTN ⇒ tRNAscan – protein coding • ab initio gene prediction⇒ ORFs. profiles – repetitivas • similarity • ab initio • En todos los casos ⇒ literatura! 152 /39 .) • similarity ⇒ BLASTX. otros • Buscar regiones no codificantes – regulatorias • ab initio • similarity ⇒ Gibbs sampling ⇒ patterns. modelos. codon usage. frecuencia de hexámeros. etc.

Integrar resultados BLASTX BLASTN Secuencia genoma RepeatMasker tRNASCan gene prediction flatfiles DB Visualización 153 /39 .

Genome annotation: C. elegans 154 /39 .

.. score 132 1321 136 extra gi|12345|AF34093 casein kinase . alineamientos) es demasiado • Prácticamente cualquiera de los análisis que se realizan sobre DNA o proteínas para anotar un genoma pueden resumirse en: – secuencia – cromosoma1 start end 1723 3456 • Este formato básico es la base del formato GFF (Sanger) secuencia Contig1 Contig1 Contig1 metodo similarity cds similarity programa blastx glimmer blastn start 100 85 80 end 1000 1201 1300 frame +1 +1 . ORF0001. overlap with ORF0002 gi|54321|AF09990 complete genome 155 /39 .Resumir resultados de análisis • Guardar el reporte crudo de un BLAST (lista de hits.

GenBank.Anotación: herramientas • Artemis – http://www. MSPcrunch. GFF. con sus traducciones virtuales (6) • tracks de anotación (entries) • plots (built-ins y creados por el usuario) – Lee secuencias en formato FASTA. GenBank – Lee features en formato EMBL. BLAST 156 /39 . EMBL.uk/Software/Artemis – Permite visualizar • secuencia.sanger.ac.

Artemis: main window Sequence view Sequence view Feature list 157 /39 .

Artemis: plots %GC plot AA properties plot para un CDS 158 /39 .

Artemis: display de análisis Frameplot BLASTX BLASTN 159 /39 .

Artemis: 160 /39 .

Artemis: zoom 161 /39 .

Artemis: spliced genes 162 /39 .

Artemis: comparar análisis 163 /39 .

ACT: Artemis Comparison Tool Nature Genetics 35 (2003) Comparative analysis of the genome sequences of Bordetella pertussis. 164 /39 . Bordetella parapertussis and Bordetella bronchiseptica.

ACT: Artemis Comparison Tool 165 /39 .

etc.) • En genomas más grandes. BACs. 166 /39 . la tendencia es a distribuir la anotación • Los tracks de anotación son generados en distintos centros • Ejemplo: UCSC Genome Browser (genoma humano. ratón).Otras estrategias • Artemis se usa para anotar genomas bacterianos o para pequeños proyectos (cósmidos.

Swissprot) • Una base de datos que sea altamente confiable (en el sentido diagnóstico) en la asignación de proteínas a grupos o familias (ej CDD. InterPro) • Una serie de reglas de anotación 167 /39 . – Requerimientos para anotar automáticamente • Una base de datos de referencia bien anotada (ej.Anotación automática: TrEMBL • La anotación de TrEMBL (translated EMBL) se hace por métodos automáticos.

Transferencia directa de anotación • Realizar una búsqueda en la base de datos de referencia y transferir la anotación XDB • Ejemplo: FASTA contra una base de datos de secuencias y transferencia de la línea DE del mejor hit Target 168 /39 .

Anotación a partir de múltiples fuentes • Generalmente se usa más de una base de datos externa XDB • Hay que combinar los resultados Target 169 /39 .

Conflictos • Contradicción • Inconsistencia • Sinónimos • Redundancia 170 /39 .

Traducción de anotaciones • Es necesario utilizar un traductor para mapear el lenguaje utilizado en la base de datos externa (XDB) al lenguaje utilizado en la base de datos target que queremos anotar XDB Target 171 /39 .

heme_iron FT METAL IRON Pfam → TrEMBL FT DOMAIN FT ZN_FING zf_C3HC4 C3HC4-TYPE 172 /39 . PROSITE → TrEMBL /SITE=3.Traducciones: algunos ejemplos ENZYME → TrEMBL CA L-ALANINE=D-ALANINE CC -!.CATALYTIC ACTIVITY: L-ALANINE= CC D-ALANINE.

Requerimientos de un sistema de anotación automática • • • • • • Corrección Escalable Actualizable Poco redundante Completo Vocabulario controlado 173 /39 .

Cómo funciona? • Una proteína en TrEMBL es reconocida como un miembro de cierto grupo o familia de proteínas • Este grupo de proteínas en Swissprot comparten entre sí partes de la anotación • La anotación común es transferida automáticamente a la proteína en TrEMBL y marcada como ‘annotated by similarity’ 174 /39 .

– Opinion: opinión emitida por el autor de una referencia.Anotación: evidencias • Las anotaciones suelen estar acompañadas de TAGS que indican la evidencia en la que se basa la anotación • Ejemplos de algunos TAGS utilizados en TrEMBL: – EMBL: la información fue copiada del original (EMBL/GenBank/DDBJ) – TrEMBL: anotación modificada para corregir errores o para adecuarse a la sintaxis propia de Swissprot – Curator: juicio del curador – Similarity: por similitud con otra secuencia. usualmente con poca o ninguna evidencia experimental – Rulebase: información derivada del uso de una regla de anotación automática – SignalP: programa de predicción 175 /39 . que usualmente es un paper. a juicio del curador – Experimental: evidencia experimental de acuerdo a una referencia.

gen por gen. Por ejemplo en páginas web o integrando todos los datos en un display unificado (Artemis) – anotación manual: cura de los datos • una persona (curador) revisa la anotación. corriendo eventualmente algún programa particular 176 /39 .Anotación: manual vs automática • La anotación de un genoma ocurre en etapas – anotación automática • correr todos los análisis sobre el genoma • generar un primer borrador con todos los datos organizados. verificando la anotación automática. agregando anotaciones manuales.

uk • Artemis – http://www.ac.gov/channel • ENSEMBL – http://ensembl. AceDB (C.ac.ebi. elegans).uk/genequiz • Genome browsers: varios – cada consorcio/proyecto desarrolló el suyo: Apollo (FlyBase.sanger.ornl.ebi. Drosophila).Qué herramientas se usan? • Oakridge Genome Annotation Channel – http://compbio.uk/Software/Artemis • GeneQuiz – http://www.ac. 177 /39 .sander.

resulta anotado como casein kinase • Solución: – usar bases de datos curadas: por ejemplo Swissprot – revisar la anotación de más de un hit – verificar que las anotaciones de todos los hits concuerden 178 /39 .Anotación: fuentes de error • Transferencia transitiva de anotaciones – gen1 mal anotado como ‘casein kinase’ presente en los bancos de datos – gen2 con alta similitud con gen1.

Anotación confiable: proyecto HAMAP • High-quality Automated Microbial Annotation of Proteomes – Swissprot (Swiss Bioinformatics Institute-European Bioinformatics Institute) – CNRS Lyon – INRIA Grenoble – INRA Toulouse – CNRS Marseille – Pasteur Institute 179 /39 .

subtilis) – proteínas involucradas en patogénesis (interés médico e industrial) – proteínas involucradas en vías metabólicas específicas (interés biotecnológico) 180 /39 . pero va a haber muchos más en los próximos años • El número de proteínas bacterianas proveniente de estos genomas llegará al millón muy rápidamente • Pero el análisis funcional y una caracterización detallada van a exsitir sólo en unos pocos casos: – todas las proteínas de organismos modelo (E.HAMAP • Hay muchos genomas bacterianos terminados. B. coli.

Prioridades del proyecto HAMAP • Anotación de proteínas huérfanas • Pre-anotación de proteínas pertenecientes a familias grandes/complejas (transportadores ABC. sistemas de dos componentes. HTH. SDH) • Anotación de alta calidad de proteínas pertenecientes a familias bien caracterizadas • Anotación manual de proteínas caracterizadas experimentalmente en ese organismo • Anotación manual de proteínas no caracterizadas que muestren similitud con otras proteínas 181 /39 .

Estrategia HAMAP ORFans 182 /39 .

HAMAP: ORFans • No tienen similitud con otras proteínas (excepto tal vez otras proteínas de organismos muy cercanos) • No tienen hits contra InterPro (Prosite. ProDom. PRINTS. SMART) • Qué se hace: – – – – Predicción de señales Predicción de regiones trans-membrana Predicción de coiled-coils Anotación de repeticiones 183 /39 . Pfam.

HAMAP: ORFan antes 184 /39 .

HAMAP: ORFan después 185 /39 .

HAMAP: large/complex families 186 /39 .

HAMAP: anotación automática • Transferencia automática de anotación – Usando reglas específicas para cada famila de proteínas – Usando reglas específicas para un organismo particular • La transferencia de anotación puede ir acompañada de advertencias para el curador – Por ejemplo: • WARNING: this genome contains MF_00031 (ruvA) but not MF_00016 (ruvB) 187 /39 .

HAMAP: ejemplo reglas 188 /39 .

HAMAP: Escherichia coli • De acuerdo al análisis original: 4286 proteínas – – – – – 60 proteínas no detectadas (casi todas < 100 aa) 120 muy probablemente no existan 50 pares o tripletes de ORFs tuvieron que ser fusionados 719 con errores en la asignación del codón de inicio ~1800 todavía sin caracterización bioquímica (aproximadamente una asignación funcional por semana) 189 /39 .

GeneID. GenBank) predicted genes (Genscan.Chromosome browsers • UCSC Genome Browser – provee un display rápido de cualquier región genómica – con varios “tracks” de anotación alineados al genoma – Por el momento sólo: Human & Mouse • Annotation tracks – – – – – – – – – genes conocidos (RefSeq. FGENESH. Acembly) spliced ESTs CpG islands assembly gaps cobertura bandas cromosómicas elementos repetitivos etc 190 /39 .

191 /39 .

dejando la exploración y la interpretación al usuario.UCSC Genome browser • UCSC sólo genera la mitad de los tracks • El resto proviene de la comunidad biomédica • El Genome Browser es una herramienta de visualización • No saca conclusiones! Simplemente integra en forma gráfica toda la información que posee sobre una región. 192 /39 .

UCSC Genome Browser: gene expression 193 /39 .

UCSC Genome browser: alternative splicing 194 /39 .

UCSC Genome browser: complex transcription 195 /39 .

BED) chrom start end [name strand score] chr1 1302347 1302357 SP1 + 800 chr1 1504778 1504787 SP2 – 980 196 /39 .UCSC Genoma browser: user tracks • • • • Ustedes pueden agregar sus propios tracks Pueden ser públicos o privados No necesitan saber programar Tienen que proveer información en formato GFF (u otros similares: GTF.

Acknowledgements • Nicola Mulder. Sanger Centre 197 /39 . EBI • Daniel Lawson.

Bioinformática Herramientas y aplicaciones Fernán Agüero Instituto de Investigaciones Biotecnológicas Universidad Nacional de General San Martín 2004 198 /39 .

pero la función depende de la estructura tridimensional • El reemplazo de 40% de los residuos de una proteína no afectan la función 199 /39 . muchas funciones La información genética es unidimensional.Entender la información genética • • • • La información genética es redundante La información estructural es redundante Un gen.

PHDSec. PSORT – Gene finding. FGENESH – Predicción de estructura secundaria • nnpredict. Net-O-Glyc.Qué herramientas provee la computación científica • Machine Learning (inteligencia artificial. GeneMark. aprendizaje automático) – Distintos métodos ‘entrenables’ para reconocer o aprender disintas cosas: • • • • Neural Networks Markov Models and Hidden Markov Models Nearest neighbor Otros – Predicción en proteínas • SignalP. Glimmer. Gene prediction • Genscan. TMHMM. 200 /39 . TmPred.

etc. en métodos de predicción de genes. integrando y cruzando datos. • utilizado en métodos de alineamiento de secuencias (Smith-Waterman. SRS. 201 /39 . en ruteo de llamadas telefónicas a través de distintas centrales. FlyBase • Oracle. BLAST. FASTA). • Entrez.Qué herramientas provee la computación • Bases de datos – Organizar datos de manera eficiente – Posibilidad de realizar consultas complejas. PostgreSQL • Teoría de la información – Medir la cantidad de información (en bits) – Incertidumbre • Sequence Logos • Algoritmos – Métodos para tratar con distintos tipos de problemas – Una vez que se aprende como solucionar un problema particular. Sybase. la solución se generaliza a toda una clase de problemas similares • Dynamic programming Qué problema resuelve este algoritmo? El problema de encontrar el mejor camino entre muchos posibles. MySQL. Needleman-Wunsch.

DMS) 202 /39 . Las búsquedas siguen siendo simples. Diseño de la base de datos.Bases de datos: conceptos básicos Qué es una base de datos? Cómo colecciono los datos? Una colección de datos Decisión del usuario. También. Flexible para reordenar y buscar con distintos criterios Planilla de Cálculo? (Excel) Un sistema de manejo de base de datos (Database Management System. Puedo usar: Procesador de texto? (Word) Si. Permite representar los datos en formas complejas. Ideal. Permite sólo búsqueda y ordenamiento simples. se puede ordenar en formas más complejas. Como los datos están en columnas independientes.

etc.• Un experimento en la computadora no es distinto de cualquier experimento en la mesada: – – Un experimento bioinformático los resultados deben contestar una pregunta concreta deben ser reproducibles por otra persona que utilice el mismo método • Identificar el problema – cuál es el mecanismo catalítico de la enzima X? • Identificar las herramientas necesarias para resolver el problema – búsquedas de secuencias similares. Una búsqueda utilizando BLAST casi siempre produce algún hit Es necesario distinguir resultados significativos del ruido para no terminar comparando superoxido dismutasas con alcohol dehidrogenasas. en qué algoritmos están basados. Hay que entender cómo funcionan los programas. que puntos débiles tienen. modelado de la estructura tridimensional. detección de profiles y motivos. 203 /39 . evaluación del modelo • Definir criterios de satisfacción (éxito del experimento) – – – Prácticamente todos los métodos computacionales producen resultados. alineamientos múltiples.

– En bioinformática el mismo tipo de información es esencial. fecha de ultima actualizacion. Las fuentes de información (bases de datos. Generalmente uno sabe cuando fueron preparados. como fueron preparados. etc. por ej). los materiales y reactivos son objetos físicos necesarios para realizar un experimento. el crtiterio y el metodo utilizado para extraer los datos que van a ser utilizados en el experimento El costo de un proyecto bioinformático es bajo una vez que cubierto el gasto inicial en computadoras (y eventualmente software) 204 /39 . quien los preparo.Un experimento bioinformático … • Seleccionar el set de datos apropiados – En el laboratorio.

Un ejemplo concreto • Un investigador interesado en estudiar genes en involucrados en la interacción hospedador-parásito. Lo que se necesita es contar con la capacidad de identificar genes que se expresen en los estadíos del ciclo de vida que ocurren en el hospedador y extraer las secuencias de estos genes de la base de datos En ultima instancia el objetivo es analizar las secuencias de interés usando SignalP para predecir la posible presencia de un péptido señal • • • • • 205 /39 . con especial interés en identificar aquellos productos que sean secretados Un sitio web reporta los resultados de un análisis sistemático de expresión (usando microarrays) de todos los genes del genoma en todos los estadíos del ciclo de vida del parásito El investigador puede bajar un archivo con un resumen de estos experimentos Las secuencias de todas las proteínas codificadas por el genoma se encuentran disponibles en una base de datos.

cada vez que aparezcan nuevos resultados de microarrays o se actualicen.Cuestiones a tener en cuenta: • Podemos hacer el trabajo ‘a mano’ – Abrimos el resumen con los datos de los experimentos con microarrays en un procesador de texto – buscamos los genes que muestran expresión en el estadio de interés – Construimos una lista de genes (accession numbers) – Luego vamos a nuestra base de datos con secuencias genómicas y sus traducciones y buscamos una por una las secuencias – El ultimo paso es pasar todas las secuencias a un formato que entienda SignalP y ingresarlas una por una en el formulario correspondiente. hay que repetir todo el procedimiento – El proceso de abrir el resumen con datos de microarrays (o la base de datos de genes) en un procesador de textos puede no ser factible si el tamaño de los archivos excede los 5 o 10 MB 206 /39 . • Hay tres problemas evidentes: – Si el número de genes que se expresan en nuestro estadio de interes es más que ‘unos cuantos’ el trabajo se vuelve tedioso y más que nada lento por el tiempo que insume – Peor aun.

pero es similar a aprender a utilizar una nueva herramienta. francés) • • • • 207 /39 . tecnología u otro lenguaje (inglés.Programación en biología • Cualquier persona que tenga experiencia en el diseño y llevado a cabo de experimentos para responder una pregunta puede programar una computadora Un experimento en el laboratorio comienza con una pregunta que evoluciona hacia una hipótesis testeable Finalmente el experimento sirve para afirmar o descartar una afirmación En la computadora el programa que uno escriba debe estar diseñado de manera de producir resultados que respondan a este tipo de afirmaciones Aprender un lenguaje de programación puede resultar un desafío no trivial.

Programación en biología • Ejemplos simples: – automatizar tareas – identificar una o más tareas que uno quiere realizar – escribir un programa que las realice en forma automática • Analizar todas las proteínas de un genoma y seleccionar aquellas que sean (o parezcan) proteinasas – – – – Un archivo con todas las secuencias Una base de datos de proteinas (Swissprot. GenPept) Un programa para buscar secuencias similares en bases de datos (BLAST) Una serie de instrucciones a seguir (un protocolo) 208 /39 .

Automatizar búsquedas con BLAST
Secuencias

BLAST

NO
Significativo?

SI

NO

Es una proteinasa?

SI
Guardar

209 /39

Automatizar BLAST
• Muy lindo el diagrama, pero: cómo se hace? • Por cada secuencia de una lista de secuencias hay que:
– correr la comparación (BLAST) contra una base de datos – analizar el reporte que genera el programa y extraer dos tipos de datos:
• score, expect, identidad, similitud (algún criterio cuantitativo que me sirva para tomar una decisión) • descripción de la secuencia obtenida de la base de datos

>gi|32172429|sp|P25807|CYS1_CAEEL Gut-specific cysteine proteinase precursor >gi|32172419|sp|P07268|PRZN_SERSP Serralysin precursor (Extracellular metalloproteinase) (Zinc proteinase)

210 /39

Programación
• Todo lenguaje de programación provee construcciones para tomar decisiones:
– if A then do B, else do C – if A > 100 then continue else exit

Algunos lenguajes de programación proveen métodos para ejecutar otros programas
– salir al sistema operativo, ejecutar el programa X y tomar el output – blast secuencia vs swissprot – system( “blast -i secuencia -d swissprot” )

Lo más dificil: analizar el output y tomar los datos de interés
– para poder tomar decisiones (hacer comparaciones) tenemos que tener los datos en variables

211 /39

Reportes de BLAST
• Un reporte de BLAST tal como aparece en un navegador o al ejecutar el programa en la línea de comando (Unix) es basicamente un archivo de texto (un archivo plano o flatfile) Ningun reporte es igual a otro. Sin embargo hay patrones similares (la apariencia de hecho es similar). Tenemos que entrenar a nuestro programa para reconocer patrones:
– la primer linea contiene información sobre el programa – la quinta línea contiene información sobre la secuencia utilizada para la búsqueda – la décima línea contiene información sobre la base de datos – la línea que comienza con ‘>’ indica el comienzo de la descripción de un hit – etc.

212 /39

Anatomía de un reporte de BLAST
Header
Programa
$programa = “TBLASTN” $version = “2.2.6”

Query

$id = “GROU_DROME” $accession = “P16371” $descripcion = “Groucho protein …” $longitud = “719”

Base de datos

$database = “GenBank non-mouse …” $secuencias = “8104717”

213 /39

Anatomía de un reporte de BLAST
Hit List

214 /39

9” $expect = “7e-10” $identity = “24%” $similarity = “43%” $frame = “+1’ 215 /39 .Anatomía de un reporte de BLAST High scoring pairs (HSPs) Subject $gi = “132150256” $gb = “CB923560” $version = “1” $desc = “TcAmaPl03Run01_C08 …” Longitud = “653” HSP info $score = “58.

Anatomía de un reporte de BLAST
Footer

Estadísticas para esta corrida
Base de datos Parámetros estadísticos Matriz Penalties Detalles sobre lo que hizo el algoritmo

216 /39

Nuevos formatos
• Los reportes estaban diseñados con un usuario (humano) en mente
– Formato no estructurado – Ideal para lectura

Cada vez más los reportes que producen distintos programas se encuentran en formatos estructurados más fáciles de analizar desde el punto de vista de la computadora
– XML – ASN.1 – Tabulado

Estos formatos no son amigables para un humano (no son fáciles de leer)

217 /39

Representación de la información
flatfiles

Ayer
procesamiento

resultados

218 /39

Representación de la información
flatfiles

Hoy
procesamiento

DB resultados

219 /39

Analizando un reporte de BLAST
• • • Nuestro programa ya leyó el reporte Y almacenó los valores que le pedimos en distintas variables Ahora podemos hacerle hacer lo que querramos:
– (en pseudocódigo):

if $score < 100 { read next report } else { print $accession } if $description =~ “proteinase” { print $accession} else { read next report } if $score < 100 AND $description =~ “proteinase” { print $accession } else { read next report }

220 /39

Módulos de software reusables
• Resumiendo:
– nuestro programa tiene que poder leer el reporte (FACIL) – identificar dentro del reporte distintos elementos y almacenarlos en variables (MAS COMPLICADO) – tomar decisiones en base a los valores contenidos en las variables y realizar acciones (imprimir algo en pantalla, almacenar datos en un archivo, base de datos, etc.) (Criterio del usuario)

El criterio del usuario es lo que va a hacer que el programa sirva para un fin u otro Es evidente que los pasos 1 y 2 van a ser necesarios para cualquier programas que intenten procesar reportes de BLAST
– solo hay que programarlos una vez – modulos reusables (subrutinas)

221 /39

Bibliotecas de modulos reusables
• Perl, Python, Java, C
– en general todos los lenguajes proveen bibliotecas de módulos reusables – el módulo contiene código que realiza ciertas operaciones – no es necesario saber como funciona internamente el módulo para poder usarlo – solo necesitamos saber que datos necesita (por ejemplo: una secuencia) y que resultados produce (un valor: 135, una respuesta: SI/NO)

En el caso de aplicaciones biológicas
– – – – BioPerl BioPython BioJava Otros

222 /39

Pipelines
• Qué es un pipeline?
– Una línea automatizada de análisis
Seq

BLAST

Pfam

TMHMM

SignalP

etc

Fábrica de resultados

Base de datos

Almacenamiento

CGI Integración Y Visualización

Web Page 223 /39

Pipelines: ejemplos
• Sistemas de anotación automática de genomas
– Ensembl - http://www.ensembl.org – UCSC Genome Browser - http://genome.ucsc.edu – ORNL Genome Channel - http://compbio.ornl.gov/channel – HAMAP - http://us.expasy.org/sprot/hamap

224 /39

Estrategia HAMAP

ORFans
225 /39

226 /39 .

227 /39 .

228 /39 .

Consideraciones prácticas • • • La bioinformática es más barata que el trabajo en el laboratorio El equipamiento es significativamente más barato que el de un laboratorio de biología molecular Los materiales (programas) y reactivos (datos) son en general gratuitos y libremente accesibles Almacenamiento – – La cantidad y tipos de bases de datos que se planean instalar (ejemplo: GenBank actualmente requiere 120 GB) La cantidad y tipo de datos que se planean generar • • Memoria y Procesador – – – Los requerimientos de los distintos métodos BLAST es principalmente memoria-intensivo HMMER es principalmente procesador-intensivo 229 /39 .

etc Software de manejo de bases de datos: MySQL. PostgreSQL Lenguajes de proramación: Perl. FASTA. C++ • Para un laboratorio chico una PC con un disco un poco más grande y un poco más de memoria que lo común pueden ser suficientes 230 /39 .Consideraciones prácticas • Backup – – – CD Cinta Un segundo disco • Software – – – – Sistema operativo: unix Paquetes: BLAST. Python. Java. C.

cruzi. L. berghei.Con respecto a la protozoología • Los genomas de varios protozoarios están terminados o cerca de estarlo – Plasmodium falciparum. brucei. chabaudi. T. major) • Algunos otros se encuentran en distintos estados – – – – Entamoeba hystolytica Theileria annulata Babesia bovis Eimeria tenella • En algunos casos hay proyectos post-genómicos en curso o recién comenzando – Proteomics – Microarrays – RNAi 231 /39 . knowlesi – Toxoplasma gondii – Trypanosomatidos (T.

Sequence and genome analysis. – CSHL Press • Bioinformatics.Bibliografía sugerida • Developing Bionformatics Computer Skills – O’Reilly & Associates • Bioinformatics. a practical guide to the analysis of genes and proteins – Wiley InterScience 232 /39 .

233 /39 .

Búsqueda en bases de datos Similitud. homología. Métodos heurísticos. 234 /39 .

Búsqueda en bases de datos Perspectiva general 235 /39 .

– Objetivos distintos: interesa más la puntuación que el alineamiento en si.• • Búsqueda en BD frente al alineamiento de secuencias Una de las aplicaciones más conocidas es buscar [nuevas] secuencias en una BD. – Los parámetros que mejor distingan entre secuencias relacionadas y las que no lo están no son necesariamente los mismos que proporcionan el mejor alineamiento. Esto suele hacerse alineando la secuencia contra todas las de la BD. – Proceso parecido al alineamiento por parejas. 236 /39 .

– Para descubrir propiedades de nuevas secuencias. – Es preciso proceder con meticulosidad y racionalidad. – Un proceso incorrecto o descuidado puede llevar a conclusiones erróneas o a omitir hallazgos. • Obviamente como en toda investigación. – Se utiliza la información acumulada. 237 /39 .Búsqueda en BD y predicción de la función de una proteína o un gen • La búsqueda de secuencias en bases de datos puede verse como un proceso de descubrimiento científico en el que.

• La evolución es un proceso conservativo ¿Puede predecirse la función de una proteína o un gen? – Cambian los residuos en una secuencia – Pero se conservan las propiedades bioquímicas y los procesos fisiológicos • Si somos capaces de encontrar en la BD secuencias homólogas a la secuencia problema concluimos que la nueva secuencia “debe de tener” propiedades similares a la secuencia conocida 238 /39 .

– Como determinar si de la similitud observada puede inferirse la homología.Homología y similitud • Para inferir las propiedades de una nueva secuencia precisamos de secuencias homólogas a ésta. • Debemos pues determinar… – Cual es la mejor forma de medir la similitud. solo la similitud. • Sin embargo la homología no es observable. 239 /39 .

Fuentes de información para la búsqueda en bases de datos 240 /39 .

– El algoritmo utilizado para realizar las comparaciones. 241 /39 . – El sistema de puntuación con el que se cuantifica el grado de similitud. – La base de datos en donde se realiza la búsqueda.Fuentes de información • La búsqueda en BD se fundamenta en tres tipos distintos de fuentes de información [conocimiento previo].

• Se han obtenido analizando sustituciones conocidas de unos AA por otros entre secuencias con grados distintos de divergencia y conservación de función.El sistema de puntuación • La similitud se cuantifica con matrices de sustitución (PAM. – Siempre es mejor usar una matriz adecuada que suponer sustituciones equiprobables. etc…). BLOSUM. – Distintos grados de divergencia requieren distintas matrices de puntuación. 242 /39 .

– Muy sensitivo pero poco selectivo. – Lento.El algoritmo de búsqueda • Cada algoritmo (S-W. – Pueden resultar en menor sensibilidad. • FASTA/Blast: restricciones heurísticas. – Más selectivos y mucho más veloces. • SW: pocas restricciones. 243 /39 . FASTA. Blast). – Aprovecha de forma distinta la información. – Imponiendo restricciones distintas sobre el modelo evolutivo.

• Una búsqueda adecuada en BD puede ahorrar muchas horas de trabajo en el laboratorio.La base de datos • Es la fuente más evidente de conocimiento preexistente. 244 /39 .

• Las inserciones y eliminaciones son menos probables que las sustituciones 245 /39 . – El camino evolutivo más adecuado es el que presupone un menor número de cambios. • No todas las sustituciones son igualmente probables: Debemos usar matrices de sustitución que las ponderen adecuadamente.Suposiciones en que se basa la búsqueda en las BD • La búsqueda en BD presupone que… – Las secuencias buscadas tienen ancestros comunes con la secuencia problema.

En la práctica … • La elección del algoritmo de búsqueda influye en – La sensibilidad y – La especificidad de la búsqueda. 246 /39 . • La elección de la matriz de similitud determina el patrón y la cantidad supuesta de sustituciones en las secuencias que se espera descubrir en la búsqueda.

Sensibilidad y especificidad 247 /39 .

Exitos y fracasos en la búsqueda • Supongamos que conociéramos TODAS las coincidencias entre una secuencia problema y una base de datos. Negativos Falsos (False Negatives. Negativos Verdaderos (True Negatives. – – – – Positivos verdaderos (True positives TP). Positivos Falsos . (False Positives. FN). • En este caso podríamos distinguir si. FP). ésta es cierta o falsa. 248 /39 . dada una coincidencia. TN). • Esto nos lleva a distinguir entre.

Verdaderos/Falsos Positivos/Negativos Realidad Detección Positivo: Positivo verdadero Se detecta coincidencia Falso positivo Coincidencia Cierta Coincidencia Falsa Negativo: No se detecta la coincidencia Falso Negativo Negativo verdadero 249 /39 .

Sensibilidad frente a Especificidad (“Selectividad”) • Sensibilidad= TP /(TP+FN) % de coincidencias bien identificadas (% positivos entre las coincidencias) • Especificidad = TP / (TP+FP) % de positivos correctos (% de correctos entre los positivos) 250 /39 .

O en todo caso decidir que error nos interesa más controlar en cada situación 251 /39 .• Si en una búsqueda colocamos el umbral alto  – Cuesta localizar los positivos Pocos FP – Pero tendremos más falsos negativos El compromiso entre sensibilidad y especificidad • Es decir un umbral alto suele conllevar una baja sensibilidad y una alta especificidad AL reves si colocamos un umbral bajo – Tendremos muchos positivos  Tambien más FP – Pero habran menos falsos negativos Es decir un umbral bajo conlleva una alta sensibilidad y una baja especificidad • • Idealmente:mirar de lograr un equilibrio.

few false positives 252 /39 .< 0.00 Low sensitivity.05 < 1. many false negatives High selectivity.

High sensitivity. few false negatives Low selectivity.00 253 /39 . many false positives < 1.

Algoritmos de búsqueda De la programación dinámica a los métodos heurísticos 254 /39 .

Busqueda basada en PD • Una forma razonable de buscar una secuencia en una base de datos es realizando alineamientos locales de ésta contra todas las de la base de datos • Algoritmo: Smith-Waterman – Encuentra una solución óptima – Sólo impone una restricción: Puntuación > 0 – Proporciona la mejor sensibilidad 255 /39 .

Inconvenientes de la búsqueda basada en SW • Alternativa: Métodos heurísticos – Aproximaciones a SW con restricciones que: • Aumentan la especificidad (aunque baja la sensibilidad) • Són mucho más rápidas 256 /39 .• La busqueda basada en PD proporciona una gran sensibilidad pero – Es poco específica Pocos falsos negativos: Fàcil perder las “homologías remotas” – Es necesariamente lenta.

FASTA • Aproximación a S-W que utiliza dos heurísticas para ir más rápido a costa de perder sensibilidad • Heurísticas : Restricciones al modelo evolutivo implicito en la comparación de secuencias – Tamaño de palabra (Word size) – Tamaño de ventana (Window size) 257 /39 .

El efecto de variar el tamaño de palabra se muestra en los dot-plots: A mayor tamaño menor numero de coincidencias.Tamaño de palabra en FASTA • La comparación entre secuencias no se realiza residuo a residuo sino por grupos de residuos. 258 /39 . – 2 residuos en AA. – 6 bases en DNA. • • A mayor tamaño de palabra menor es la sensibilidad y mayor la especificidad.

Tamaño de palabra=1 • Ruidoso • Es dificil localizatr las zonas de similitud 259 /39 .

Tamaño de palabra=2 • Se ven las regiones candidatas Aunque se pierden algunas coincidencias • 260 /39 .

Tamaño de palabra=3 • Sin ruído pero • Apenas sin coincidencias 261 /39 .

T 262 /39 . W) con una puntuación más grande o igual a una puntuación umbral.BLAST • • • Aproximación similar a la anterior basada en aparear fragmentos cortos que irá extendiendo para buscar alineamientos locales Utiliza un modelo estadístico para encontrar los mejores alineamientos entre la secuencia desconocida y la BD HSP: High-scoring Segment Pair – La unidad fundamental de trabajo con BLAST – Corresponde a una región de máxima similitud entre dos subsecuencias (palabras.

Listar los segmentos extendidos de puntuación más alta 263 /39 .BLAST: Algoritmo 1. 2. en las dos direcciones mirando de mejorar la puntuación – La extensión acabará si baja la puntuación por debajo de otro umbral. si llega a cero o si se acaba la secuencia 1. Compilar todas las palabras de medida n que den una puntuación superior al umbral (HSP) Comparar estas palabras con las de la BD para identificar las identidades exactas (“hits”) Extender las palabras que han superado el umbral. 3.

Algoritmo de BLAST (1) 264 /39 .

Algoritmo de BLAST (2) 265 /39 .

Algoritmo de BLAST (3) 266 /39 .

Significación de los resultados 267 /39 .5.

E-values. p-values y bit-scores • Dado que los programas de búsqueda heurística tan sólo encuentran coincidencias aproximadas conviene poder cuantificar cuan aproximadas son • Esto se hace mediante distintos estadísticos – E-value – P-value – Bit-scores 268 /39 .

Sólo se informa de las coincidencias que superan un nivel mínimo El E-value oscila entre 0 y cualquier valor • • 269 /39 . se podría esperar encontrar hasta 10 coincidencias con la misma puntuación o similar. que. en una base de datos del mismo tamaño en la que se ha realizado la búsqueda.E-values • • Dado un High Scoring Pair el E-value es el número esperado de puntuaciones iguales o superiores a las del HSP dado Un E-value de 10 para una coincidencia significa.value es la medida de corte más utilizada en las búsquedas en bases de datos. simplemente por azar El E.

01 Los P-valores y los E-valores son similares Los p-valores oscilan entre 0 y 1 270 /39 .P-values • • • • • Refleja la probabilidad de obtener por azar una puntuación superior o igual a la observada Se relaciona con el E-value en que: P=1-e-E Un P-valor de 0.03 significa que hay una probabilidad (>=) 3% de encontrar una puntuación superior a la observada simplemente por azar Si E<0.

Bit scores • El valor de la puntuaciones obtenidas por un emparejamiento carecen de sentido si no se tiene en cuenta el tamaño de la base de datos y el sistema de puntuación • Los Bit-scores normalizan las puntuaciones para independizarlas de ambos factores de forma que podamos compararlas 271 /39 .

Score E-Value 272 /39 .

05 < 1.< 0.00 273 /39 .

274 /39 .

Bases de datos 275 /39 .

Información adicional procesada manual o automáticamente 276 /39 . Pueden contener datos adicionales. Datos de secuencia o estructura. • Derivadas – Preparadas a partir de primarias.Tipos de bases de datos • Primarias – Principales depósitos de información.

corregidos y se añade información bibliográfica • Ejemplo SWISS-PROT – Derivadas computacionalmente • Ejemplo PFAM – Combinaciones específicas Molecular Database Collection 2006 update 277 /39 .Bases de datos biológicas • Primarias – Información suministrada por trabajo experimental – La institución receptora organiza la información pero no añade nada • Ejemplo EMBL/GenBank • Derivadas – Anotadas a posteriori • Los datos son revisados.

Permite una visión global de la información (varias BD simultáneamente) • Acceso programático (bioXXX.Principales Tipos de Búsqueda • • Acceso directo a la base de datos – Normalmente se obtiene una información más elaborada Sistemas de búsqueda global – SRS. NCBI Entrez – Automatizado. uniforme. taverna) 278 /39 . servicios Web.

Bases de datos de secuencia • Contienen todas las secuencias obtenidas experimentalmente – – – – – – DNA genómico cDNA. 279 /39 . RNA EST Proyectos genoma (HTS) Proteína ...

280 /39 . HTS. – Producen mucha información de una calidad inferior. en algunos casos dudosa.Origen de la información • Trabajo individual de investigación – Produce información de gran calidad en cantidades muy limitadas • Secuenciaciones masivas: EST. proyectos genoma.

PIR 281 /39 . RefSeq • Proteína – Uniprot (Swissprot/TrEMBL).Principales repositorios • DNA/RNA – (EMBL. Genbank. DDBJ).

282 /39 .

283 /39 .

284 /39 .

TEXT 285 /39 .

286 /39 .

287 /39 .

288 /39 .

org 289 /39 .expasy.Anotaciones Traducción http://www.

290 /39 .

291 /39 ..Información cruzada • La mayoría de archivos de bases de datos incluyen enlaces a otras bases de datos – – – – Secuencia DNA Secuencia proteína Secuencia Estructura 3D Secuencia Datos bibliográficos ...

292 /39 .

293 /39 .

294 /39 .

295 /39 .

SRS 296 /39 .Busqueda integrada.

297 /39 .

nih. Entrez http://www.Búsqueda integrada.gov/Database/datamodel/index.nlm.html 298 /39 .ncbi.

Acceso prog. Web Services String Uniprot ID PDB ID getHeadersfromPDBId PDBText StringtoAAS getAASfromUniprot getAASfromPDBId getPDBFilefromPDBId Input/output Service Output AAS: AminoAcidSeq AAS getAASfromPDBText PDBText runPSIBlastfromAAS BLASTText runFSOLVfromPDBText runPHDfromBlastText PHDText runPMUTHSfromBlastText PMUTText FSOLVText 299 /39 .

no existe control • 300 /39 .Notas de prudencia • • Las bases de datos pueden contener errores Distintas versiones (“releases”) pueden contener diferencias significativas Todos los grupos bioinformáticos publican bases de datos.

Sign up to vote on this title
UsefulNot useful