Você está na página 1de 47

BIOLOGIA COMPUTACIONAL

Jlia Pacheco Raylson Brando

CONCEITOS

Campo de estudo interdisciplinar que aplica tcnicas da cincia da computao, matemtica aplicada e estatstica para problemas da biologia. Identificar genes, prever a configurao tridimensional de protenas, identificar inibidores de enzimas, organizar e relacionar informao biolgica, simular clulas, etc.

TPICOS

Repeties Gnicas Combinatorial Pattern Matching


Exact Pattern Matching Approximate Pattern Matching Query Matching

Alinhamento de Sequncias

BLAST

INTRODUO

Genomas sequenciados geram bases de dados gigantescas, que crescem a cada dia importante comparar cada novo com os j existentes, em busca de similaridades e respostas Muitas doenas podem ser identificadas atravs do genoma, o que aumenta ainda mais essa necessidade Algoritmos cada vez mais eficientes so necessrios para atender essa demanda crescente de comparaes e para se adequar aos computadores atuais

REPETIES GNICAS MOTIVAO


Rearranjos gnicos geralmente so associados a repeties Revelam segredos evolutivos Muitos tumores so caracterizados por exploses de repeties Pode ser bem difcil encontrar repeties, principalmente no exatas

ATGGTCTAGGTCCTAGTGGTC ATGGTCTAGGACCTAGTGTTC

COMBINATORIAL PATTERN MATCHING MOTIVAO

Um grande problema em biologia computacional buscar por um padro numa grande base de dados Combinatorial Pattern Matching engloba vrios algoritmos que fazem esse tipo de busca / comparao Entre os algoritmos existem aqueles que so exatos (buscam pelo padro sem erros) ou aproximados (permitem substituies e s vezes gaps) Existem ainda algoritmos que buscam mltiplos padres em um texto (Multiple Pattern Matching)

EXACT PATTERN MATCHING

DESCRIO DO PROBLEMA

Dado um padro p e um texto t, encontrar todas as ocorrncias exatas de p em t.

Algoritmo de fora bruta:


Padro GCAT Texto CGCATC

GCAT CGCATC GCAT CGCATC GCAT CGCATC

GCAT CGCATC GCAT CGCATC

ALGORITMO E COMPLEXIDADE

Geralmente O(m) Pior caso: O(m.n)

PROBLEMA

Problema:

Se n for grande demais, o algoritmo torna-se impraticvel

Exemplo:
Padro: AAAAAA...AAA Texto: AAAAAAAAAAAAAAA...AAAAA

SOLUO

Soluo:

1973, Peter Weiner:

Uma nova estrutura de dados: Suffix Trees

Resolvem este problema em O(m + n) para qualquer texto e qualquer padro

Suffix Tree para ATCATG

Keyword Tree / Suffix Tree

KEYWORD TREE

Um conjunto de padres colocados numa rvore com uma raiz


Cada aresta rotulada com uma letra do alfabeto Duas arestas vizinhas tm rtulos diferentes Cada padro pode ser lido varrendo-se a rvore da raiz at uma folha

KEYWORD TREE CONSTRUO

Apple

KEYWORD TREE CONSTRUO


Apple Apropos

KEYWORD TREE CONSTRUO


Apple Apropos Banana

KEYWORD TREE CONSTRUO


Apple Apropos Banana Bandana

KEYWORD TREE CONSTRUO


Apple Apropos Banana Bandana Orange

BUSCA NA KEYWORD TREE

Busca por Appeal

appeal

BUSCA NA KEYWORD TREE

Busca por Appeal

appeal

BUSCA NA KEYWORD TREE

Busca por Appeal

appeal

BUSCA NA KEYWORD TREE

Busca por Appeal

appeal

BUSCA NA KEYWORD TREE

Busca por Apple

apple

BUSCA NA KEYWORD TREE

Busca por Apple

apple

BUSCA NA KEYWORD TREE

Busca por Apple

apple

BUSCA NA KEYWORD TREE

Busca por Apple

apple

BUSCA NA KEYWORD TREE

Busca por Apple

apple

COMPLEXIDADE
A complexidade do tempo de construo da Keyword Tree no melhor caso O(N), onde N o tamanho de todos os padres juntos Como utilizar Keyword Tree para fazer busca mais rapidamente?

Um padro pode ser lido simplesmente lendo-se da raiz at alguma folha Ento, buscar um padro leva tempo O(n), n sendo o tamanho do padro

Melhor que O(m.n)

COMPLEXIDADE (CONT)

Um texto de tamanho m tem 1 + 2 + ... + sufixos Tempo quadrtico

O(m2)

Ruim para ser construda Mas...

ALINHAMENTO DE SEQUNCIAS BLAST

ALINHAMENTO DE SEQUNCIAS

A comparao de sequncias biolgicas uma das operaes mais importantes da biologia computacional. Os organismos recm-sequenciados so comparados com organismos j catalogados para determinao das suas funcionalidades e propriedades. A cada dia, um grande nmero de comparaes so executadas.

ALINHAMENTO DE SEQUNCIAS

ALINHAMENTO DE SEQUNCIAS

Alinhamento Global

Consiste de alinhar duas sequncias por inteiro. Needleman-Wunsch propuseram um algoritmo baseado em programao dinmica para o problema do alinhamento global.

ALINHAMENTO DE SEQUNCIAS

Alinhamento Global

O melhor ou melhores alinhamentos sero aqueles com maior escore

Durante o processo evolutivo pode ter ocorrido a insero, remoo ou substituio de bases
Cada um dos eventos contabilizado para o clculo da matriz MxN de programao dinmica

ALINHAMENTO DE SEQUNCIAS

Alinhamento Global

Insero de uma base contabilizada negativamente Remoo de uma base contabilizada negativamente Substituio de uma base por outra contabilizada negativamente Coincidncia de bases contabilizada positivamente

ALINHAMENTO DE SEQUNCIAS

Alinhamento Local

O alinhamento local procura por regies de alta similaridade dentro das sequncias

Alinhar trechos das sequncias ao invs de alinhar as sequncias inteiras pode ser interessante do ponto de vista biolgico

ALINHAMENTO DE SEQUNCIAS

Alinhamento Local

O alinhamento local procura por regies de alta similaridade dentro das sequncias

Alinhar trechos das sequncias ao invs de alinhar as sequncias inteiras pode ser interessante do ponto de vista biolgico

ALINHAMENTO DE SEQUNCIAS

Alinhamento Local

Determinar o melhor alinhamento entre regies de 2 ou mais sequencias

Posicionar uma sequencias numa pseudo-molcula


Indicar se duas sequncias esto evolutivamente relacionadas Inferir sobre a estrutura e funo de uma sequncia

BLAST

Basic Local Alignment Search Tool


Melhor algoritmo conhecido at hoje Grande ganho de performance em troca de uma pequena perda de sensibilidade

Funciona similar a uma Query Matching

ALGORITMO (CONT)

Fragmenta a query em words (l-mers)

Por defalult, 3-mers para protenas e 11-mers para nucleotdeos

MEFPGLGSLGTSEPLPQFVDPALVSS MEF EFP FPG PGL GLG ACGTCGATCGTACGTACGTAGCTTCA ACGTCGATCGT CGTCGATCGTA

Encontra words similares at um limiar (parmetro)

Utiliza alguma matriz de substituio (Blosum, PAM)

ALGORITMO (CONT)

ALGORITMO (CONT)

PAM 250

ALGORITMO (CONT)
word
Query: KRHRKVLRDNIQGITKPAIRRLARRGGVKRISGLIYEETRGVLKIFLENVIRD GVK 18 GAK 16 words vizinhos GIK 16 GGK 14 vizinhos GLK 13 (limiar T = 13) GNK 12 GRK 11 GEK 11 GDK 11 Query: 22 VLRDNIQGITKPAIRRLARRGGVKRISGLIYEETRGVLK 60 +++DN +G + IR L G+K I+ L+ E+ RG++K Sbjct: 226 IIKDNGRGFSGKQIRNLNYGIGLKVIADLV-EKHRGIIK 263

ALGORITMO (CONT)
Procura por alguma dessas palavras na base de dados (hit) Estende os hits BLAST original:

Extenso feita para ambas as direes No permitia gaps


BLAST atual:
Utiliza uma matriz de pontos Permite gaps

ALGORITMO (CONT)
Retm somente os HSPs (High Score Pairs) com score acima de um limiar (parmetro) Determina estatisticamente a relevncia de cada resultado

p-value 1 e-value 1

Mais usado: E < 10-100 genes homolgos ou idnticos E < 10-3 genes podem estar relacionados E > 1 genes provavelmente sem relao 0,5 < E < 1 Twilight Zone (no h garantia de homologia ou no homologia)

BLAST

Existem diversas implementaes do BLAST

blastn

Compara uma seqncia de nucleotdeos com um banco de nucleotdeos Seqncia de aminocidos num banco de protenas Seqncia de nucleotdeos (traduzidos em protenas) com um banco de protenas Seqncia de protenas com um banco de nucleotdeos (traduzidos em real time)

blastp

blastx

tblastn

tblastx

REFERNCIAS

http://www.qualidata.com.br/~fabricio/tbo20051suffixtree-fabricio.pdf http://www.cs.unc.edu/Courses/comp590-090-f07/ http://bioinf.ucsd.edu/~jung/beng202/ http://biotec.icb.ufmg.br/cabi/aulas/