Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouLídia Aveiro Salvado Alterado mais de 9 anos atrás
1
Aula Prática Ivan G. Costa Filho Eduardo G. Gusmão Centro de Informática Universidade Federal de Pernambuco 1
2
Tópicos GHMM Python Exercício Biblioteca implementando HMMS.
Linguagem script com varias funcionalidades para trabalhar com dados numéricos. Exercício Criar uma HMM implementado o Casino Desonesto. 2
3
GHMM (www.ghmm.org) Biblioteca em C Ligação em python Funcionalidades
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, … 3
4
GHMM (www.ghmm.org) Contratempo Instalação só disponível para Unix
Guia para Instalação txt 4
5
Como usar? Executar python e digitar > from ghmm import *
> help(ghmm) Documentação GHMM Documentação Python
6
Exemplo de HMM Casino Desonesto Σ = {1, 2} (1 for Heads and 2 Tails)
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 Como são os parâmetros finais?
> # 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 Dados www.cin.ufpe.br/~igcf/tabc/cpgs.zip
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 12
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% 13
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 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:
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 20
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.