biologia in silico - centro de informática - ufpe ivan g. costa filho eduardo g. gusmão...

20
Biologia In Silico - Centro de Informática - UFPE Ivan G. Costa Filho Eduardo G. Gusmão [email protected] [email protected] Centro de Informática Universidade Federal de Pernambuco Aula Prática

Upload: lidia-aveiro-salvado

Post on 07-Apr-2016

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Biologia In Silico - Centro de Informática - UFPE Ivan G. Costa Filho Eduardo G. Gusmão igcf@cin.ufpe.br egg@cin.ufpe.br igcf@cin.ufpe.bregg@cin.ufpe.br

Biologia In Silico - Centro de Informática - UFPE

Ivan G. Costa Filho Eduardo G. Gusmão

[email protected] [email protected]

Centro de InformáticaUniversidade Federal de Pernambuco

Aula Prática

Page 2: Biologia In Silico - Centro de Informática - UFPE Ivan G. Costa Filho Eduardo G. Gusmão igcf@cin.ufpe.br egg@cin.ufpe.br igcf@cin.ufpe.bregg@cin.ufpe.br

Biologia In Silico - Centro de Informática - UFPE

Tópicos• GHMM

• Biblioteca implementando HMMS.• Python

• Linguagem script com varias funcionalidades para trabalhar com dados numéricos.

• Exercício• Criar uma HMM implementado o

Casino Desonesto.

Page 3: Biologia In Silico - Centro de Informática - UFPE Ivan G. Costa Filho Eduardo G. Gusmão igcf@cin.ufpe.br egg@cin.ufpe.br igcf@cin.ufpe.bregg@cin.ufpe.br

Biologia In Silico - Centro de Informática - UFPE

GHMM (www.ghmm.org)• Biblioteca em C

• implementação eficiente dos algoritmos.• Ligação em python

• Uso da ferramenta usando um ambiente de script.

• Funcionalidades• HMMs com distribuições contínuas ou

discretas• Formato de saida/entrada em XML

• Algoritmos foward, Baum-Welch, Viterbi, …• Extensões: Pair-hmms, hmm não

homogêneas, …

Page 4: Biologia In Silico - Centro de Informática - UFPE Ivan G. Costa Filho Eduardo G. Gusmão igcf@cin.ufpe.br egg@cin.ufpe.br igcf@cin.ufpe.bregg@cin.ufpe.br

Biologia In Silico - Centro de Informática - UFPE

GHMM (www.ghmm.org)• Contratempo

• Instalação só disponível para Unix• Guia para Instalação

• http://www.cin.ufpe.br/~igcf/Metabolites/scripts/hmm/readme.txt

Page 5: Biologia In Silico - Centro de Informática - UFPE Ivan G. Costa Filho Eduardo G. Gusmão igcf@cin.ufpe.br egg@cin.ufpe.br igcf@cin.ufpe.bregg@cin.ufpe.br

Biologia In Silico - Centro de Informática - UFPE

Como usar?

Executar python e digitar

> from ghmm import *> help(ghmm)

• Documentação GHMM– http://ghmm.sourceforge.net/documentation.html

• Documentação Python– http://www.python.org/doc/current/

Page 6: Biologia In Silico - Centro de Informática - UFPE Ivan G. Costa Filho Eduardo G. Gusmão igcf@cin.ufpe.br egg@cin.ufpe.br igcf@cin.ufpe.bregg@cin.ufpe.br

Biologia In Silico - Centro de Informática - UFPE

Exemplo de HMM

Casino Desonesto

Σ = {1, 2} (Σ = {1, 2} (11 for for HHeads and eads and 22 TTails)ails)Q = {Q = {F,BF,B} – } – FF for for Fair & Fair & BB for Biased for Biased coin.coin.

Page 7: Biologia In Silico - Centro de Informática - UFPE Ivan G. Costa Filho Eduardo G. Gusmão igcf@cin.ufpe.br egg@cin.ufpe.br igcf@cin.ufpe.bregg@cin.ufpe.br

Biologia In Silico - Centro de Informática - UFPE

Criando o Casino Desonesto> sigma = IntegerRange(1,3) # defining sigma> A = [[0.9, 0.1], [0.1, 0.9]] # transition matrix > #emission probabilities > efair = [0.5, 0.5] > eloaded = [3.0/4, 1.0/4]> B = [efair, eloaded]> pi = [0.5, 0.5] #initial state probability> #start a new hmmm> m = HMMFromMatrices(sigma,

DiscreteDistribution(sigma), A, B, pi)> print m

Page 8: Biologia In Silico - Centro de Informática - UFPE Ivan G. Costa Filho Eduardo G. Gusmão igcf@cin.ufpe.br egg@cin.ufpe.br igcf@cin.ufpe.bregg@cin.ufpe.br

Biologia In Silico - Centro de Informática - UFPE

Gerando dados • Podemos usar o modelo

para gerar novos dados

> # sample data> obs_seq =

m.sampleSingle(1000)

E aplicar o algoritmo de Viterbi

> # estimate viterbi> m.viterbi(obs_seq)

Page 9: Biologia In Silico - Centro de Informática - UFPE Ivan G. Costa Filho Eduardo G. Gusmão igcf@cin.ufpe.br egg@cin.ufpe.br igcf@cin.ufpe.bregg@cin.ufpe.br

Biologia In Silico - Centro de Informática - UFPE

Estimando Parâmetros> # re-train model with generated data> m.baumWelch(obs_seq)> print m

• Como são os parâmetros finais? • Que tal gerar sequência menor?• O que acontece com os

parâmetros?

Page 10: Biologia In Silico - Centro de Informática - UFPE Ivan G. Costa Filho Eduardo G. Gusmão igcf@cin.ufpe.br egg@cin.ufpe.br igcf@cin.ufpe.bregg@cin.ufpe.br

Biologia In Silico - Centro de Informática - UFPE

Por fim … Posterior> # posterior distribution > post = m.posterior(obs_seq)> print post

Page 11: Biologia In Silico - Centro de Informática - UFPE Ivan G. Costa Filho Eduardo G. Gusmão igcf@cin.ufpe.br egg@cin.ufpe.br igcf@cin.ufpe.bregg@cin.ufpe.br

Biologia In Silico - Centro de Informática - UFPE

Por fim … PosteriorPoderiamos gerar um gráfico …

Page 12: Biologia In Silico - Centro de Informática - UFPE Ivan G. Costa Filho Eduardo G. Gusmão igcf@cin.ufpe.br egg@cin.ufpe.br igcf@cin.ufpe.bregg@cin.ufpe.br

Biologia In Silico - Centro de Informática - UFPE

Projeto• Para ser feito individualmente.• Entrega no dia 12/05/2011.• Implementar uma HMM para o problema

de reconhecimento de Ilhas CpGs.• Escrever relatório detalhando as etapas

e resultados.• Dados

www.cin.ufpe.br/~igcf/tabc/cpgs.zip

Page 13: Biologia In Silico - Centro de Informática - UFPE Ivan G. Costa Filho Eduardo G. Gusmão igcf@cin.ufpe.br egg@cin.ufpe.br igcf@cin.ufpe.bregg@cin.ufpe.br

Biologia In Silico - Centro de Informática - UFPE

Ilhas CpG• Cerca de 70% das regiões promotoras

humanas contém ilhas CpG.• Definição simples: Pelo menos 200bp

com f(CG) > 50% e f(CpG) > 60%

Page 14: Biologia In Silico - Centro de Informática - UFPE Ivan G. Costa Filho Eduardo G. Gusmão igcf@cin.ufpe.br egg@cin.ufpe.br igcf@cin.ufpe.bregg@cin.ufpe.br

Biologia In Silico - Centro de Informática - UFPE

Arquivos de Leitura Fasta• Primeira linha – dados da sequência (separados por

|)• Segunda linha – sequência (ilhas CpGs em

maiuscula)• Exemplo

• Pode-se utilizar Biopython• http://www.cin.ufpe.br/~igcf/tabc/SeqIO.py• my_seq = SeqIO.read("contig1.fasta", "fasta")

Page 15: Biologia In Silico - Centro de Informática - UFPE Ivan G. Costa Filho Eduardo G. Gusmão igcf@cin.ufpe.br egg@cin.ufpe.br igcf@cin.ufpe.bregg@cin.ufpe.br

Biologia In Silico - Centro de Informática - UFPE

1. Construindo o Modelo• Criar o Modelo de Markov que melhor se

adapta ao problema das ilhas CpG.

• Definir os estados e o alfabeto no qual se pretende trabalhar.

• Definir as probabilidades de transição (matriz A) e emissão (matriz E) iniciais.

Page 16: Biologia In Silico - Centro de Informática - UFPE Ivan G. Costa Filho Eduardo G. Gusmão igcf@cin.ufpe.br egg@cin.ufpe.br igcf@cin.ufpe.bregg@cin.ufpe.br

Biologia In Silico - Centro de Informática - UFPE

2. Estimando os Parâmetros• Forma 1 – Forma Supervisionada

(Máxima Verossimilhança)

• Forma 2 – Forma Não-Supervisionada (Baum-Welch)

• Utilizar os arquivos contig1 e contig2 para estimar os parâmetros.

Page 17: Biologia In Silico - Centro de Informática - UFPE Ivan G. Costa Filho Eduardo G. Gusmão igcf@cin.ufpe.br egg@cin.ufpe.br igcf@cin.ufpe.bregg@cin.ufpe.br

Biologia In Silico - Centro de Informática - UFPE

3. Avaliando o Modelo• Utilizar o algoritmo Viterbi para estimar

o melhor caminho.• Utilizar o arquivo contig3 como conjunto

de teste.• Calcular a Matriz de Confusão

sequencia - cgcatgcatcACGTCGAcgatcat viterbi - nnnnnnnnnniiiiiiiinnnnnn

Page 18: Biologia In Silico - Centro de Informática - UFPE Ivan G. Costa Filho Eduardo G. Gusmão igcf@cin.ufpe.br egg@cin.ufpe.br igcf@cin.ufpe.bregg@cin.ufpe.br

Biologia In Silico - Centro de Informática - UFPE

3. Avaliando o Modelo• Plotar gráfico da probabilidade posterior

+ saída do Viterbi + anotação.• MatplotLib: http://matplotlib.sourceforge.net/

Page 19: Biologia In Silico - Centro de Informática - UFPE Ivan G. Costa Filho Eduardo G. Gusmão igcf@cin.ufpe.br egg@cin.ufpe.br igcf@cin.ufpe.bregg@cin.ufpe.br

Biologia In Silico - Centro de Informática - UFPE

4. Relatório• Detalhes dos modelos criados:

transições, emissões, probabilidades iniciais.

• Detalhes da implementação dos Modelos.

• Resultados: matrizes de confusão e gráficos da probabilidade posterior.

• Discussão dos Resultados.

Page 20: Biologia In Silico - Centro de Informática - UFPE Ivan G. Costa Filho Eduardo G. Gusmão igcf@cin.ufpe.br egg@cin.ufpe.br igcf@cin.ufpe.bregg@cin.ufpe.br

Biologia In Silico - Centro de Informática - UFPE

Material

• Ver o capitulo 3 R Durbin, Sean R Eddy, A Krogh, Biological Sequence Analysis : Probabilistic Models of Proteins and Nucleic Acids, Cambridge University Press.

• Exercício de ilhas CpGs inspirados em Dongsup Kim at Korea Advanced Institute of Science and Technology