Anda di halaman 1dari 27

Tema 7:

Comparacin de Secuencias
Fundamentos de Informtica y Bioinformtica en
Biotecnologa

Curso 2015/2016
Departamento de Ciencias de la Computacin e
Inteligencia Artificial
ndice
Introduccin
Tipos de alineamientos
Puntuacin de alineamientos
Mtodos de alineamientos de secuencias a
pares
dot plot
programacin dinmica
blast (k-tuple)
Mtodos de alineamiento de
secuencias a pares

Matriz de puntos
Programacin dinmica
Mtodos de longitud de palabra
(k-tuple BLAST)
BLAST (Basic Local Alignment Search
Tool)
http://blast.ncbi.nlm.nih.gov/Blast.cgi
Encuentra las regiones de similitud entre secuencias locales.
El programa compara secuencias de nucletidos o protenas con bases de datos de
secuencias y calcula la significancia estadstica de concordancias. BLAST puede ser usado
para inferir relaciones funcionales y evolutivas entre las secuencias, as como ayudar a
identificar a miembros de familias de genes.

Curso 2014/2015
Departamento de Ciencias de la Computacin e Inteligencia Artificial
BLAST (Basic Local Alignment Search
Tool)
Algoritmo
Construccin de un diccionario con todas las
palabras de longitud n en la query (secuencia query
sobre la que queremos encontrar informacin)

w = 11 (ADN)
w =3 (protenas)

Obtencin de alineamientos locales entre la query y


la base de datos (DB) de tamao m en la que
estamos buscando. DB
Tiempo de ejecucin: O(MN)
varios ordenes de magnitud mas rpido que el
algoritmo Smith-Watterman
BLAST (Basic Local Alignment Search
Tool)

Paso 1: Generar una lista de palabras a partir de


la query

!ACGAAGTAAGGTCCAGT!
!

! ACG! query
!! CGA!
!! GAA!
!! AAG!
!! AGT!
!! GTA!
!! TAA!
!! AAG!
!! AGG!
!! ! ! ! !...!
! ! !!
BLAST (Basic Local Alignment Search
Tool)

Paso 1.2: Descomponer la base de datos en


palabras de la misma longitud que la secuencia
query
Database
seq1

DB
DB seq2
seq3 seqm
BLAST (Basic Local Alignment Search
Tool)
Paso 2: Escanear la base de datos para encontrar
un hit entre palabras de la query y de la base de
datos.

Query Word List:


ACG! TTT! Database Sequence
CCG!
CGA! TGG! Word Lists GGT!
GAA! GAA! TGA!
AAG! ACG! ACT!
AGT! GCC! TGT!
GTA! CAC! TTA!
TAA! CAA! AAA!
AAG! ATT! AAG!
AGG! TCA! GGG!
...! ...! ...!

! !
BLAST (Basic Local Alignment Search
Tool)

Paso 2.2:
Localizar las
palabras
coincidentes
en las
secuencias
de la base de
datos
BLAST (Basic Local Alignment Search
Tool)
Paso 3: Para cada palabra coincidente, se extiende el
alineamiento base a base en las dos direcciones para
encontrar un alineamiento con un score mayor que S (MSP/
HSP maximal segment pair).Blast permite gaps
Eleccin del tamao de palabra

BLAST defaults
k=11 (DNA)
k=3 (proteins)

Que pasa si aumentamos o


disminuimos
el tamao de palabra?
Velocidad versus Sensitividad

La eleccin del tamao de palabra es crtica


w pequeo:
o coincidencias que son falsos positivos
o mayor sensitividad (se encuentran ms HSPs)
o ms lento
w mayor:
o muy pocos falsos positivos
o ms falsos negativos porque las coincidencias se
encuentrar interrumpidas por gaps en palabras de
tamao grande.
o ms rpido
Medidas de confianza en BLAST
P-value Es la probabilidad de que por casualidad la
base de datos produzca un alineamiento con nuestra
query que tenga un score igual o mayor. (el p-value es
mejor cuanto ms cerca de cero)

E-value Es un parmetro que describe el nmero


de hits al azar que uno puede esperar al buscar
con la query en una DB de un tamao
determinado.

E-value
0 10-5 10-2

Very Reliable Reliable Risky

Homology
Comparacin de E-values y P-values

CUIDADO: la comparacin solo tiene sentido si las


diferentes queries se buscan en la misma base de
datos (mismo tamano de base de datos) y con los
mismos parmetros.
BLAST: Ejemplo de una bsqueda

Query

Base de
Datos
BLAST resultaados: Lista de hits
Ejemplo
>gb|BE588357.1|BE588357 194087 BARC 5BOV Bos taurus cDNA 5'.!
Length = 369!

Score = 272 bits (137), Expect = 4e-71!


Identities = 258/297 (86%), Gaps = 1/297 (0%)!
Strand = Plus / Plus!
!

Query: 17 aggatccaacgtcgctccagctgctcttgacgactccacagataccccgaagccatggca 76!


|||||||||||||||| | ||| | ||| || ||| | |||| ||||| ||||||||| !
Sbjct: 1 aggatccaacgtcgctgcggctacccttaaccact-cgcagaccccccgcagccatggcc 59!
!
Query: 77 agcaagggcttgcaggacctgaagcaacaggtggaggggaccgcccaggaagccgtgtca 136!
|||||||||||||||||||||||| | || ||||||||| | ||||||||||| ||| ||!
Sbjct: 60 agcaagggcttgcaggacctgaagaagcaagtggagggggcggcccaggaagcggtgaca 119!
!
Query: 137 gcggccggagcggcagctcagcaagtggtggaccaggccacagaggcggggcagaaagcc 196!
|||||||| | || | ||||||||||||||| ||||||||||| || ||||||||||||!
Sbjct: 120 tcggccggaacagcggttcagcaagtggtggatcaggccacagaagcagggcagaaagcc 179!
!
Query: 197 atggaccagctggccaagaccacccaggaaaccatcgacaagactgctaaccaggcctct 256!
||||||||| | |||||||| |||||||||||||||||| ||||||||||||||||||||!
Sbjct: 180 atggaccaggttgccaagactacccaggaaaccatcgaccagactgctaaccaggcctct 239!
!
Query: 257 gacaccttctctgggattgggaaaaaattcggcctcctgaaatgacagcagggagac 313!

|| || ||||| || ||||||||||| | |||||||||||||||||| ||||||||!


Sbjct: 240 gagactttctcgggttttgggaaaaaacttggcctcctgaaatgacagaagggagac 296!
BLAST results: High scoring pairs
(HSPs)
Unidad fundamental del resultado del algoritmo BLAST

Alineamientos entre la query u una secuencia de la base de datos


con un score de similaridad superior a un determinado cutt-off

E-value (Expectation)

Score = 61 (27.8 bits), Expect = 1.8e-65, Sum P(4) =


1.8e-65
Identities = 10/17 (58%), Positives = 16/17 (94%)

Query: 81 SGDLSMLVLLPDEVSDL 97
+GD+SM +LLPDE++D+
Sbjct: 259 AGDVSMFLLLPDEIADV 275 HSP
Interpretacin de los resultados

E-values menores que (e-100) indican genes


idnticos o homlogos

E-values moderados indican genes que estn


relacionados
Listas largas de resultados con E-values
decrecientes indican una familia de genes
En general son mas significativas regiones
grandes con una similaridad moderada que
regiones cortas con una identidad muy alta
Las distintas caras de BLAST

Program Database Query Alignment

BLASTP Proteina Proteina Gapped

BLASTN DNA DNA Gapped

Frame
BLASTX Proteina Trans. DNA
Gapped
Frame
TBLASTN Trans. DNA Proteina
Gapped

TBLASTX Trans. DNA Trans. DNA Ungapped


BLAST especializados
Nombre Aplicacin

Primer-BLAST Crear primers para reacciones de PCR

Bsqueda de dominios de protenas


CDS
conservados
Bsqueda de secuencias con arquitectura
CDART
de dominios similares
Bsqueda de inmunoglobulinas y
IgBLAST
receptores de clulas T
Rastrea si una secuencia =ene
vecscreen
contaminacin por vectores
bl2seq Alineamiento de dos secuencias
Variantes de BLAST
MEGABLAST:
Optimizado para alinear secuencias muy parecidas
tamao de palabra w 16
Utiliza una penalizacin por gap lineal

PSI-BLAST:
BLAST produce muchos hits
Se alinean y se genera una matriz de posiciones (PSM)
Esta matriz con informacin de las secuencias se utiliza para la siguiente
bsqueda.

PHI-BLAST:
utiliza patrones de expresiones regulares para ejecutar la bsqueda (e.g.
[AP]-P-P-[AP]-Y patrn de un motivo de prolina)
Tema 1: Introduccin a la informtica

Qu hemos visto en este


tema?
Mtodos de longitud de palabra (k-tuple
BLAST)

Tres pasos bsicos del algoritmo BLAST


Seleccin del tamao de palabra
Velocidad frente a sensitividad
Medidas de confianza en BLAST: P-values e E-
value
Resultado de BLAST
BLAST especializados
Variantes de BLAST
Step 1: generate word list

For DNA, w >= 11. Only include the list of all contiguous
w-mers in the query sequence. There will be totally n
w + 1 words.
Common words are removed to avoid spurious hits
Why 11?
Each nucleic acid can be represented by 2 bits. Thus 4 Nucleic
Acids can be compressed into 1 bytes.
11 = a + 4 + 4 + b, (a, b = 0 ~ 3)
Thus we can compare 2 bytes at a time. Thats 8 Nucleic Acids a
time!
Step 1: generate word list
For protein, w=3, all possible w-mer words
that score at least T when comparing with
some words in the query sequence will be
generated. Maximum is
n * 20 ^ 4. (Typically about 50 words for
each residue in the query sequence.)
Common words will have low scores even if
exactly matched to query words, thus
reduces non-interesting hits.
Step 2: Scan for a Hit
Option 1:
Lookup table (index or hashing)
Option 2:
FSA. More efficient. Since only one character are
read to know which state it is in. For example,
consider sequence ATGTATCG
Word1: ATGTATC
Word2: TGTATCG
T C/word1 G/word2
state0 state1 state2

A T C