Intr. à Biologia Computacional

Slides:



Advertisements
Apresentações semelhantes
Algoritmos em Grafos (Parte 2)
Advertisements

HASHING Katia Guimarães julho/2002
ALINHAMENTOS LOCAIS E SEMI-GLOBAIS
Análise de Voz e Vídeo Reconhecimento de voz baseado em modelos de palavras conectadas André Vitor de Almeida Palhares.
Katia S. Guimarães QUICKSORT Katia S. Guimarães
Grafos Introdução
N Rainhas Descrição do Problema Satisfação de Restrições (CSP)
Exercício 1 A) Caminho 3 – 4 -3 B) Caminho 100 – 1 – 1 – 100
Métodos para representação de estruturas hierárquicas
9 Março 2007Matrizes e Gráficos - Trajectória de um Projéctil1 Matrizes e Gráficos Trajectória de Projéctil Pedro Barahona DI/FCT/UNL Introdução aos Computadores.
Algoritmos e Estruturas de Dados
O Impacto dos programas Bolsa Escola Simon Schwartzman Instituto de Estudos do Trabalho e Sociedade Dezembro de 2004.
Qualiti Courses :: Documento de Requisitos. {icc2, jmmn, mmc2, CIn-UFPE Equipe Ivan Cordeiro Cardim Julio Maravitch Maurício.
O uso de questionários em trabalhos científicos
Complexidade de Computação Para avaliar a qualidade de um algoritmo usamos como critério o espaço e o tempo de execução. Ao.
Introdução à NP-completude
Backtracking Katia Guimarães.
TAREFA SEMANAL DE ESTUDO
Projeto de Recursos Humanos Outubro 2011
Publicidade com banner
Programa de Cargos e Salários
Silogística Tudo o que os artistas fazem é arte.
Aula prática 6 Vetores e Matrizes
Intr. à Biologia Computacional
Intr. à Biologia Computacional ALINHAMENTO DE SEQÜÊNCIAS.
BCC /01 Funções. Material Didático Unificado. 1 BCC701 – Programação de Computadores I Universidade Federal de Ouro Preto Departamento de Ciência.
Metodologia da Pesquisa em Ensino de Ciências I
FTIN Formação Técnica em Informática
FABER Cirurgia & Implantes.
LÓGICA FILOSÓFICA. Teoria Obj: Construir um conceito de lógica
Ordenação por inserção
COMPORTAMENTO DO CONSUMIDOR
Aula prática 6 Vetores e Matrizes
Subset Sum Algoritmos e Estruturas de Dados – IF672
Aula 3 Vetores e Listas. Arrays (vetores) Array – sequência de elementos do mesmo tipo. Tamanho do Array – seu número de elementos (número fixo) Consequência:
ALINHAMENTOS LOCAIS E SEMI-GLOBAIS
Introdução à NP-completude Katia S. Guimarães
Algoritmos Gulosos em Grafos
Katia S. Guimarães Busca em Grafos Katia S. Guimarães
Abordagens para problemas NP-completos
Árvores Binárias e Encaminhamentos
Katia S. Guimarães Heaps Katia S. Guimarães
Remoção e Inserção em Heaps
Katia S. Guimarães Heapsort Katia S. Guimarães
Mergesort Katia Guimarães.
Vetores Imagine que você tem que receber o nome e a nota de 50 alunos de uma escola, e depois listar o nome de cada um e a média final de cada aluno e.
Ferramentas de Planejamento
1 A COMPUTAÇÃO MODERNA Valdemar W. Setzer Depto. de Ciência da Computação da USP
Metodologia da Pesquisa em Ensino de Ciências I
Sistemas Operacionais
Outubro  Apresentar através de debates o perfil e papel dos Multiplicadores e Área de O & M / Processos.  Implantar.
MANUAIS NA EMPRESA
18/19 de Maio de 2004Registos em Ficheiros1 Pedro Barahona DI/FCT/UNL Maio 2004.
Bruno C. Bourbon Jarbas J. de O. Júnior {bcb, cin.ufpe.br
Introdução ao MATLAB 5.3 para Hidrólogos
Cin-UFPE String Matching
Melhorando Alinhamentos Locais Katia Guimarães
Recursividade Profs. De Prog2 e Lab2.
Alinhamento de Cadeias de DNA COMPARAÇÃO DE SEQÜÊNCIAS
Intr. à Biologia Computacional ALINHAMENTOS ÓTIMOS GLOBAIS.
Optimização - 1 Optimização de perguntas 1 Processamento de selecções 2 Processamento de junções 3 Manipulação algébrica.
Complexidade de Computação Katia Guimarães. Avaliando a Qualidade de um Algoritmo É preciso ter bem definido –O que é dado de entrada e –O que é esperado.
Analise de Algoritmos e Notação Assintótica
Principais algoritmos de alinhamento de sequências genéticas
 O que são arrays:  estruturas de dados homogêneas  coleção de elementos do mesmo tipo referenciada por um nome comum  um array pode ser imaginado.
Andréa Iabrudi 1 Universidade Federal de Ouro Preto - UFOP Departamento de Computação - DECOM Programação de Computadores I.
Alinhamento Global de Seqüências Katia Guimarães.
Computadores vs. Programas / Algoritmos Computadores vs. Programas -> Algoritmos O tratamento de problemas através do computador geralmente envolve uma.
Na Educação Infantil e nos anos iniciais
Comportamento Assintótico
Transcrição da apresentação:

Intr. à Biologia Computacional GAP PENALTY FUNCTIONS

Definição de gap Gap é a ocorrência de um número k > 0 de espaços consecutivos. Quando mutações estão envolvidas, a ocorrência de um gap com k espaços é mais provável do que a ocorrência de k espaços isolados. set/00 katia@cin.ufpe.br

Penalidade por um gap Até agora nós não fizemos distinção entre espaços juntos ou isolados. Isso significa que um gap é penalizado por uma função linear, ou seja, a penalidade associada a um gap com k espaços é: w(k) = |g|  k set/00 katia@cin.ufpe.br

Penalidade por um gap Para computar a similaridade com general gap penalty functions, vamos precisar gastar mais tempo, pois o es- quema de computação não é aditivo: não podemos quebrar um alinhamento em duas partes e esperar que o score total seja a soma dos scores parciais. set/00 katia@cin.ufpe.br

Block Boundaries Para manter o alinhamento aditivo, ao invés de alinharmos caracteres, vamos quebrar o alinhamento em block boundaries, ou seja, blocos de alinhamentos como segue: s: A | A | C | - - - | A | G | AC t: A | T | C | TAT | C | G | - - set/00 katia@cin.ufpe.br

Há três tipos de blocos t: A | T | C | TAT | C | G | - - 1. Dois caracteres de  alinhados. 2. Uma série maximal de caracteres conse- cutivos de t alinhados com espaços em s. 3. Uma série maximal de caracteres conse- cutivos de s alinhados com espaços em t. s: A | A | C | - - - | A | G | AC t: A | T | C | TAT | C | G | - - set/00 katia@cin.ufpe.br

Score de um Alinhamento Blocos na categoria (1) recebem score p(a, b), onde a e b são os caracteres alinhados. Blocos nas categorias (2) e (3) recebem score - w(k), onde k é o comprimento do bloco. set/00 katia@cin.ufpe.br

Mudanças no Algoritmo Original Para manter o alinhamento aditivo, ao invés pensarmos na última coluna do alinhamento, pensaremos no último bloco. Além disso, blocos do tipo (2) e (3) não podem seguir outro bloco do mesmo tipo. set/00 katia@cin.ufpe.br

Mudanças no Algoritmo Original Para cada par (i, j), guardaremos o melhor score de um alinhamento entre os prefixos s[1..i] e t[1..j], que terminam em um certo tipo de bloco. Precisaremos manter três arrays (m+1)  (n+1): Array Para alinhamentos terminando em a blocos caracter-caracter b espaços em s c espaços em t set/00 katia@cin.ufpe.br

Mudanças no Algoritmo Original Inicializar a primeira linha e a primeira coluna da seguinte maneira: a[0, 0] = 0 b[0, j] = -w(j) c[i, 0] = -w(i) Todos os outros valores das linhas e colunas iniciais devem ser inicializados com -. set/00 katia@cin.ufpe.br

A Nova Relação de Recorrência { a[i-1, j-1] b[i-1, j-1] c[i-1, j-1] a[i, j] = p[i, j] + max { a[i, j-k] - w(k), para 1  k  j c[i, j-k] - w(k), para 1  k  j b[i, j] = max { a[i-k, j] - w(k), para 1  k  i c[i-k, j] - w(k), para 1  k  i c[i, j] = max set/00 katia@cin.ufpe.br

A Nova Relação de Recorrência Note que as entradas dos arrays b e c dependem de mais de um valor anterior porque o ultimo bloco pode ter tamanho variavel. Para obter o valor de sim (s, t), tomamos o maior entre a[m,n], b[m,n] e c[m,n]. set/00 katia@cin.ufpe.br

Complexidade do Novo Algoritmo Custo deste novo algoritmo: O(mn2+m2n). Para computar a[i,j], b[i,j] e c[i,j], precisamos realizar 3 + 2j + 2i acessos ao array. Isso leva a um total de   (3 + 2j + 2i ) acessos para o array todo. m i=1 n j=1 set/00 katia@cin.ufpe.br

Complexidade do Novo Algoritmo   (3 + 2j + 2i ) = O(mn2+m2n) ?  (3 + 2j + 2i ) = 2ni + n(n+1) + 3n = 2ni + n2+ 4n  (2ni + n2+ 4n) = nm (m+1) + mn2 + 4mn = m2n + 5mn + mn2 . m i=1 n j=1 n j=1 m i=1 set/00 katia@cin.ufpe.br

O Novo Algoritmo ... Nos permite computar qualquer gap penalty function, mas apresenta: - Aumento considerável no tempo de execucao (Fomos de O(n2) para O(n3)) - Aumento no espaco por conta dos tres arrays. PERGUNTA: Seria possível manter o custo em O(n2) se a função fosse mais simples? set/00 katia@cin.ufpe.br