Métodos Heurísticos

Post on 12-Jan-2016

44 views 0 download

description

Métodos Heurísticos. Ventajas : Más rápido. Desventajas : Sub-óptimo. Las más conocidas. FAST : Lipman, Pearson (1985). BLAST ( B asic L ocal A lignment S earch T ool ): Altschul et al. (1990). FAST. FASTP (proteínas) FASTN (ADN) FASTA (proteínas y ADN) - PowerPoint PPT Presentation

Transcript of Métodos Heurísticos

Métodos Métodos HeurísticosHeurísticos

Ventajas: Más rápido

Desventajas: Sub-óptimo

Las más conocidasLas más conocidas

FAST: Lipman, Pearson (1985)

BLAST (Basic Local Alignment Search Tool):

Altschul et al. (1990)

FASTFAST

• FASTP (proteínas)

• FASTN (ADN)

• FASTA (proteínas y ADN)

• TFASTA (una proteína contra una base de datos de ADN)

• LFASTA (devuelve más de un alineamiento local)

Algoritmo FASTPAlgoritmo FASTP

• Secuencias s y t

• |s| = m, |t| = n

• ktup (1 ó 2 para proteínas)

• Tabla de búsqueda (lookup table, ej: hash)

• Vector indexado por offsets e inicializado en 0.

EjemploEjemplo (pág. 87)

s = HARFYAAQIVL

t = VDMAAQIA

1 2 3 4 5 6 7 8 9 10 11

H A R F Y A A Q I V Ls =

1 2 3 4 5 6 7 8

V D M A A Q I At =

1 2 3 4 5 6 7 8 9 10 11

H A R F Y A A Q I V Ls =

A 2,6,7

F 4

H 1

I 9

L 11

Q 8

R 3

V 10

Y 5

otras-

Tabla de búsqueda

A

F

H

I

L

Q

R

V

Y

otras

Vector de Offsets

1 2 3 4 5 6 7 8 9 10 11

H A R F Y A A Q I V Ls =

1 2 3 4 5 6 7 8

V D M A A Q I At =

A 2,6,7

F 4

H 1

I 9

L 11

Q 8

R 3

V 10

Y 5

otras -

1 2 3 4 5 6 7 8

V D M A A Q I At =

| | | | | | | |+9

-2+2+3

-3+1+2

+2

+2

-6-2-1

offsets

1 2 3 4 5 6 7 8

V D M A A Q I At =

| | | | | | | |+9

-2+2+3

-3+1+2

+2

+2

-6-2-1

-7 -6 -5 -4 -3 -2 -1 0 +1 +2 +3 +4 +5 +6 +7 +8 +9+10

1 1 2 1 1 4 1 1

offsets

Vector de offsets:

-7 -6 -5 -4 -3 -2 -1 0 +1 +2 +3 +4 +5 +6 +7 +8 +9+10

ScoringScoring

• Se unen aquellas k-tuplas que están en la misma diagonal no muy lejos entre sí formando regiones.

• Se le da un puntaje a cada región dependiendo de los match y mismatch de cada uno.

• Las 5 mejores regiones se les da un nuevo puntaje utilizando una matriz de sustitución.

Matrices de SustituciónMatrices de Sustitución

Ejemplos:

• PAM (Point Accepted Mutation) – PAM1, PAM 250

•BLOSUM (BLOcks SUbstitution Matrix) – BLOSUM62

• La elección puede influir fuertemente en el resultado del análisis.

• Representan una teoría particular de evolución.

BLOSUM62BLOSUM62 A R N D C Q E G H I L K M F P S T W Y V B Z X *

A 4 -1 -2 -2 0 -1 -1 0 -2 -1 -1 -1 -1 -2 -1 1 0 -3 -2 0 -2 -1 0 -4

R -1 5 0 -2 -3 1 0 -2 0 -3 -2 2 -1 -3 -2 -1 -1 -3 -2 -3 -1 0 -1 -4

N -2 0 6 1 -3 0 0 0 1 -3 -3 0 -2 -3 -2 1 0 -4 -2 -3 3 0 -1 -4

D -2 -2 1 6 -3 0 2 -1 -1 -3 -4 -1 -3 -3 -1 0 -1 -4 -3 -3 4 1 -1 -4

C 0 -3 -3 -3 9 -3 -4 -3 -3 -1 -1 -3 -1 -2 -3 -1 -1 -2 -2 -1 -3 -3 -2 -4

Q -1 1 0 0 -3 5 2 -2 0 -3 -2 1 0 -3 -1 0 -1 -2 -1 -2 0 3 -1 -4

E -1 0 0 2 -4 2 5 -2 0 -3 -3 1 -2 -3 -1 0 -1 -3 -2 -2 1 4 -1 -4

G 0 -2 0 -1 -3 -2 -2 6 -2 -4 -4 -2 -3 -3 -2 0 -2 -2 -3 -3 -1 -2 -1 -4

H -2 0 1 -1 -3 0 0 -2 8 -3 -3 -1 -2 -1 -2 -1 -2 -2 2 -3 0 0 -1 -4

I -1 -3 -3 -3 -1 -3 -3 -4 -3 4 2 -3 1 0 -3 -2 -1 -3 -1 3 -3 -3 -1 -4

L -1 -2 -3 -4 -1 -2 -3 -4 -3 2 4 -2 2 0 -3 -2 -1 -2 -1 1 -4 -3 -1 -4

K -1 2 0 -1 -3 1 1 -2 -1 -3 -2 5 -1 -3 -1 0 -1 -3 -2 -2 0 1 -1 -4

M -1 -1 -2 -3 -1 0 -2 -3 -2 1 2 -1 5 0 -2 -1 -1 -1 -1 1 -3 -1 -1 -4

F -2 -3 -3 -3 -2 -3 -3 -3 -1 0 0 -3 0 6 -4 -2 -2 1 3 -1 -3 -3 -1 -4

...

• El mejor de estos puntajes es utilizado como el score inicial (initial score).

• Para las secuencias con los mejores puntajes, se calcula un score optimizado generando una alineamiento exacto usando programación dinámica restringido a una franja alrededor del alineamiento inicial.

• ktup alto favorece la selectividad, ktup bajo incrementa sensibilidad.

Continuado...Continuado...

Salida (output)Salida (output)fasta -E 2.0 -f -16 -g -4 -s dna.mat -O clase.txt VipRo.txt m15pla~1.seq 6

VipRo.txt, 160 aa vs m15pla~1.seq library

532 residues in 1 sequences results sorted and z-values calculated from opt score 1 scores better than 1 saved, ktup: 6, variable pamfact dna.mat matrix, gap penalties: -16,-4 joining threshold: 47, optimization threshold: 32, width: 16 scan time: 0:00:00The best scores are: initn init1 opt m15pla~1 159 159 194

>> m15pla~1 (532 nt)initn: 159 init1: 159 opt: 194 59.048% identity in 105 nt overlap

30 40 50 60 70 80VipRo. GAGAGCTGGCTAACTTAATTAATGTATGTGTATATCCTGATAAA---TGAATGCATTCT- :::..: : .::: :: : ::: : AATATNNCTGGGNAAAANGGGAGGGAATTTTG 10 20 30 90 100 110 120 130 140VipRo. TTATGATACTTTCTACCGTATGAATCTTTTGGGAAGAACGCGACTTTGTAGGGGCGGGAG X::::..: :.: .::.: ::: :: :: :::.: :: : :: :.:: :::::::::X TTATGNNAATNTTNACNGGATGGATTTTCGGGGNAAAAAGAGAATNTGAAGGGGCGGGAA 40 50 60 70 80 90

150 160VipRo. CCGATAGAGGCCAGA :....: :::.. :: CNNNNAAAGGNNGGAGAAAATTTAAAGNTAAGTTTTCAATNCCATTNACCNTTTTGGTTN 100 110 120 130 140 150

Library scan: 0:00:00 total CPU time: 0:00:00

BLASTBLAST

• BLASTP

• BLASTN

• BLASTX (ADN contra una base de datos de proteínas)

• TBLASTN (proteína contra una base de datos de ADN)

• TBLASTX

Algoritmo BLASTAlgoritmo BLAST

• Secuencias s y t

• |s| = m, |t| = n

• word: default ADN =11, default proteínas = 3

Paso 1 - IndexaciónPaso 1 - Indexación

• Se generan un índice a cada word de la secuencia s y de todas las secuencias t de la base de datos:

s = TCATATCACGGCCC... Con w = 11

words:TCATATCACGG

CATATCACGGC

ATATCACGGCC

...

Paso 2 – Búsqueda InicialPaso 2 – Búsqueda Inicial• Cada word de la secuencia s es comparada con el índice de la base de datos y se le da un score.

• ADN: match = +1, mismatch = -3

Proteínas: Se utiliza una matriz de sustitución

• Se descartan aquellas words con puntaje menor a un umbral T (ADN = 0, proteínas = 11)

• Los resultantes se los llama HSPs (High-scoring Segment Pair).

s = TCAGATCACGG...

t = TGTCAGCTAACGGCC...

word s: TCAGATCACGG

word t: TGTCAGCTAAC

GTCAGCTAACG

TCAGCTAACGG

...

Alineamientos:

TCAGATCACGG

| | |

TGTCAGCTAAC

TCAGATCACGG

| |

GTCAGCTAACG

TCAGATCACGG

|||| | ||||

TCAGCTAACGG

Score: -21

Score: 3

Score: -25

HSP

Paso 3 – ExtensiónPaso 3 – Extensión

• Se extienden los HSP en ambas direcciones...

• ...hasta que el score llega a un umbral.

s = TCAGATCACGG...

t = TGTCAGCTAACGGCC...

Alineamientos:

Original:

TCAGATCACGG

|||| | ||||

TCAGCTAACGG

Extensión:

TCAGATCACGG

|||| | ||||

TCAGCTAACGG

Extensión:

TCAGATCACGGC

|||| | |||||

TCAGCTAACGGC

Extensión:

TCAGATCACGGCC

|||| | ||||||

TCAGCTAACGGCC

Extensión:

TCAGATCACGGCCCAACGGACCTGAGG

|||| | |||||| ||

TCAGCTAACGGCCGTTACGATGCTAAA

Score: 3Score: 4Score: 5Score: -29

Paso 4 – Inserción de gapsPaso 4 – Inserción de gaps

• Los gaps son agregados para conectar HSPs.

• Un gap será agregado si el costo de unir dos HSPs es positivo.

Expect (E)Expect (E)

• E = la frecuencia esperada de un score en la base de datos.

• Un match solo será mostrado si su E es menor que un umbral.

Salida (output)Salida (output)

BLASTN 2.0.11 [Jan-20-2000]

Reference:Altschul, Stephen F., Thomas L. Madden, Alejandro A. Schäffer, Jinghui Zhang, Zheng Zhang, Webb Miller, and David J. Lipman (1997), "Gapped BLAST and PSI-BLAST: a new generation of protein database searchprograms", Nucleic Acids Res. 25:3389-3402.

Query= (160 letters)

Database: tcruzi 206 sequences; 160,103 total letters

Distribution of 41 Blast Hits on the Query Sequence

Score E

Sequences producing significant alignments: (bits) Value

SIRE 317 5e-89

VIPPAPER 287 5e-80

VIP5P 287 5e-80

...SIRE Length = 435 Score = 317 bits (160), Expect = 5e-89 Identities = 160/160 (100%) Strand = Plus / Plus

Query: 1 ttaggagcttgtgaaaagaatgatcgtgggagagctggctaacttaattaatgtatgtgt 60 ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||Sbjct: 1 ttaggagcttgtgaaaagaatgatcgtgggagagctggctaacttaattaatgtatgtgt 60...

Mejora a BLASTMejora a BLAST

• En lugar de extender (paso 3) todos los HSPs solamente se extienden aquellos que estén en la misma diagonal y a distancia A.

PSI-BLASTPSI-BLAST

PSI-BLAST: Position Specific Iterated-BLAST

1. BLAST.

2. Aquellos hits por arriba de un cierto umbral son utilizados para construir un alineamiento múltiple.

3. Se arma una matriz de sustitución específica para cada posición con el alineamiento múltiple.

4. BLAST con esta nueva matriz.

5. Se agregan los nuevos hits y se repite el proceso.