1 / 20

Ivan G. Costa Filho Eduardo G. Gusmão igcf@cin.ufpe.br egg@cin.ufpe.br

Aula Prática. Ivan G. Costa Filho Eduardo G. Gusmão igcf@cin.ufpe.br egg@cin.ufpe.br Centro de Informática Universidade Federal de Pernambuco. Tópicos. GHMM Biblioteca implementando HMMS. Python Linguagem script com varias funcionalidades para trabalhar com dados numéricos.

bruno
Download Presentation

Ivan G. Costa Filho Eduardo G. Gusmão igcf@cin.ufpe.br egg@cin.ufpe.br

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Aula Prática Ivan G. Costa Filho Eduardo G. Gusmão igcf@cin.ufpe.bregg@cin.ufpe.br Centro de InformáticaUniversidade Federal de Pernambuco

  2. 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.

  3. 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, …

  4. 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

  5. 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/

  6. Exemplo de HMM Casino Desonesto Σ = {1, 2} (1 for Heads and 2Tails) Q = {F,B} – F for Fair & B for Biased coin.

  7. 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

  8. 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)

  9. 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?

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

  11. Por fim … Posterior Poderiamos gerar um gráfico …

  12. 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

  13. 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%

  14. 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")

  15. 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.

  16. 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.

  17. 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

  18. 3. Avaliando o Modelo • Plotar gráfico da probabilidade posterior + saída do Viterbi + anotação. • MatplotLib: http://matplotlib.sourceforge.net/

  19. 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.

  20. 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

More Related