117
Bioinform´ atica DCC/FCUP 2012/2013 Pedro Ribeiro Unidade 5 Modelos Probabil´ ısticos (baseado nos slides de V´ ıtor Costa/DCC-FCUP e Sushmita Roy/UWisconsin)

PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

BioinformaticaDCC/FCUP

2012/2013

Pedro Ribeiro

Unidade 5Modelos Probabilısticos

(baseado nos slides de Vıtor Costa/DCC-FCUP e Sushmita Roy/UWisconsin)

Page 2: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

Objectivos desta unidade

• Conceitos basicos de probabilidade

• Cadeias de Markov simples e HMMs

• Probabilidade de uma sequencia e algoritmo Forward

• Caminhos provaveis e algoritmo de Viterbi

• Aprendizagem de HMMs e algoritmo Forward-Backward

• Aplicacoes de cadeias de Markov

Page 3: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

Modelos de Sequencias

• Motivacao

? Estas sequencias sao “promotoras” em E. coli

tctgaaatgagctgttgacaattaatcatcgaactagttaactagtacgcaagttcaaccggaagaaaaccgtgacattttaacacgtttgttacaaggtaaaggcgacgccgcaaattaaaattttattgacttaggtcactaaatactttaaccaatataggcatagcgttgtcataatcgacttgtaaaccaaattgaaaagatttaggtttacaagtctacacccatcctcgcaccagtcgacgacggtttacgctttacgtatagtggcgacaatttttttccagtataatttgttggcataattaagtacgacgagtaaaattacatacctgcccgacagttatccactattcctgtggataaccatgtgtattagagttagaaaacacgagg

? Estas sequencias nao sao “promotoras” em E. coli

atagtctcagagtcttgacctactacgccagcattttggcggtgtaagctaaccattaactcaaggctgatacggcgagacttgcgagccttgtccttgcggtacacagcagcgttactgtgaacattattcgtctccgcgactacgatgagatgcctgagtgcttccgtttattctcaacaagattaaccgacagattcaatctcgtggatggacgttcaacattgaaacgagtcaatcagaccgctttgactctggtattactgtgaacattattcgtctccgaagtgcttagcttcaaggtcacggatacgaccgaagcgagcctcgtcctcaatggccgaagaccacgcctcgccaccgagtagacccttagagagcatgtcagcctcgacaact

? Como distinguir? A sequencia seguinte e promotora?

ccatcaaaaaaatattctcaacataaaaaactttgtgtaatacttgtaacgctacat

Page 4: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

Definicao de Probabilidade

• Interpretacao Frequentista: a probabilidade de um evento e a proporcao de eventostemporais desse tipo que vao ocorrer passado muito tempo, quando a experiencia erepetida.

• Exemplos:

? a probabilidade que o meu voo para o Porto saia a tempo? a probabilidade que o bilhete ganhe a lotaria? a probabilidade que chova amanha

• Sempre um numero entre [0, 1]

? 0 significa que nunca vai acontecer? 1 significa que acontece sempre

Page 5: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

Espaco de Amostragem

• Espaco de Amostragem: o conjunto de resultados possıveis para o evento

• exemplos:

? voo para o Porto: {certo, atrasado }? lotaria: {bilhete 1 ganha, bilhete 2 ganha,. . .,bilhete n ganha}? tempo amanha:∗ {chove,nao chove} ou∗ {sol, chuva} ou∗ {sol, nublado, chuvisco, chuva, tempestade} ou ...

Page 6: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

Variaveis Aleatorias

• Variavel Aleatoria: a variavel representa o resultado de uma experiencia

• exemplo:

? X representa o resultado do meu voo para o Porto? escrevemos a probabilidade do voo estar a tempo como P (X = certo)

? quando for claro no que estamos a pensar, podemos escrever P (certo)

Page 7: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

Notacao

• Letras maiusculas e palavras capitalizadas denotam variaveis aleatorias

• Letras minusculas e palavras nao-capitalizadas denotam valores

• Vamos escrever um valor para uma variavel como sendo:

P (X = x) P (Febre = verdade)

• Podemos usar uma notacao compacta

P (x) em vez de P (X = x)

• para variaveis booleanas, podemos usar:

? P (febre) para P (Febre = verdade)

? P (¬febre) para P (Febre = falso)

Page 8: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

Distribuicao de Probabilidade

• Se X for uma variavel aleatoria, a funcao dada por P (X = x) para cada x e adistribuicao de probabilidade de X

• Requisitos:

? P (X = x) ≥ 0 para qualquer x?∑

x P (x) = 1

Page 9: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

Distribuicao Conjunta

• Probabilidade Conjunta a funcao dada por P (X = x, Y = y)

• ler como “X vale x e Y vale y”

• exemplo:

x, y P (X = x, Y = y)

sol, certo 0.20chuva, certo 0.30sol, atrasado 0.40chuva, atrasado 0.10

Page 10: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

Distribuicao Marginal

• a distribuicao marginal de X e definida como:

P (x) =∑y

P (x, y)

“a distribuicao de X ignorando outras variaveis”

• Esta distribuicao generaliza para mais do que 2 variaveis, e.g.

P (x) =∑y

∑z

P (x, y, z)

Page 11: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

Exemplo de Distribuicao Marginal

Distribuicao Conjuntax, y P (X = x, Y = y)

sol, certo 0.20chuva, certo 0.30sol, atrasado 0.40chuva, atrasado 0.10

Distribuicao Marginal para Xx P (X = x)

sol 0.60chuva 0.40

Page 12: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

Distribuicoes Condicionais

• A distribuicao condicional de X dado Y e definida como:

P (X = x|Y = y) =P (X = x, Y = y)

P (Y = y)

“A distribuicao de X dado que sabemos Y ”

Page 13: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

Exemplo de Distribuicao Condicional

Distribuicao Conjuntax, y P (X = x, Y = y)

sol, certo 0.20chuva, certo 0.30sol, atrasado 0.40chuva, atrasado 0.10

Distribuicao Condicional para X dado queY = certo

x P (X = x|Y = certo)

sol 0.20/0.50 = 0.40chuva 0.30/0.50 = 0.60

Page 14: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

Independencia

Duas variaveis aleatorias X e Y sao independentes se

P (x, y) = P (x)× P (y) para qualquer x e y

Page 15: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

Exemplo de Independencia

Distribuicao Conjuntax, y P (X = x, Y = y)

sol, certo 0.20chuva, certo 0.30sol, atrasado 0.40chuva, atrasado 0.10

Distribuicao Marginal para Xx P (X = x)

sol 0.60chuva 0.40

Distribuicao Marginal para Yy P (Y = y)

certo 0.50atrasado 0.50

• X e Y nao sao independentes porque P (X, Y ) 6= P (X)× P (Y )

? P (sol, certo) = 0.2 6= P (sol)× P (certo) = 0.6× 0.5 = 0.3

? P (chuva, certo) = 0.3 6= P (chuva)× P (certo) = 0.4× 0.5 = 0.2

? P (sol, atrasado) = 0.4 6= P (sol)× P (atrasado) = 0.6× 0.5 = 0.3

? P (chuva, atrasado) = 0.1 6= P (chuva)× P (atrasado) = 0.4× 0.5 = 0.2

Page 16: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

Independencia Condicional

• Duas variaveis X e Y sao condicionalmente independentes dado Z se

P (X|Y, Z) = P (X|Z)

“se soubermos o valor de Z, saber Y nao faz diferenca para saber X”

• Alternativamente:

P (X, Y |Z) = P (X|Z)× P (Y |Z) para qualquer ‘x, y, z

Page 17: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

Exemplo de Independencia Condicional

Gripe Febre Vomitar PrV V V 0.04V V F 0.04V F V 0.01V F F 0.01F V V 0.009F V F 0.081F F V 0.081F F F 0.729

• Febre e Vomitar nao sao independentes: P (febre, vomitar) 6= P (febre) ×P (vomitar)

• Febre e vomitar sao condicionalmente independentes dado gripe:

? P (febre, vomitar|gripe) = P (febre|gripe)× P (vomitar|gripe)? P (febre, vomitar|¬gripe) = P (febre|¬gripe)× P (vomitar|¬gripe)

Page 18: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

Regra da cadeia

Para duas variaveis:

P (X, Y ) = P (X|Y )× P (Y )

Para tres variaveis:

P (X, Y, Z) = P (X|Y, Z)× P (Y |Z)× P (Z)

etc...

Page 19: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

Teorema de Bayes

P (x|y) = P (y|x)P (x)P (y)

=P (y|x)P (x)∑xP (y|x)P (x)

• Este teorema e extremamente util

• Ha muitos casos em que e difıcil estimar P (x|y), mas nao e difıcil estimar P (y|x) eP (x).

Page 20: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

Exemplo do Teorema de Bayes

• Habitualmente medicos nao conseguem estimar facilmente P (Doenca|Sintoma)

• E mais facil para eles estimar P (Sintoma|Doenca)

• Se pudermos estimar P (febre|gripe) e P (gripe) podemos usar o teorema deBayes para fazer o diagnostico:

P (gripe|febre) = P (febre|gripe)P (gripe)P (febre|gripe)P (gripe) + P (febre|¬gripe)P (¬gripe)

Page 21: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

Valores Esperados

• O valor esperado de uma variavel aleatoria que toma valores numericos e definidocomo:

E[X ] =∑x

x× P (x)

E o mesmo que a media

• Podemos tambem falar do valor esperado de um funcao de variavel aleatoria:

E[g(X)] =∑x

g(x)× P (x)

Page 22: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

Exemplo de Valor Esperado

• Clientes de Sapataria:

E[TamanhoDoPe] = 38× P (TamanhoDoPe = 38) + . . .

• Lotaria Simples:

E[lucro(Lotaria)] =

ganho(premiado)P (premiado) + ganho(¬premiado)P (¬premiado) =$100× 0.001− $1× 0.999 =

−$0.899

Page 23: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

Cadeias de Markov

• Ha muitos casos em que queremos representar regularidades estatısticas de certostipos de sequencias:

? genes? locais reguladores em DNA (eg, onde a polimerase do RNA e os factores de

transcricao associam)? proteınas de uma famılia

• Modelos de Markov sao muito apropriados para este tipo de tarefa.

Page 24: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

Cadeias de Markov

probabilidades de transicaoP (xi = a|xi−1 = g) = 0.16

P (xi = c|xi−1 = g) = 0.34

P (xi = g|xi−1 = g) = 0.38

P (xi = t|xi−1 = g) = 0.12

Page 25: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

Modelos de Cadeia de Markov

• Um modelo de cadeia de Markov e definido como:

? um conjunto de estados∗ alguns estados emitem sımbolos∗ outros estados (eg, estado begin) sao silenciosos

? um conjunto de transicoes com probabilidades associadas

• as transicoes saindo de um estado definem uma distribuicao sobre os estadosseguintes possıveis.

Page 26: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

Modelos de Cadeia de Markov

• Dada uma sequencia x de comprimento L, queremos saber qual a probabilidadedado o nosso modelo

• Para qualquer modelo probabilıstico de sequencias, podemos escrever esta proba-bilidade como:

P (x) = P (xL, xL−1, . . . , x1) =

P (xL|xL1, . . . , x1)P (xL−1|xL−2, . . . , x1) . . . P (x1)

• propriedade chave das cadeias de Markov da primeira ordem: a probabilidade decada xi depende apenas de xi−1:

P (x) = P (xL|xL−1)P (xL−1|xL−2) . . . P (x2|x1)P (x1)P (x1)

∏Li=2 P (xi|xi−1)

Page 27: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

Probabilidade de uma Sequencia

P (cggt) = P (c)P (g|c)P (g|g)P (t|g)

Page 28: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

Modelos de Cadeia de Markov

• Podem ter um estado final: permitem ao modelo representar:

? uma distribuicao sobre sequencias de tamanhos diferentes? preferencias para terminar sequencias com certos tamanhos

Page 29: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

Notacao de Cadeias de Markov

• Os parametros de transicao podem ser denotados como axi−1xi onde:

axi−1xi = P (xi|xi=1)

• podemos denotar a probabilidade de uma sequencia x como sendo

aBx1

L∏i=2

axi−1xi = P (x1)

L∏i=2

P (xi|xi−1)

onde aBx1 representa a transicao do estado begin.

Page 30: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

Exemplo de Aplicacao

• Ilhas CpG:

? dinucleotidos CG sao mais raros em genomas eucarioticos do que esperado dadaas probabilidade marginais de C e de G

? mas as regioes acima de um gene sao mais ricas em dinucleotidos CG do queem qualquer outro lado: ilhas CpG

? informacao util para encontrar genes

• podemos prever ilhas CpG com cadeias de Markov:

? uma para representar ilhas CpG? outra para representar o resto do genoma.

Page 31: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

Estimando os Parametros do Modelo

• Obtido um conjunto de dados, (eg, um conjunto de sequencias de ilhas CpG), comodeterminar os parametros do nosso modelo?

• Uma solucao: estimativa com maxima verossimilhanca :

? Dado um conjunto de dados D? obter os parametros θ para maximizar

P (D|θ)

? ie, fazer com que os dados sejam o mais verosımeis possıvel de acordo com omodelo.

Page 32: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

Estimativa de Maxima Verossimilhanca(Likelihood)

• suponhamos que queremos estimar os parametros P (a), P (c), P (g), e P (t)

• e recebemos as sequencias:

? accgcgctta

? gcttagtgac

? tagccgttac

• A estimacao de maxima semelhanca sera:

P (a) = 630 = 0.2 P (g) = 7

30 = 0.233

P (c) = 930 = 0.3 P (t) = 8

30 = 0.267

Page 33: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

Estimativa de Maxima Verossimilhanca(Likelihood)

• se por outro lado as sequencias forem

? gccgcgcttg

? gcttggtggc

? tggccgttgc

• A estimacao de maxima semelhanca sera:

P (a) = 030 = 0 P (g) = 13

30 = 0.433

P (c) = 930 = 0.3 P (t) = 8

30 = 0.267

Sera que queremos mesmo colocar P (a) = 0?

Page 34: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

Uma aproximacao bayesiana

• Em vez de estimarmos os parametros estreitamentos dos dados, podemos comecarcom alguma crenca previa

• por exemplo, podemos usar estimativas de Laplace:

P (x) =nx + 1∑i(ni + 1)

• nx + 1 e uma pseudo-contagem

• e ni representa o numero de ocorrencias do caracter i

• usando estimativas de Laplace com as sequencias:

? gccgcgcttg

? gcttggtggc

? tggccgttgc

Passarıamos a ter P (a) = 0+134

Page 35: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

Uma aproximacao bayesiana

• uma forma mais geral: m-estimates

P (x) =nx + pxm

(∑

i ni) +m

• px e a probabilidade previa para x

• m e o numero de instancias virtuais

• Exemplo: com m = 8 e probabilidades previas uniformes:

P (c) =9 + 0.25× 8

30 + 8=

11

38

gccgcgcttggcttggtggctggccgttgc

Page 36: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

Estimacao de Parametros de Primeira Or-dem

• Para estimar um parametro de primeira ordem, como P (c|g), contamos o numerode vezes que g segue a historia de c nas nossas sequencias

• Usando estimadores de Laplace:

P (a|g) = 0+112+4 P (a|c) = 0+1

7+4 . . .

P (c|g) = 7+112+4 . . .

P (g|g) = 3+112+4 . . .

P (t|g) = 2+112+4 . . .

gccgcgcttggcttggtggctggccgttgc

Page 37: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

Cadeias de Markov para Discriminacao

• queremos distinguir ilhas CpG de outras regioes

• dadas sequencias de ilhas CpG, e sequencias de outras regioes, podemos construir:

? um modelo para representar ilhas CpG? um modelo nulo para representar as outras regioes

• Podemos avaliar uma sequencia de teste por:

score(x) = logP (x|modelo CpG)

P (x|modelo nulo)

Page 38: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

Cadeias de Markov para Discriminacao

• Parametros estimados para CpG e para modelos nulos:

? genoma humano contem 48 ilhas CpGs? 60000 nucleotidos

+ A C G T

A .18 .27 .43 .12

C .17 .37 .27 .19

G .16 .34 .38 .12

T .08 .36 .38 .18

− A C G T

A .30 .21 .28 .21

C .32 .30 .08 .30

G .25 .24 .30 .21

T .18 .24 .29 .29

Page 39: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

Cadeias de Markov para Discriminacao

Using Markov chains for discrimination

! A primary use for P(x) is to calculate the values for a likelihood ratio test.

! From a set of human DNA sequences, we extracted a total of 48 putative CpG islands and derived two Markov chain models, one for the regions labeled as CpG island (the ‘+’ model) and the other from the remainder of the sequence (the ‘-’ model).

! The transition probabilities for each model were set using the equation

and its analogue for ‘-’ model, where cst means is the number of times letter t followed s in the labeled regions.

! "

"" #

' 't st

st

st

c

ca

Number of times of any

letter followed s.

Using Markov chains for discrimination (cont)

! Resulting tables are:

Using Markov chains for discrimination (cont)

! To use these models for discrimination, we calculate the log-odds ratio.

! Then, table for !is given as below in bits:

!

!

#

$

#$

"

#

#"

#$

$

L

i

ii

L

i xx

xx

xx

a

a

xP

xPxS

ii

ii

1

1

11

1logmodel-)|(

)model|(log)(

%

Using Markov chains for discrimination (cont)

! Following figure shows the distribution of scores, S(x), normalized by dividing by their length, i.e., as an average number of bits per molecule.

! If we had not normalized by length, the distribution would have been much more spread out.

CpG islandsNon CpG

Page 40: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

Cadeias de Markov de Mais Alta Ordem

• A propriedade de Markov especifica que a probabilidade de um estado dependeapenas da probabilidade do estado previo

• mas podemos construir mais memoria nos nossos estados usando um modelo demais alta ordem

• num modelo de Markov de ordem n:

P (xi|xi−1, xi−2, . . . , 1) = P (P (xi|xi−1, . . . , xi−n)

Page 41: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

Seleccao da Ordem de um Modelo

• Modelos de ordem mais alta lembram-se de mais historia

• mais historia pode ser util para previsoes

• Por exemplo

? Preveja a proxima palavra neste fragmento de frase:∗ . . . quer

? Agora com mais historia∗ . . . quem desdenha quer

Page 42: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

Estimando a ordem de um Modelo deMarkov

• O problema e que o numero de parametros que precisamos de estimar cresce expo-nencialmente com a ordem

? Para modelar DNA precisamos de O(4n+1) para um modelo de ordem n

• quanto maior a ordem, menos “confiaveis” serao as nossas estimas de parametros:

? para estimar os parametros de uma cadeia de segunda ordem de Markov dogenoma completo de E. coli, irıamos ver cada palavra > 72000 em media

? para estimar os parametros de uma cadeia de oitava ordem, irıamos ver cadapalavra 5 vezes em media

Page 43: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

Cadeias de Markov de Mais Alta Ordem

• Uma cadeia de Markov de ordem n sobre um alfabeto A e equivalente a uma cadeiade primeira ordem sobre o alfabeto dos tuplos-n An

• Exemplo, uma cadeia de segunda ordem pode ser tratada como uma cadeia deprimeira ordem sobre os pares:

? AA, AC, AG, AT, CA, CC, CG, CT, GA, GC, GG, GT, TA, TC, TG, TT

• Nota: processamos uma sequencia caracter a caracter

? ACGGT = AC→ CG→ GG→ GT

Page 44: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

Uma Cadeia de Markov de Quinta Ordem

P (gctaca) = P (a|gctac)P (gctac)

Page 45: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

Cadeias Nao Homogeneas de Markov

• Nos modelos de Markov que temos considerado ate agora, as probabilidades naodependem de onde estamos numa dada sequencia

• Num modelo nao homogeneo de Markov, podemos ter distribuicoes diferentes emposicoes diferentes da sequencia

• Considere a modelacao de codoes em regioes de codificacao de proteınas

Page 46: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

Uma Cadeia Nao Homogenea de Markov

Page 47: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

Aplicacao de Cadeia Nao Homogenea

• construir modelos de Markov para regioes que codificam ou nao

• aplicar modelos para ORFs (quadros de leitura abertos) ou para janelas de tamanhofixo da sequencias

• Exemplo: GeneMark de Borodovsky et al:

? sistema popular para identificar genes em genomas de bacterias? usa cadeias de quinta ordem nao homogeneas de Markov? http://opal.biology.gatech.edu/GeneMark/

Page 48: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

ORF: Quadro de Leitura Aberta

• Um quadro de leitura aberta e uma sequencia que pode potencialmente codificaruma proteına:

? comeca com um potencial codao de inicio? acaba com um potencial codao de fim? satisfaz um tamanho mınimo? em procariotes, o codao de inicio e de fim estao na mesma janela

ATG CCG AAA TCG CAT GCA TTT GTG . . . TAG

Page 49: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

Tecnicas para Encontrar Genes

Procurar por:

• semelhanca de sequencia: encontrar genes procurando sequencias semelhantes asequencias que se sabem ser relacionadas a genes

• sinal: encontrar genes identificando os sinais de sequenciamento envolvidos emexpressao de genes

• conteudo: usar propriedades estatısticas que distinguem DNA que codifica paraproteınas do resto do DNA

• combinado: metodos mais avancados combinam estas estrategias.

Page 50: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

Procura Por Conteudo

• codificar uma proteına afecta as propriedades estatısticas de uma sequencia deDNA:

? alguns amino-acidos sao acidos mais frequentemente que outros (Leu e maispopular do que Trp)

? numero diferente de codoes para amino-acidos diferentes (Leu tem 6, Trp tem 1)? para um certo amino-acido, habitualmente um codao e usado mais frequente-

mente que outros:∗ chamado de preferencia de codao∗ essas preferencias variam com a especie

Page 51: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

Exemplo: E. Coli

AA codao freq. por1000

Gly GGG 1.89Gly GGA 0.44Gly GGU 52.99Gly GGC 34.55

Glu GAG 15.68Glu GAA 57.20

Asp GAU 21.63Asp GAC 43.26

Page 52: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

Quadros de Leitura

Fita de DNA A C G C A G A T A T C A T G AA C G C A G A T A T C A T G AA C G C A G A T A T C A T G AA C G C A G A T A T C A T G A

Page 53: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

Modelos de Markov e Quadros de Leitura

• Imagine modelar uma sequencia de codificacao

• para cada palavra que avaliamos, queremos considerar a sua posicao em relacao aoquadro de leitura que estamos assumindo

Fita de DNA A C G C A G A T A T C A T G AA C G C A G A T A T C A T G AA C G C A G A T A T C A T G AA C G C A G A T A T C A T G A

Page 54: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

Cadeia de Quinta Ordem Nao Homogenea

Page 55: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

HMMs

• Dado um T na nossa sequencia de leitura, quem o emitiu?

Page 56: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

Estado Escondido

• Vamos distinguir entre as partes observadas de um problema e as parte escondidas.

• Nos modelos que consideramos antes, e claro que estado e responsavel por que parteda sequencia

• no modelo anterior, ha multiplos estados que podem causar cada parte de umasequencia observada:

? e a parte escondida do problema

Page 57: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

HMM Simples para Encontrar Genes

Page 58: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

HMM Simples para Eucariotes

Page 59: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

Parametros de um HMM

• Num modelo de cadeias de Markov, temos probabilidades de transicao:

akl = P (πi = l|πi−1 = k)

? probabilidade de uma transicao do estado k para l? π representa um caminho (sequencia de estados) atraves do modelo.

• Como separamos estados e caracteres, podemos tambem ter probabilidades deemissao:

ek(b) = P (xi = b|πi = k)

probabilidade de emitir o caracter b no estado k.

Page 60: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

Um HMM Simples

• a13 probabilidade de transicao do estado 1 para o estado 3

• e2(A) probabilidade de emitir o caracter A no estado 2

Page 61: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

Tres Questoes Importantes

• Qual e a probabilidade de uma sequencia dada?

? O algoritmo Forward

• Qual e o caminho mais provavel para gerar uma sequencia dada?

? O algoritmo de Viterbi

• Como podemos aprender os parametros de um HMM dada um conjunto desequencias?

? O algoritmo Forward-Backward (Baum-Welch)

Page 62: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

Qual e a Probabilidade de uma dadasequencia

• A probabilidade de que o caminho π0 . . . πN seja tomado e a sequencia x1 . . . xL sejagerada:

P (x1 . . . xL, π0 . . . πN ) = a0π1

L∏i=1

eπi(xi)aπiπi+1

(assumimos que begin e end sao os unicos estados silenciosos no caminho)

Page 63: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

Qual e a Probabilidade de uma dadasequencia

P (AAC, π) = a01 × e1(A)× a11 × e1(A)× a13 × e3(C)× a35= 0.5× 0.4× 0.2× 0.4× 0.8× 0.3× 0.6

Page 64: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

Qual e a Probabilidade de uma dadasequencia

• a probabilidade sobre todos os caminhos e:

P (x1 . . . xL) =∑pi

P (x1 . . . xl, π0 . . . πN )

• mas o numero de caminhos pode ser exponencial no tamanho da sequencia

• o algoritmo Forward permite computar isto eficientemente

Page 65: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

O Algoritmo Forward

• defina fk(i) como sendo a probabilidade de estar no estado k tendo observado osprimeiros caracteres i de x

• queremos computar fN(L), a probabilidade de estar no estado final tendo observadotodo x

• podemos usar recursao

Page 66: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

O Algoritmo Forward

• por causa da propriedade de Markov, nao temos que enumerar cada caminho ex-plicitamente: podemos usar programacao dinamica

• eg, computar f4(i) com f2(i− 1), f4(i− 1)

Page 67: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

O Algoritmo Forward

• inicializacao:

? f (0) = 1 probabilidade que estejamos no estado comeco e tenhamos obser-vado 0 caracteres da sequencia

? fk(0) = 0, para k que nao sao estados silenciosos.

Page 68: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

O Algoritmo Forward

• Recursao para emitir estados (i = 1 . . . L)

fl(i) = el(i)∑k

fk(i− 1)akl

• recursao para estados silenciosos:

fl(i) =∑k

fk(i)akl

Page 69: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

O Algoritmo Forward

• Terminacao

P (x) = P (x1 . . . xL) = fN (L) =∑k

fk(L)akN

• probabilidade que estejamos no estado final e tenhamos observado toda a sequencia

Page 70: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

O Algoritmo Forward: Exemplo

• dada a sequencia x = TAGA

Page 71: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

O Algoritmo Forward: Exemplo

• dada a sequencia x = TAGA

• inicializacaof0(0) = 1 f1(0) • f5(0) = 0

• computando outros valores:

f1(1) = e1(T )× (f0(0)× a01 + f1(0)a11) =

0.3× (1× 0.5 + 0× 0.2) = 0.15

f2(1) = 0.4× (1× 0.5 + 0× 0.8)

f1(2) = e1(A)× f0(l)× a01 + f (l)a11) =

0.4× (0× 0.5 + 0.15× 0.2)

• • •

P (TAGA) = f5(4) = (f3(4)× a35 + f4(4)a45)

Page 72: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

O Algoritmo Forward: Notas

• em alguns casos o algoritmo pode ficar mais eficiente tomando em conta o numeromınimo de passos que sao precisos para atingir um estado

• para este HMM nao precisamos de inicializar ou computar os valores:

f3(0), f4(0)f5(0), f5(1)

Page 73: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

Tres Questoes Importantes

• Qual e a probabilidade de uma sequencia dada?

• Qual e o caminho mais provavel para gerar uma sequencia dada?

• Como podemos aprender os parametros de um HMM dada um conjunto desequencias?

Page 74: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

Encontrando o Caminho Mais Provavel:O Algoritmo de Viterbi

• defina vk(i) como sendo a probabilidade do caminho mais provavel responsavelpelos primeiros i caracteres de x e terminado num estado k

• queremos computar vN(L), a probabilidade do caminho mais provavel responsavelpor toda a sequencia e terminando no estado final

• podemos usar recursao

• podemos usar PD para encontrar vN(L) eficientemente

Page 75: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

Encontrando o Caminho Mais Provavel:O Algoritmo de Viterbi

• inicializacao:

? v0(0) = 1

? vk(0) = 0, para k que nao sao estados silenciosos

Page 76: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

O Algoritmo de Viterbi

• recursao para estados que emitem (i = 1 . . . L):

? vl(i) = el(xi)maxk[vk(i− 1)akl]

? ptrl(i) = argmaxk[vk(i − 1)akl] mantem o caminhomais provavel

• recursao para estados silenciosos:

? vl(i) = maxk[vk(i)akl]

? ptrl(i) = argmaxk[vk(i)akl] mantem o caminho maisprovavel

Page 77: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

O Algoritmo de Viterbi

• terminacao:

? P (x, π) = maxk(vk(L)akN )

? πL = argmaxk(vk(L)akN )

• traceback: seguir ponteiros de volta comecando em πL

Page 78: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

Algoritmos de Forward & Viterbi

• Os algoritmos de Forward/Viterbi consideram todos os caminhos possıveis para umasequencia

? Forward para encontrar probabilidade de uma sequencia? Viterbi para encontrar caminho mais provavel

• considere uma sequencia de tamanho 4:

Page 79: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

Tres Questoes Importantes

• Qual e a probabilidade de uma sequencia dada?

• Qual e o caminho mais provavel para gerar uma sequencia dada?

• Como podemos aprender os parametros de um HMM dada um conjunto desequencias?

Page 80: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

A Tarefa de Aprendizagem

• dados:

? um modelo? um conjunto de sequencias (o conjunto de treino)

• faca:

? encontre os parametros mais provaveis para explicar a sequencia de treino

• o objectivo e encontrar um modelo que generalize bem para sequencias que nuncavimos antes.

Page 81: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

Parametros de Aprendizagem

• Se sabemos o caminho para atingir o estado de cada sequencia de treino, aprenderos parametros do modelo e simples:

? nao ha estados escondidos no treino? contar quantas vezes cada parametro e usado? normalize/amaciar para obter probabilidades? processar exactamente como um modelo de cadeias de Markov

• se nao sabemos o caminho para cada sequencia de treino, como determinar as con-tagens?

? ideia base: estimar a contagem considerando todos os caminhos pesados pelasua probabilidade

Page 82: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

Aprender sem Estado Escondido

• aprender e facil se sabemos o caminho correcto para cada sequencia do conjunto detreino

• estimar parametros contando o numero de vezes que o parametro e usado no con-junto de treino

Page 83: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

Aprender com Estado Escondido

• se nao sabemos o caminho correcto para cada sequencia no conjunto de treino,considerar todos os caminhos possıveis para a sequencia

• estimar parametros usando um procedimento que conta o numero esperado de vezesque cada parametro e usado atraves do conjunto de treino

Page 84: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

Aprender Parametros:o Algoritmo de Baum-Welch

• aka o algoritmo Forward-Backward

• um algoritmo de Maximizacao de Expectativas (EM):

? EM e uma famılia de algoritmos para aprender modelos probabilısticos em prob-lemas que envolvem estado escondido

• neste contexto, o estado escondido e o caminho que melhor explica cada sequenciade treino

Page 85: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

Aprender Parametros:o Algoritmo de Baum-Welch

• ideia do algoritmo

? inicializar parametros do modelo? iterar ate convergir∗ calcular o numero esperado de vezes que cada transicao ou emissao e usada∗ ajustar os parametros para maximizar a verosimilhanca desses valores esper-

ados

Page 86: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

O Passo de Expectativa

• queremos saber a probabilidade de produzir uma sequencia x com o sımbolo i sendoproduzido pelo estado k (para qualquer x, i e k)

Page 87: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

O Passo de Expectativa

• Primeiro, precisamos de saber a probabilidade do sımbolo na posicao i ser pro-duzido pelo estado k, dada a sequencia x

P (πi = k|x)• dado isto podemos computar os nossos totais esperados para transicoes de estados

e emissoes de caracteres

Page 88: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

O Passo de Expectativa

• a probabilidade de produzir x com o sımbolo na posicao i sendo produzido peloestado k e:

P (πi = k, x) = P (x1 . . . xi, πi = k)×P (xi+1 . . . xL|πi = k)

• o primeiro termo e fk(i), computado pelo algoritmo forward

• o segundo termo e bk(i), computado pelo algoritmo backward

Page 89: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

O Passo de Expectativa

• o algoritmo forward da-nos fk(i), a probabilidade de estar no estado k tendo obser-vado os primeiro i caracteres de x

Page 90: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

O Passo de Expectativa

• o algoritmo backward da-nos bk(i), a probabilidade de observar o resto de x, dadoque estamos no estado k depois de i caracteres

Page 91: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

O Passo de Expectativa

• Se juntarmos os passos forward e backward, podemos computar a probabilidade deproduzir a sequencia x quando o sımbolo na posicao i foi produzido pelo estado q

Page 92: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

O Algoritmo Backward

• inicializacao

bk(L) = akN

Page 93: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

O Algoritmo Backward

• Caso Recursivo:

bk(i) =∑l

{aklbl(i), se l for estado silencioso

aklel(xi+1)bl(i + 1), senao

Page 94: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

O Algoritmo Backward

• terminacao:

b0(0) = P (x1 . . . xL) =∑l

{a0lbl(0), se l for estado silencioso

a0lel(x1)bl(1), senao

Page 95: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

O Passo de Expectativa

• Agora podemos calcular a probabilidade de que o sımbolo i tenha sido produzidopelo estado k, dado uma sequencia x:

P (πi = k|x) =P (πi=k,x)P (x)

=fk(i)bk(i)P (x)

=fk(i)bk(i)fN (L)

Page 96: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

O Passo de Expectativa

• A partir daqui podemos calcular o numero esperado de vezes que a letra c e emitidapelo estado k.

• De notar que adicionamos o ındice j para referir a uma sequencia especıfica noconjunto de treino.

nk,c =∑xj

[1

P (xj)

∑{i|xj=c}

fjk(i)b

jk(i)]

? Soma sobre todas as sequencias xj no conjunto de treino? Soma sobre todas as posicoes onde c aparece em xj

Page 97: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

O Passo de Expectativa

• e podemos calcular o numero esperado de vezes que a transicao de k para l e usada:

nk→l =∑xj

∑i fjk(i)aklel(x

ji+1)b

jl (i + 1)

P (xj)

• ou se l e um estado silencioso:

nk→l =∑xj

∑i fjk(i)aklb

jl (i)

P (xj)

Page 98: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

O Passo de Maximizacao

• Seja nk,c o numero esperado de emissoes de c a partir do estado k para o conjuntode treino.

• Estime novos parametros de emissao por:

ek(c) =nk,c∑c′ nk,c′

• Exactamente como no caso simples

• Mas habitualmente fazemos algum amaciamento, (ie, adicionar pseudo-contagens).

Page 99: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

O Passo de Maximizacao

• Deixe nk→l ser o numero esperado de transicoes desde o estado k para o estado lpara o conjunto de treino

• estime novos parametros de transicao como:

akl =nk→l∑m nk→m

Page 100: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

O Algoritmo de Baum-Welch

• inicializar os parametros do HMM

• itere ate convergir:

? inicializar nk,c.nk→l com pseudo-contagens? Passo-E: para cada sequencia de treino j = 1 . . . n

∗ calcule fk(i) para a sequencia j∗ calcule bk(i) para a sequencia j∗ adicione a contribuicao da sequencia j a nk,c,nk→l

? Passo-M: actualize os parametros do HMM usando nk,c,nk→l

Page 101: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

Exemplo do Algoritmo de Baum-Welch

• dado

? um HMM com os parametros inicializados como em baixo? sequencias de treino TAG, ACG

• vamos seguir uma iteracao de Baum-Welch

Page 102: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

Exemplo do Algoritmo de Baum-Welch

• determinando os valores de forward para TAG:

f0(0) = 1

f1(1) = e1(T)× a01 × f0(0) = 0.4× 1 = 0.4

f1(2) = e1(A)× a11 × f1(1) = 0.4× 0.8× 0.4 = 0.128

f2(2) = e2(A)× a12 × f1(1) = 0.2× 0.2× 0.4 = 0.016

f2(3) = e2(G)× (a12 × f1(2) + a22 × f2(2)) =0.3× (0.0256 + 0.0016) = 0.00816

f3(3) = a23 × f3(2) = 0.9× 0.01056 = 0.007344

• computamos apenas valores que representam probabilidade nao-zero

• da mesma forma podemos computar os valores de forward de ACG

Page 103: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

Exemplo do Algoritmo de Baum-Welch

• determinando os valores de backward para TAG:

b3(3) = 1

b2(3) = a23 × b3(3) = 0.9× 1 = 0.9

b2(2) = a22 × e2(G)× b2(3) = 0.1× 0.3× 0.9 = 0.027

b1(2) = a12 × e2(G)× b2(3) = 0.2× 0.3× 0.9 = 0.054

b1(1) = a11 × e1(A)× b1(2) + a12 × e2(A)× b2(2) =0.8× 0.4× 0.054 + 0.2× 0.2× 0.027 = 0.01836

b0(0) = a01 × e1(T)× b1(1) = 1.0× 0.4× 0.01836 = 0.007344

• computamos apenas valores que representam probabilidade nao-zero

• da mesma forma podemos computar os valores de backward de ACG

Page 104: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

Exemplo do Algoritmo de Baum-Welch

• determinando o numero esperado de contagens de emissoes para o estado 1:

contribuicao contribuicao pseudode TAG de ACG contagem

n1,A = f1(2)b1(2)f3(3)

+ f1(1)b1(1)f3(3)

+ 1

n1,C = f1(2)b1(2)f3(3)

+ 1

n1,G = 1

n1,T = f1(1)b1(1)f3(3)

+ 1

• note que os valores de forward/backward diferem entre as duas sequencias.

Page 105: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

Exemplo do Algoritmo de Baum-Welch

• determinando o numero esperado de transicoes para o estado 1 (nao usamos pseudo-contagens):

contribuicao contribuicaode TAG de ACG

n1→1 =f1(1)a11e1(A)b1(2)

f3(3)+ f1(1)a11e1(C)b1(2)

f3(3)

n1→2 =f1(1)a12e2(A)b2(2)+f1(2)a12e2(G)b2(3)

f3(3)+ f1(1)a12e2(C)b2(2)+f1(2)a12e2(G)b2(3)

f3(3)

• da mesma forma, podemos determinar os numeros esperados de emissao e detransicao para o estado 2.

Page 106: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

Exemplo do Algoritmo de Baum-Welch

• Determinando as probabilidades para o estado 1:

e1(A) =n1,A

n1,A+n1,C+n1,G+n1,T

e1(C) =n1,C

n1,A+n1,C+n1,G+n1,T. . .

a11 =n1→1

n1→1+n1→2

a12 =n1→2

n1→1+n1→2

Page 107: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

Convergencia em Baum-Welch

• Alguns criterios de convergencia:

? verosimilhanca da sequencia de treino nao muda muito? numero maximo de iteracoes

• habitualmente converge num numero pequeno de iteracoes

• converge para maximo local (na verosimilhanca dos dados dado o modelo)

logP (sequencias|θ) =∑xj

logP (xj|θ)

Page 108: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

Complexidade Computacional dos Algo-ritmos HMM

• Dado um HMM com S estados e uma sequencia de comprimento L, a complexidadedos algoritmos Forward, Backward e de Viterbi e de:

O(S2L)

? Isto assume que os estados sao densamente interligados

• Dadas M sequencias de comprimento L, a complexidade de Baum-Welch em cadaiteracao e:

O(MS2L)

Page 109: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

Uma Aplicacao de Aprendizagem comBaum-Welch em HMMs

• Modelando famılias de proteınas usando profile HMMs

• profile HMMs podem ser usados para:

? determinar uma sequencia multipla de alinhamento para um conjunto deproteınas

? detectar novo membros de uma famılia de proteınas

• Aplicacao mais importante de HMMs em BioComputacao:

? HMMer? Tutorial em ISMB99? Tutorial sobre evolucao de proteınas (ISMB2000)

Page 110: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

Um Profile HMM treinado para o DomınioSH3

Page 111: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

A Estrutura de um Profile HMM

• Estados de Emparelhamento: representam posicoes essencialmente conservadas nafamılia de sequencias

• Estados de Insercao: representam subsequencias que foram inseridas em algunsmembros da famılia

• Estados de Remocao: representam subsequencias que foram removidas em algunsmembros da famılia

Page 112: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

Alinhamento Multiplo no Domınio SH3

G G W W R G d y . g g k k q L W F P S N Y VI G W L N G y n e t t g e r G D F P G T Y VP N W W E G q l . . n n r r G I F P S N Y VD E W W Q A r r . . d e q i G I V P S K - -G E W W K A q r . . t g q e G F I P F N F VG D W W L A r s . . s g q t G Y I P S N Y VG D W W D A e l . . k g r r G K V P D N Y L- D W W E A r s l s s g h r G Y V P S N Y VG D W W Y A r s l i t n s e G Y I P S T Y VG E W W K A r s l a t r k e G Y I P S N Y VG D W W L A r s l v t g r e G Y V P S N F VG E W W K A q t . k n g q . G W V P S N Y IS D W W R V v n l t t r q e G L I P L N F VL P W W R A r d . k n g q e G Y I P S N Y IR D W W E F r s k t v y t p G Y Y E S G Y VE H W W K V k d . q l g n v G Y I P S N Y VI H W W R V q d . r n g h e G Y V O S S Y LK D W W K V e v . . n d r q G F V P A A Y VV G W M P G l n e r t r q r G D F P G T Y VP D W W E G e l . . n g q r G V F P A S Y VE N W W N G e i . . g n r k G I F P A T Y VE E W L E G e c . . k g k v G I F P K V F VG G W W K G d y . g t r i q Q Y F P S N Y VD G W W R G s y . . n g q v G W F P S N Y VQ G W W R G e i . . y g r v G W F P A N Y VG R W W K A r r . a n g e t G I I P S N Y VG G W T Q G e l . k s g q k G W A P T N Y LG D W W E A r s n . t g e n G Y I P S N Y VN D W W T G r t . . n g k e G I F P A N Y V

Page 113: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

Como e que os Profile HMMs RepresentamFamılias de Proteınas

Page 114: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

Classificando Sequencias: Tres Metodos

• escolha um limite sobre P (x) que permita boa discriminacao entre casos positivose casos negativos:

? depende do comprimento de x

• construa um modelo nulo; rode uma sequencia x pelos dois para ver quem obtemum P (x) maior

• construa um conjunto de modelos para famılias disjuntos; rode a sequencia deinterrogacao x por todos os modelos para ver quem obtem o maior P (x)

Page 115: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

Precisao de Profile HMM

• classificando 2447 proteınas em 33 famılias

• o eixo dos x representa a mediana das sequencias negativas que tem scores tao altoscomo uma sequencia positiva para um dado modelo de famılia

Page 116: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

Seleccao de Modelo para Profile HMMs

• assumimos que recebemos um modelo sem comprimento especificado; como deter-minar o comprimento?

• heurısticas:

? escolha um comprimento inicial; aprenda parametros? se mais do que x− del% dos caminhos de Viterbi, vao por posicoes de remocao

na posicao k, remova essa posicao do modelo? se mais do que que x − ins% vao por insercoes na posicao k, adicione novas

posicao ao modelo.? itere

Page 117: PROCURADORIA GERAL DO ESTADO · Created Date: 4/16/2013 2:54:24 PM

Comentarios sobre Modelos de Markov

• Ha muitas aplicacoes bem-sucedidas em biologia computacional

? reconhecimento de genes e tarefas associadas? modelagem de famılias de proteınas? modelagem de motivos? e mais

• Existem muitas variantes dos modelos que consideramos aqui:

? modelos de motivos de tamanho fixo? modelos de semi-markov? gramaticas estocasticas de contexto livre? amostragem de Gibbs para aprender parametros