85
Análisis de Secuencias II: Matríces de Almacenamiento, Programación Dinámica: El Algorítmo de Needleman y Wunsch Pedro A. Moreno Tovar Escuela de Ingeniería de Sistémas y Computación Facultad de Ingeniería Universidad del Valle Cali, COLOMBIA

C8 AnalisisSecuencia II

Embed Size (px)

DESCRIPTION

UV

Citation preview

Page 1: C8 AnalisisSecuencia II

Análisis de Secuencias II:Matríces de Almacenamiento, Programación Dinámica:

El Algorítmo de Needleman y Wunsch

Pedro A. Moreno Tovar

Escuela de Ingeniería de Sistémas y ComputaciónFacultad de IngenieríaUniversidad del Valle

Cali, COLOMBIA

Page 2: C8 AnalisisSecuencia II

Tipos de análisis que Ud. puede hacer con datos de secuencias:

- Análisis de secuencias simples basadas en conocimiento previo para la búsqueda de características de secuencias.

- Comparación de secuencias por pares y búsquedas basadas en secuencias.

- Alineamiento múltiple de secuencias

- Descubrimiento de motivos de secuencias en alineamientos múltiples.

- Inferencias filogenéticas.

Page 3: C8 AnalisisSecuencia II
Page 4: C8 AnalisisSecuencia II

⇒ Dada una secuencia “query” buscar similaridades en una base de datos (bd).

Base de datosde

Secuencias

Buscando en bases de datos

Algorítmo decomparaciónde secuencias

Query

Blancosorganizados

por marcadores

(scores)

Page 5: C8 AnalisisSecuencia II

Programación dinámicaAlineamiento global (N-W)Alineamiento local (S-W)

Matrices de substitución-PAM-BLOSUM-CONNETModelo de Gaps-Constante-Afín-Convexo

Método se segmentación(DotPlot)

Aproximación heurísticaBúsqueda en la base de datos

FASTA BLAST2Altschul et al., 1997

Psi-BLAST

BLASTNBLASTPBLASTX

etc.,

Algunos métodos de alineamiento pareado

Page 6: C8 AnalisisSecuencia II

Eficiencia de los métodos de la búsqueda en las bases de datos

• La programación dinámica (PD) requiere computos del orden de N2L (donde N el tamaño de la secuencia query y L es el tamaño de la base de datos)

• Dado el tamaño de bases de datos, se necesitan métodos más eficientes.

Page 7: C8 AnalisisSecuencia II

Buscando una secuencia “específica (hit) y extendida (extend)”

• Problema: Demasiados cálculos “basura” debidos a comparar regiones que no tienen nada en común

• Luz inicial: las regiones que son similares entre dos secuencias son probablemente aquellas que comparten cortos trechos que son idénticos

• Método básico: Buscar regiones similares solo cercanas a los trechos cortos que aparean exactamente

Page 8: C8 AnalisisSecuencia II

• Definimos un tamaño de palabra (word size) que es el número mínimo de apareamientos de “letras” exactas que debe ocurrir antes de hacer cualquier comparación o alinemiento

• Cómo encontramos todas las ocurrencias de palabras apareadas entre la secuencia y la bd?– Podría escanear una palabra en un tiempo, pero esto

es del orden de L (tamaño de la bd)

Buscando una secuencia “específica (hit) y extendida (extend)”

Page 9: C8 AnalisisSecuencia II

Búsqueda de palabras - “hashing”

• Solución: Se usa una tabla precomputada que lista donde cada posible palabra ocurre en la base de datos– La Generación de la tabla es del orden de L

(tamaño de la bd) pero el uso de la tabla es del orden de N (tamaño de la secuencia query)

• En la ciencia de los computadores el término empleado para este enfoque es hashing

Page 10: C8 AnalisisSecuencia II

“Hashing”

• Hashing es la transformación de una tira de caractéres en un valor usualmente de longitud fija y acortada que representa la tira original. Hashing se usa para indexar y recuperar items en una base de datos debido a que es más rápido encontrar el item usando la clave hashed acortada que encontrarlo usando el valor original. Este también se usa en muchos algorítmos encriptados.

Page 11: C8 AnalisisSecuencia II

Se requiere:

1) seleccionar un método para cuantificar los alineamientos (PAM, BLOSUM, etc.)

2) un algoritmo para encontrar el mejor alineamiento o alineamientos entre dos secuencias.

- Computando todos los posibles marcadores dealineamientos (intratable).

- Mediante programación dinámica

Page 12: C8 AnalisisSecuencia II

Matríces de Marcadoreso scores

A T C G

A

T

C

G

1 0 0 0

10 0 0

0

0

0

0 0

0

1

1

Matríx de Identidad

Page 13: C8 AnalisisSecuencia II

Matríx BLAST

A T C G

A

T

C

G

5 -4 -4 -4

5-4 -4 -4

-4

-4

-4

-4 -4

-4

5

5

Page 14: C8 AnalisisSecuencia II

Matríx de Transicióny Transversión

A T C G

A

T

C

G

1 -5 -5 -1

1-5 -1 -5

-5

-1

-1

-5 -5

-5

1

1

Page 15: C8 AnalisisSecuencia II

Programación Dinámica:El Algorítmo de Needleman y Wunsch

Alineamiento Global

Page 16: C8 AnalisisSecuencia II

Algorítmo de la Programación dinámica

Page 17: C8 AnalisisSecuencia II

– Cualquier subruta que termina en un punto junto con la verdadera ruta óptima debe ser esta mismo la ruta óptima que conduzca a ese punto. Así, la ruta óptima puede ser hallada incrementando las extensiones de las subrutas óptimas

Esencia de la programación dinámica usada en el alineamiento de secuencias

Page 18: C8 AnalisisSecuencia II

El algorítmo de programación dinámica para secuencias puede dividirse en tres áreas

principales:

InicializaciónLlenado de la matríxBusca hacia atrás (traceback)

Page 19: C8 AnalisisSecuencia II

-7

-6

-5

-4

-3

-2

1-1

-5-4-3-2-10A C T C G

ACAGTAG

Una tabla de marcadores parciales para el alineamiento de las secuencias ACTCG y ACAGTAG.

gp = –1, ma = +1 y mm = 0. La primera entrada a ser llenada es la posición (2,2)

-1+(-1) = 2-1+(-1) = -2

0+1 = 1

Page 20: C8 AnalisisSecuencia II

20-1-3-5-7

110-2-4-6

211-1-3-5

2210-2-4

0121-1-3

-10120-2

-3-2-101-1

-5-4-3-2-10A C T C G

ACAGTAG

Tabla completa de la tabla anterior de marcadores parciales

gp = –1, ma = +1, mm = 0.

1+(-1) = 0-2+(-1) = -3

-1+0 = -1

Page 21: C8 AnalisisSecuencia II

20-1-3-5-7

110-2-4-6

211-1-3-5

2210-2-4

0121-1-3

-10120-2

-3-2-101-1

-5-4-3-2-10A C T C G

ACAGTAG

Las flechas indican todas las rutas permitidas a partir de la esquina inferior derecha de la tabla de marcadores parciales

hacia la esquina superior izquierda. Cada vía representa una de varios alineamientos igualmente óptimos.

Page 22: C8 AnalisisSecuencia II

0

ACACTG

0 0 0 0 0 0 0 0 0 0

0 1 0 1 0 0 0 1 0 0

0 0 2 1 2 1 0 0 1 10 1 1 3 2 2 1 1 0 1

0 0 2 2 4 3 2 1 1 1

0 0 1 2 3 5 4 3 2 1

0 0 0 1 2 3 6 6 6 6

0

0

1

1

16

A C A C T G A T C G

Alineamiento semiglobal

Las flechas indican todas las rutas permitídasgp = 0

ma = +1 mm = 0

Page 23: C8 AnalisisSecuencia II

Alineamiento LocalAlgorítmo de Smith – Waterman

Page 24: C8 AnalisisSecuencia II

Problema del Alineamiento Local

Page 25: C8 AnalisisSecuencia II

Algorítmo de Smith-Waterman (1)

Page 26: C8 AnalisisSecuencia II

Algorítmo de Smith-Waterman (2)

Page 27: C8 AnalisisSecuencia II

Example

Page 28: C8 AnalisisSecuencia II
Page 29: C8 AnalisisSecuencia II

0

GCGATATA

0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 1

0 0 0 1 0 1 0 0 0 00 0 0 0 0 0 0 0 0 1

0 1 1 0 0 0 1 0 1 0

0 0 0 0 0 1 0 2 1 0

0 1 1 0 0 0 2 0 3 2

0

2

0

0

01

A A C C T A T A G C

Alineamiento local

0 0 0 0 0 1 1 3 2 2 10 1 1 0 0 0 2 2 4 3 2

Se ignoran los mismmatches y gaps antes y después dela región de apareamientoColocar un 0 en cualquier posición donde un valor positivo no puede ser obtenido

gp = -1 ma = +1 mm = -1

Page 30: C8 AnalisisSecuencia II

El primer paso para analizar secuencias biológicas es hacer alineamientos con las mismas. La decisión de cual programa utilizar para la búsqueda de la secuencia es tema de debate. Generalmente se recomienda el uso del programa de alineamientos de secuencias BLAST (Basic Local Alignment Search Tool) por sus siglas en Inglés. Esta herramienta es la opción más rápida y arroja buenos resultados.

El programa Blast es el programa de alineamiento más rápido pero existe un compromiso con el grado de sensibilidad y la velocidad. El programa FASTA es más lento pero más sensible. El programa Blast puede ser utilizado localmente si es solicitado por su institutción.

Page 31: C8 AnalisisSecuencia II

Algoritmos

Existe una gran variedad de algoritmos de comparación y parámetros que pueden ser usados para evaluar similitudes en secuencias de proteínas y ADN.

Se han descrito dos algoritmos óptimos para calcular los puntajes de similitud.

1) El algoritmo de Needleman-Wunsch (Needleman & Wunsch, 1970). Calcula puntajes de similitud global entre dos secuencias. Son apropiados cuando las homologías son establecidas previamente, tal como se hace cuando se construyen árboles evolutivos.

2) El algoritmo de Smith-Waterman (Smith & Waterman, 1981) calcula puntajes de similitud local, es decir, cuando se encuentran similitudes fuertes entre dos secuencias, ignora las diferencias fuera de las regiones más parecidas. Son apropiados para hacer búsquedas de proteínas y ADN en bases de datos.

Page 32: C8 AnalisisSecuencia II

Alineamientos globales no pueden ser utilizados para detectar las relaciones entre dominios de enlace del ADN en proteínas "homeobox" las cuales son principalmente factores de transcripción que juegan un papel importante en el proceso de desarrollo o hacer comparaciones entre el dominio de enlace del calcio de la calmodulina y la calpaina. Los alineamientos globales con frecuencia no detectan relaciones entre proteínas tipo mosaico. Los puntajes de similitud global pueden ser calculados con o sin penalidad para los "gaps" al final de las secuencias.

Los algoritmos de alineamientos local identifican las regiones compartidas por dos secuencias que son más similares entre sí. Entonces, dominios de enlance de calcio homólogos embebído en proteínas no homólogas pueden ser detectados con métodos de alineamiento local. Los algoritmos de alineamiento local pueden ser utilizados para encontrar exones en una secuencia genómica de ADN si se alinea con sus secuencia de ARNm.

Page 33: C8 AnalisisSecuencia II

Alineamientos de secuencias

Las búsquedas van desde pocas de bases de longitud hasta cientos de bases. La base de datos intenta alinear la secuencia query con aquellas que se encuentran almacenadas en la base de datos.

¿Cómo el algoritmo BLAST consigue los mejores alineamientos?

El algoritmo intenta alinear regiones cortas de la secuencia desconocida con regiones encontradas en la base de datos. La fase inical de la búsqueda consiste en identificar fragmentos parecidos en la base de datos. Luego se alinean los nucleótidos de los fragmentos con la secuencia desconocida, si un nucleótido de la secuencia desconocida se encuentra ubicado exactamente en la misma posición de la secuencia de la base de datos, se le adjudica un punto positivo. En el caso de que la correspondencian fuese buena pero no pefecta, entonces un se le adjudica un puntaje más bajo. Cuando no existe una correspondencia ni buena ni perfecta entre los nucleótidos se le adjudica un puntaje negativo. La suma de los puntajes es utilizada para determinar el grado de similitud.

Page 34: C8 AnalisisSecuencia II

Secuencias con puntajes altos son denominadas "high-scoring segments pairs, HSPs". El programa trata de extender el mejor HSP (aquellos con los mayores puntajes, los más parecidos) alineando en ambas direcciones hasta que la secuencia se acabe o el mismo comience a ser biologicamente no significativo. Durante los procesos de búsqueda y extención se hace uso de matrices de substitución. Entonces las secuencias reportadas serán aquellas que posean los puntajes totales más altos ("maximal-scoring segment pair, MSP").

La longitud del segmento inicial a ser identificado se especifíca por el valor W ("Wordlength"). El algoritmo BLAST solamente intenta extender el fragemento alineado si existe una correspondencia perfecta por los W nucleótidos continuos. El valor por omisión del programa Blastn es de 11 letras, blastn buscará en la base de datos hasta que consiga fragmentos de 11 letras de largo que sean exactos a la secuencia desconocida para luego proceder a la extensión hacia ambos lados. Una longitud de 11 letras es suficiente para excluir homólogos que divergen moderadamente y por consiguiente también excluirá aquellos que puedan haber sido escogidos por puro azar.

Page 35: C8 AnalisisSecuencia II

Brechas (gaps) en las secuencias

La secuencia desconocida puede tener una región perdida (deleción) o una nueva región podría haberse insertado como resultado de una mutación. Cuando se busca en una base de datos, muy probablemente será necesario identificar secuencias donde el alineamiento sea flexible con respecto a brechas con sentido biológico en la secuencia.

Page 36: C8 AnalisisSecuencia II

Matrices de substitución

En vista de que el número de nucleótidos con el cual se hará la comparación en una base de datos es vasto, se han desarrollado matrices estadística que permiten que una secuencia desconocida sea alineada rapidamente con secuencias parecidas encontradas en la base de datos. Se reportan los apareamientos más significativos (alineamientos exitosos). Mientras menos compleja sea la matríz, la comparación será más rápida pero se sacrifica un cierto grado significancia. La escogencia del tipo de matríz y el programa determina la sensibilidad y la velocidad del alineamiento.

Cómo se dijo antes, la significancia de los alineamientos encontrados en la base de datos se determina a través de los puntajes alcanzados por las mismas. Así los puntajes reflejan la probabilidad de que el alineamiento no haya sido encontrado por azar. El método a través del cual se calculan y se optimiza los puntajes es la diferencia principal entre los programas y las matrices.

Page 37: C8 AnalisisSecuencia II

Matrices estadísticas se utilizan tanto para identificar las secuencias en la base de datos cómo para estimar su significancia biológica. Existen varias matrices de donde escoger, por seguridad si no se sabe como funcionan, es recomendable dejar la del programa pone por omisión. Si se quiere entender bien cómo funcionan las diferentes matrices de substitución es recomendable entrar a la siguiente dirección electrónica:

La familia de programas de BLAST utilizan dos tipos principales de matrices de substitución. Las familias de matrices de substitución más comunes son las siguientes:

http://www.psc.edu/research/biomed/homologous/

Page 38: C8 AnalisisSecuencia II

PAM (Percentage Accepted Mutation)

Las matrices de la familia PAM son las más sensibles para alineamientos de secuencias con homologos relacionados evolutivamente. Mientras más alto sea sea el número que acompaña a las iniciales PAM (por ej. PAM40, PAM120) más grande la distancia evolutiva esperada. Si la distancia mutacional es desconocida, se deberían hacer por lo menos tres búsquedas utilizando las matrices PAM40, PAM120 y PAM250. Entonces se puede escoger la utilización de PAM para identificar secuencias conservadas o para establecer la evolución de una secuencia.

BLOSUM (Blocks Substitution Matrix)

Las matrices de BLOSUM son las más sensitivas para hacer alineamientos locales de secuencias relacionadas. Las matrices BLOSUM son ideales si se esta tratando de identificar una secuencia de nucleótidos desconocida. BLOSUM62 es una matríz general buena, ésta es la que esta puesta por omisión en los programas de BLAST.

Page 39: C8 AnalisisSecuencia II

Se debería utilizar las matrices de BLOSUM62 para búsquedas de proteínas (por ej. con los programas BLASTP, BLASTX, TBLASTN y TBLASTX, no se utlizan matrices de sustitución en BLASTN). La matríz BLOSSUM62 está optimizada para búsquedas generales de BLAST y es recomendable para la mayoría de las situaciones ya que reconoce algunas sustituciones de aminoácidos cómo conservadas (por ej. ARG - Lys). Si la búsqueda está orientada a proteínas relacionadas evolutivamente, entonces la matríz a utilizar es PAM120 para búsquedas de similitudes generalizada. Pero hay que tener cuidado en no comparar los resultados de matrices diferentes.

Se podría escoger una matríz alternativa para BLASTP, BLASTX, TBLASTN o TBLASTX, las cuales puede ser cualquiera entre PAM30, PAM70, BLOSUM80, BLOSUM45 o la que está por omisión BLOSUM62.

Page 40: C8 AnalisisSecuencia II

Filtros

Los filtros son regiones que se enmascaran en la secuencia desconocida por poseer baja complejidad composicional. Estos filtros con frecuencia estan seleccionados por omisión. El enmascaramiento es el cambio de la secuencia de baja complejidad por una serie de N (por ej. NNNNNN). Es recomendable enmascarar las secuencias, en caso de tener la opción de los filtros, ya que estas regiones de baja complejidad son muy comunes en los genomas y pueden dar lugar puntajes artificalmente altos (por ej. colas de poli A o secuencias ricas en prolina) y por tanto llevarnos a resultado e interpretaciones erradas.

Page 41: C8 AnalisisSecuencia II

Diferencias entre BLAST y FASTA.

ktup: Tanto FASTA como BLAST usan una estrategia de búsqueda inicial basada en palabras cortas. ktup en FASTA es el parámetro que indica el tamaño de la palabra utilizada en esta búsqueda inicial.

FASTA utiliza por default ktup=2, mientras que BLAST utiliza ktup=3. Sin embargo, FASTA sólo considera identidades respecto a la palabra, mientras que BLAST utiliza identidades y sustituciones conservativas. Por lo tanto BLAST con ktup=3 es en general más sensible que FASTA con ktup=2. FASTA con ktup=1 es más sensible, pero es también más lento.

Matrices y scores. BLAST y FASTA usan distintas matrices de scoring y gap penalties por default (BLAST: BLOSUM62, -12 first gap, -1 each additional gap; FASTA: BLOSUM50, -12 first gap, -2 each additional gap).

Page 42: C8 AnalisisSecuencia II

Traducciones: blastx hace 6 búsquedas independientes (una en cada marco de lectura) mientras que fastx3 y fasty3 hacen una única búsqueda forward (o reverse usando -i) que permite frameshifts. Estos últimos son más sensibles y pueden producir mejores alineamientos que blastx cuando se usan secuencias de baja calidad. Lo mismo es cierto para tblastn vs tfastx3 y tfasty3).

Page 43: C8 AnalisisSecuencia II

Homólogos distantes: Existe una opción en FASTA que les permite ignorar (i.e. que no aparezcan en el output) secuencias altamente similares al query. Esto es útil, por ejemplo, para focalizar una búsqueda en las secuencias más divergentes. No existe una opción similar en BLAST.

Secuencias cortas. Ya sea que busquen un primer o un péptido, si quieren utilizar BLAST o FASTA para esto, tengan en cuenta que BLAST es generalmente inútil al respecto. Esto es porque BLAST tiene un límite inferior sobre la longitud que puede tener una palabra (ktup). En el caso de nucleotidos, el límite inferior es 7 (el default es 11). En este sentido FASTA es mejor, porque siempre pueden usar ktup=1. Por otra parte, en el caso específico de péptidos, FASTA provee algunos algoritmos particulares de búsqueda (fastf3, fasts3 y tfasf3, tfasts3).

Page 44: C8 AnalisisSecuencia II

La matríx de scores permite evaluar que tan significativo es un alineamiento.

Los valores en las matríces son logarítmos de los valores de dos probabilidades: uno es la prob. aleatoria de ocurrencia de un aac. en un alineamiento. El valor es el producto de las frecs. de ocurrencia de cada aác. El otro, la prob. de ocurrencia significativa de un par de residuos en un alineamiento. Estas probabilidades son derivadas de alineamientos de secuencias conocidas y confirmadas.

Si el Log (oc. significativa/ oc. aleatoria) = + Oc. sig. >Si el Log (oc. significativa/ oc. aleatoria) = - Oc. sig. <

Entre más positivo sea el Log más significativo es el alineamiento.

Page 45: C8 AnalisisSecuencia II

Las matríces de substitución para bases de ADN y ARN sonmuy simples.

El programa de alineamiento de secuencias BLAST usa elesquema standard: para un match una recompensa y para un mismatch un penalty standard. Se asume que A:T y G:Cocurren en proporciones regulares

Comúnmente se usan matríces de substitución como BLAST y PAM.

Page 46: C8 AnalisisSecuencia II

Las matríces BLOSUM son derivadas a partir de bases de datosBloques, un grupo de alineamientos sin gaps de regiones de secuencias de familias de proteínas relacionadas. Un enfoque de“clustering” sortea las secuencias en cada bloque en grupos estrechamente relacionados y las frecs. de subs. entre estas dentro deuna familia produce la probabilidad de una substitución significativa.

BLOSUM-62 (punto de corte - cutoff value)62 indica que las secs. fueron puestas en el mismo cluster si estasfueran más del 62% idénticas (alin. sin gaps)

BLOSUM-50 es un punto de corte más bajo que reperesenta una escala filogenética más larga. (alin con gaps).

Las matríces PAM son contrarias a las BLOSUM.PAM-1 es equiv. a un cambio promedio en 1% de todas las posiciones de los aács.

Page 47: C8 AnalisisSecuencia II

Las matríces PAM (point accepted mutation)

1) construcción de un alineamiento entre secs. similares (>85%)

2) se calcula la mutabilidad relativa, mj para cada aác. (# de veces

que un aác. es substituído por otro). v.g. Aij ---> A

cm en un par de

secs. alineadas.

3) los valores Aij / A

j normalizados por la frec. de ocurrencia de

cada aác.

4) El log (de cada valor resultante) se usa para computar las entradas R

ij en la matríx PAM-1

Page 48: C8 AnalisisSecuencia II

Identity Identity values Positive Positive values

PAM 120 substitution matrix, scale = ln(2)/2 = 0.346574

Expected score = -1.64, Entropy = 0.979 bits

Lowest score = -8, Highest score = 12

Page 49: C8 AnalisisSecuencia II

PAM

BLOSUM

1 100 250 1000

Observando “tasas” de substitución

Observando “tasas” de substituciónentre secuencias de proteínas similares

90 45 Porcentaje desimilaridad

Secs. extrechamenterelacionadas

Relaciones muydistantes

Mayor divergencia

Las matríces BLOSUM son mejores en detectar similaridades biológicas significativas

Page 50: C8 AnalisisSecuencia II

Equivalencia de las matríces PAM y BLOSUM con base en la entropia relativa

PAM100 ==> Blosum90 PAM120 ==> Blosum80 PAM160 ==> Blosum60 PAM200 ==> Blosum52 PAM250 ==> Blosum45

Page 51: C8 AnalisisSecuencia II
Page 52: C8 AnalisisSecuencia II
Page 53: C8 AnalisisSecuencia II
Page 54: C8 AnalisisSecuencia II

FASTA

• Usado inicialmente para la búsqueda en bases de datos hasta el advenimiento del BLAST

• Entradas (Inputs)– Tamaño de la palabra: k (word or ktuple) size

– Matríx de similaridad

• Compara secs. query por pares con cada sec. en la base de datos

Page 55: C8 AnalisisSecuencia II

Método FASTA

1. Encontrar diagonales (fragmentos de cada secuencia apareados sin gaps) que tienen la densidad más alta de palabras en común

2. Recalcular (rescore) estos usando una matríx de similaridad de marcadores (scores) y extremos en buen estado que no contribuyen al marcador más alto– Resultado: Alineamiento parcial sin gaps– Reportado como marcador “init1”

Page 56: C8 AnalisisSecuencia II

Método FASTA

3. Junta regiones de unión, incluyendo penalties para gaps– Resultado: alineamiento no optimizado con

gaps– Reportado como el marcador “initn”

4. Usa programación dinámica con una amplitud de 32 residuos de banda alrededor del mejor marcador “initn”– Resultado: alineamiento optimizado con gaps– Reportado como marcador “opt”

Page 57: C8 AnalisisSecuencia II

Comentarios sobre FASTA

• Las ktuples más grandes incrementan la velocidad, ya que se encuentran pocos “hits” pero estas también decrecen la sensibilidad para hallar secs. similares pero no idénticas ya que se requieren apareamientos exactos de esta longitud.

Page 58: C8 AnalisisSecuencia II

Limitaciones de FASTA

• FASTA puede perder similaridad significativa ya que .... – Para proteínas: secs. similares no comparten

residuos idénticos

• Asp-Lys-Val es muy similar a Glu-Arg-Ile pero este no es detectado aún con ktuple = 1 ya que no existen aminoácidos apareados

• Gly-Asp-Gly-Lys-Gly es muy similar a Gly-Glu-Gly-Arg-Gly y si es detectado ya que existen apareamientos con ktuple = 2

Page 59: C8 AnalisisSecuencia II

Limitaciones de FASTA

• FASTA puede perder similaridad significante ya que ...– Para ácidos nucleicos: debido al “bamboleo”

(“wobble”) del codón. Secuencias de ADN pueden lucir como XXyXXyXXy donde las Xs son conservadas y las ys no lo son.

• GGuUCuACgAAg y GGcUCcACaAAA ambos codifican para la misma secuencia de péptidos (Gly-Ser-Thr-Lys) pero estas no aparean con un ktuple = 3 o mayor que

Page 60: C8 AnalisisSecuencia II

BLASTBasic Local Alignment Search Tool

Page 61: C8 AnalisisSecuencia II

• El alineamiento local encuentra el mejor “match” entre subsecuencias.

• El algoritmo de Smith-Waterman local:– Ningun score es negativo.

– Buscar hacia atrás el score más grande en la matríx.

• Las matríces de substitución representan la probabilidad de mutación.

• Los penalties gaps afínes incluyen un gran gap penalty abierto y un pequeño gap penalty de extensión.

Page 62: C8 AnalisisSecuencia II

BLAST es un método para evaluar la similaridad de las secuencias.

El programa toma la sec. query y la búsca contra una base de datos seleccionada. Este alinea la sec. query contra la misma sec. objeto (subject) en la base de datos.

Los resultados son reportados en forma de una lista de rangos seguida por una serie de alineamientos de secuencias individuales, más varios marcadores y estadíticas. Cada par alineado (hit) en la lista tiene asignado un marcador de similaridad, S.

Además, el marcador es analizado como probablemente producido por azar. Para ese propósito se calcula el valor E (E-value) para cada hit. El E-value del score S nos dice el número esperado de hits del score S o número más alto en la base de datos.

Page 63: C8 AnalisisSecuencia II

Haciendo una búsqueda BLAST

Paso 1. Plan de búsqueda

Paso 2. Entre la secuencia query

Paso 3. Elija los parámetros de búsqueda apropiados

Paso 4. Someta el query

Descifrando el resultado BLAST

Paso 1. Examine la estadística y los marcadores de alinemiento

Paso 2. Examine los alineamientos

Paso 3. revise los detalles de la búsqueda para planear el primo paso

Análisis Post-BLAST

Ejecutar un análisis PSI-BLAST

Crear un alineamieto múltiple. Trate de buscar motivos con PHI-BLAST

Page 64: C8 AnalisisSecuencia II

Tipos de programas BLAST

Existen cinco programas blast diferentes, los cuales pueden distinguirse por el tipo de secuencia “query” (ADN o proteína) y tipo de base de datos “subject”:

BLASTP compara una secuencia query de amino ácidos contra una bd de secs. de proteínas;

BLASTN compara una secuencia de nucleótidos query contra una bd de secs. de nucleótidos;

BLASTX compara los productos de traducción conceptuales en los seis marcos de lecturas de una sec. query de nucleótidos (por ambas bandas) contra una bd se secs. de proteínas;

TBLASTN compara una sec. de proteína query contra una bd de secs. de nucleótidos dinámicamente traducida en todos los seis marcos de lecturas (ambas bandas);

TBLASTX compara las traducciones en los seis marcos de una sec. de nucleótidos query contra las traducciones en las seis tramas de lecturas contra las traducciones en las seis tramas de una bd de secuencias de nucleótidos.

Page 65: C8 AnalisisSecuencia II

BLAST

• Meta: Encontrar secuencias similares a la sec. query a partir de una base de datos similar

• Las herramientas previas usan ya sea – directo, legítimo teóricamente pero de enfoque

computacional lento para examinar todos los posibles alineamientos del query con la base de datos (programación dinámica)

– indirecto, enfoque heurístico pero computacionalmente rápido para encontrar secs. similares mediante la búsqueda inicial de trechos idénticos (FASTP, FASTA)

Page 66: C8 AnalisisSecuencia II

BLAST

• BLAST combina lo mejor de ambos: 1) el uso de un método teórico legítimo el cual busca directamente secs. similares y 2) es computacionalmente rápido.

• Referencia– S. F. Altschul, W. Gish, W. Miller, E. W.

Myers and D. J. Lipman. Basic Local Alignment Search Tool. J. Mol. Biol. 215:403-410 (1990)

Page 67: C8 AnalisisSecuencia II

Bases del BLAST• Necesita medidas de similaridad, como en

la programación dinámica - ej.: PAM-120 para proteínas

• Definir el par de segmento máximo (maximal segment pair, MSP) que tiene el par score más alto de segmentos de longitud idéntica elegida a partir de 2 secs. (en términos de FASTA, la diagonal init1 más larga)

Page 68: C8 AnalisisSecuencia II

Bases del BLAST

• Definir un par de segmento como el máximo localmente si su marcador no puede ser mejorado ya sea por extensión o acortamiento de ambos segmentos.

Page 69: C8 AnalisisSecuencia II

Bases del BLAST

• Enfoque: encontrar pares de segmentos mediante encontrar los primeros pares de palabras cuyo marcador está sobre un umbral (threshold), i.e., encontrar pares de palabras de longitud fija w con un marcador de al menos T

• Concepto clave: parece similar al FASTA, pero nosotros estamos buscando palabras cuyo marcador está sobre T más bien que apareamientos más exactos

Page 70: C8 AnalisisSecuencia II

Método BLAST para proteínas

1. Compilar una lista de palabras las cuales dan un marcador sobre T cuando se aparea con la sec. query.– Ejemplo usando PAM-120 para una sec. query

ACDE (w=4, T=17): A C D EACDE = +3 +9 +5 +5 = 22

• Trate todas las posibilidades:AAAA = +3 -3 0 0 = 0 no es buenoAAAC = +3 -3 0 -7 = -7 no es bueno

• ...muy lento, trate cambios dirigídos

Page 71: C8 AnalisisSecuencia II

Generar una lista de palabras

A C D EACDE = +3 +9 +5 +5 = 22

• cambiar la pos. para todas las substs. aceptablesgCDE = 1 9 5 5 = 20 ok (=pCDE,sCDE, tCDE)nCDE = 0 9 5 5 = 19 ok (=dCDE,eCDE, nCDE,vCDE)iCDE = -1 9 5 5 = 18 ok (=qCDE)kCDE = -2 9 5 5 = 17 ok (=mCDE)

• cambiar la 2a pos.: no se puede – todos los alternativos negativos y las otras tres posiciones sólo adicionan hasta 13

• cambiar la 3a pos. en combinación con 1a pos.gCnE = 1 9 2 5 = 17 ok

• continuar – usar recursión

Page 72: C8 AnalisisSecuencia II

Generar una lista de palabras

• Para los “mejores” valores de w y T existen típicamente cerca de 50 palabras en la lista para cada residuo en la sec. query.

Page 73: C8 AnalisisSecuencia II

Método BLAST para proteínas2. Escanear la base de datos para los hits con la

lista compilada de palabras. Dos enfoques:– Usar índice de todas las palabras posibles (para w=4,

necesitamos un array del tamaño de 204=160.000. Se puede comprimir el índice usando señaladores (pointers) para salvar espacio.

– Usar una máquina de estados finitos (realmente usada)

• Calcular una tabla de transición de estados que diga que estado va a estar basado sobre el próximo caracter en la secuencia

3a. Hits extendido para formar HSPs (high-scoring segment pairs)

Page 74: C8 AnalisisSecuencia II

Método BLAST para proteínas

3b. BLAST2 o gapped BLAST usa un enfoque similar al FASTA que combina hits antes de tratar de extenderlos como en 3a.

4. Compara los marcadores para cada HSP con un umbral (threshold S) para decidir si lo guarda o no

5. Proceda a estimar la significancia estadística (ver más adelante)

Page 75: C8 AnalisisSecuencia II

Método BLAST para el ADN

• 1. hacer una lista de todas los w-mers contíguos en el query de la sec. (a menudo w=12)

• 2. Comprimir la base de datos empacando 4 nucleótidos en un simple byte (usar una tabla auxiliar para decir donde comienzan y terminan las secuencias dentro de la base comprimida) – no es útil para las bases no especificadas (wildcards)

Page 76: C8 AnalisisSecuencia II

Método BLAST para el ADN

• 3. Comprimir los w-mers a partir de la sec. query del mismo modo.

• 4. Buscar los matches en la base de datos comprimida con los w-mers comprimidos– Ya que todas las tramas de la sec. query son

considerados separadamente, cualquier match de longitud w>=11 debe contener un match de longitud 8 que yace sobre un límite de byte de uno de los w-mers de la sec. query. Así se puede escanear un byte (empacado) a la vez, mejorando la velocidad 4-veces comparando un nucleótido a la vez.

Page 77: C8 AnalisisSecuencia II

Método BLAST para el ADN

• Problema: si la sec. query tiene un trecho de composición de bases inusual (e.g., rico en A-T) o un elemento de secuencia repetida (e.g., sec. Alu) existirán muchos hits con regiones "no interesantes".

Page 78: C8 AnalisisSecuencia II

Método BLAST para el ADN

• Solución:– Durante la compresión de la base de datos, tabular las

frecuencias de todos los 8-tuples.

– hacer una lista de aquellos que ocurren muy frecuentemente (más frecuente que lo esperado por azar).

– Remover aquellas palabras de la lista de query de w-mers antes de buscar en la base de datos.

– Remover las palabras que aparean con una sublibrería de secuencias repetidas (y reportar los apareamientos encontrados allí).

Page 79: C8 AnalisisSecuencia II

Significancia estadística del BLAST

• La clave para usar el BLAST radica en la abilidad de calcular las probabilidades esperadas de ocurrencia de los Pares de Segmento Máximos (Maximum Segment Pairs, MSPs) dado w y T

• Esto permite al BLAST sortear las secs. apareadas en orden de “significancia” y cortar la lista con un nivel de probabilidad especificada por el usuario.

Page 80: C8 AnalisisSecuencia II

• A partir de la fórmula de Karlin-Altschul, el valor esperado (media) de los HSPs entre un query y un grupo de secs. aleatorias es

u @ [ loge Kmn ] / λoru @ [ ln Kmn ] / λ

Significancia estadística del BLAST

λ es el valor medio de la distribución. K es la frec. de exceedances ola medida de la independencia relativa de los puntos en el espacio

exceedances: una medidad de uncomponente que va más alla de un límite especificado

u: la longitud esperada deun MSP es:

m y n: son laslongitudes dedos secs.

Page 81: C8 AnalisisSecuencia II

• BLAST usa una corrección a esta fórmula que toma en cuenta las longitudes efectivas de las secs. del query y las secs. de la base de datos

u=[ ln K m' n' ] / λ

Significancia estadística del BLAST

Page 82: C8 AnalisisSecuencia II

• Las longitudes corregidas son dadas por

• donde l es la longitud promedio del alineamiento que puede ser alcanzado entre las secuencias aleatorias de longitud m y n

m'=m− ln Kmn /Hn'=n− ln Kmn /HwithH= ln Kmn / l

Significancia estadística del BLAST

con

H: la entropia relativade las frecuencias del target yel background

Page 83: C8 AnalisisSecuencia II

• Dado u, podemos calcular la probabilidad p de observar un score S entre la sec. query y una sec. en la base de datos dada que es igual a o mayor que x

p S³x =1−exp−e−λ x−u

Significancia estadística del BLAST

Page 84: C8 AnalisisSecuencia II

• Finalmente, tenemos que considerar que nosostros estamos buscando muchas secuencias de bases de datos y poder esperar que ocurra aún un score relativamente raro con una probabilidad alta hechas muchas comparaciones

• Para una base de datos de secs. D, esto es

E »1−e−p s³x D

Significancia estadística del BLAST

Page 85: C8 AnalisisSecuencia II

Resumen de los Métodos de Búsqueda en la Bases de datos

Authors (Program) Description

Needleman & Wunsch full alignment

Wilbur & Lipman match ktuple - formdiag - NW

Lipman & Pearson(FASTP)

ktuple - diag - rescore

Pearson & Lipman(FASTA)

FASTP - join diags-NW

Altschul et al (BLAST) word match list -statistics