Aplicações de Pesquisa Operacional à Bio Informática

Propaganda
XXXVIII SIMPÓSIO BRASILEIRO DE PESQUISA OPERACIONAL
Pesquisa Operacional na Sociedade: Educação, Meio Ambiente e Desenvolvimento
12 a 15/09/06 Goiânia, GO
SOBRAPO – Sociedade Brasileira de Pesquisa Operacional
Aplicações de Pesquisa Operacional à Bio Informática
Um curso introdutório
Samuel Jurkiewicz – UFRJ
SBPO 2006
Goiânia
XXXVIII SBPO
[ 2479 ]
XXXVIII SIMPÓSIO BRASILEIRO DE PESQUISA OPERACIONAL
Pesquisa Operacional na Sociedade: Educação, Meio Ambiente e Desenvolvimento
XXXVIII SBPO
12 a 15/09/06 Goiânia, GO
[ 2480 ]
XXXVIII SIMPÓSIO BRASILEIRO DE PESQUISA OPERACIONAL
Pesquisa Operacional na Sociedade: Educação, Meio Ambiente e Desenvolvimento
12 a 15/09/06 Goiânia, GO
Antes de começar
Dizer que a Biologia e a Matemática estiveram sempre ligadas não é nada
original. De fato, seja na abordagem geométrica dos desenhos e proporções de homens e
animais; seja na contagem (mais ou menos precisas) de poções curativas, números e
procedimentos sempre estiveram ligados à Biologia.
Os estudos de Mendel estabeleceram um elo (no princípio não muito percebido)
com um ramo da Matemática que ainda lutava para ser reconhecido como importante –
a Combinatória. E, no entanto, a Combinatória oferecia um modelo tão convincente que
a Genética nunca mais foi a mesma.
As idéias combinatórias em Genética colocaram os biólogos na pista certa de
como a vida e as características dos viventes se transmitem, de como a evolução se
processa. A descrição do modelo da dupla hélice como modelo do DNA por Watson e
Crick mostrou que a Combinatória não só não mais se separaria da Biologia como
também ainda tinha muito a oferecer.
Como já é uma regra no mundo científico, mais do que um grupo estava a procura
do modelo do DNA como por exemplo Rosalind Franklin e Maurice Wilkins – os
primeiros a sugerir a forma de hélice. A comunidade da Biologia já coabitava com a
Combinatória e os frutos já estavam amadurecendo.
Para a colheita destes frutos muito concorreu o avanço veloz da informática. E aí
nos referimos não somente às máquinas mas sobretudo à prolífica produção de
conceitos, algoritmos e processos matemáticos.
Entre os campos mais inovadores podemos apontar a Algorítmica e a Pesquisa
Operacional. E estas idéias se agregaram às novas idéias da Genética com resultados
revolucionários – e esta palavra não está sendo usada como adjetivo.
Não se pode deixar de notar a contemporaneidade do trabalho de Watson e Crick
(1953) e a apresentação do Algoritmo de Dijkstra (1952) para determinação de
caminhos mais curtos. É este algoritmo que está na base da mais freqüente operação em
Bioinformática – o alinhamento de seqüências de DNA.
Neste curso (verdadeiramente mini) temos a intenção de abordar as primeiras
idéias de aplicação de Pesquisa Operacional à Bioinformática. Os aspectos abordados
não pressupõem maiores requisitos e são acessíveis a qualque interessado com um bom
2º grau.
XXXVIII SBPO
[ 2481 ]
XXXVIII SIMPÓSIO BRASILEIRO DE PESQUISA OPERACIONAL
Pesquisa Operacional na Sociedade: Educação, Meio Ambiente e Desenvolvimento
12 a 15/09/06 Goiânia, GO
Uma informação importante. O autor confessa um conhecimento apenas pedresta
da Biologia envolvida. Procuramos transformar essa deficiência em vantagem. Toda a
Biologia abordada depende muito mais de fatos básicos e bom censo do que de
conhecimentos profundos. Isso quer dizer que esperamos que estas páginas sirvam para
acender a curiosidade, tanto no que diz respeito a Biologia como à Pesquisa
Operacional.
É justo também advertir que a abordagem é fortemente inspirada no trabalho da
DIMACS que há pelo menos 3 anos em reunindo professores da High School para
atualização na área de Bioinformática. Esse trabalho sucede um projeto que já dura mais
de 10 anos, também voltado para professores para difusão da Teoria de Grafos.
Pude constatar que o trabalho lá apresentado fazia referência constante ao
trabalho de João Meidanis e João Carlos Setúbal da Universidade de Campinas (de 1994
– depois editado em inglês). Recomendo esse texto por sua acessibilidade e completude.
Enfim, espero que essa introdução seja útil e agradável. Críticas (construtivas)
são, como sempre, bem vindas.
Samuel Jurkiewicz –
Programa de Engenharia de Produção – COPPE/UFRJ
Departamento de Engenharia de Produção – Politécnica/UFRJ
[email protected]
XXXVIII SBPO
[ 2482 ]
XXXVIII SIMPÓSIO BRASILEIRO DE PESQUISA OPERACIONAL
Pesquisa Operacional na Sociedade: Educação, Meio Ambiente e Desenvolvimento
12 a 15/09/06 Goiânia, GO
Introdução – Noções (muito) básicas
O que é DNA ?
DNA ( Ácido desoxiribonucléico) é o material genético da maioria dos
organismos vivos. Cada cromossomo é na verdade uma molécula extremamente longa
de DNA. Os blocos de construção química do DNA são nucleotídeos. Um nucleotídeo
consiste de uma molécula de açúcar e uma de fosfato ligados a uma das quatro bases de
DNA: Timina(T), Adenina(A), Guanina(G) e Citosina(C).
O DNA de uma célula humana mede (desenrolado) cerca 1,5 m de comprimento,
isto é, ele é cerca de 100 000 maior do que a própria célula. A sua forma característica é
de uma dupla hélice, como se fosse uma longuíssima escada retorcida para a direita. O
DNA de uma molécula humana contém cerca de 3 000 000 de nucleotídeos.
Apesar de seu comprimento, o DNA é uma molécula relativamente simples. Cada
lado da escada consiste de um arranjo linear de unidades (letras) A,G,T e C. Esses
arranjos são aos pares, isto é, os pares que formam os degraus são sempre da forma A-T
ou G-C. Por isso podemos tratar a dupla hélice como uma única seqüência: se de um
lado tivermos CATTCG do outro teremos GTAAGC.
O que faz o DNA ?
Se o ser humano fosse uma casa, os tijolos e cimento seriam as proteínas. Além
disso, algumas proteínas são catalisadores, provocam e aceleram reações. O corpo
humano produz milhares de proteínas diferentes, todas codificadas pelo DNA.
As proteínas constituem-se de cadeias de pequenos blocos químicos chamados
aminoácidos. Existem 20 tipos diferentes de aminoácidos, cada um com propriedades
únicas.
As propriedades químicas de uma proteína são determinadas não apenas por sua
composição de aminoácidos mas pelo modo como a cadeia de aminoácidos é curvada e
dobrada em uma forma tridimensional complexa e característica.
A fileira do DNA é realmente uma fileira de palavras de letras, cada palavra sendo
o código de um determinado aminoácido. Assim, a seqüência ACGTTCCGATCGGTA
deve ser lida ACG TTC CGA TCG GTA.
XXXVIII SBPO
[ 2483 ]
XXXVIII SIMPÓSIO BRASILEIRO DE PESQUISA OPERACIONAL
Pesquisa Operacional na Sociedade: Educação, Meio Ambiente e Desenvolvimento
12 a 15/09/06 Goiânia, GO
O esquema abaixo mostra que aminoácidos são codificados por qual palavra de 3
letras.
Primeira
posição
Segunda posição
G
Glicina
Glicina
G
Glicina
Glicina
A
C
T
A
Ácido
Glutâmico
Ácido
Glutâmico
Ácido
Aspártico
Ácido
Aspártico
C
T
Alanina
Valina
Alanina
Valina
Alanina
Valina
Alanina
Valina
Arginina
Lisina
Treonina
Arginina
Serina
Lisina
Asparagina
Serina
Asparagina
Treonina
Treonina
Treonina
Arginina
Arginina
Arginina
Arginina
Glutamina
Glutamina
Histidina
Histidina
Tripofano
PARADA
Cisteína
Cisteína
Metionina
(INÍCIO)
Isoleucina
Isoleucina
Terceira
posição
G
A
C
T
G
A
C
Isoleucina
T
Leucina
Leucina
Leucina
Leucina
Leucina
G
A
C
T
PARADA
Prolina
Prolina
Prolina
Prolina
Serina
G
PARADA
Tirosina
Tirosina
Serina
Serina
Serina
Leucina
Fenilanina
Fenilanina
A
C
T
As informações a seguir foram encontradas em [3]
A seqüência de aminoácidos que compõem uma proteína é o que se chama de
estrutura primária desta molécula. A estrutura secundária é dada por interações entre os
aminoácidos, que podem formar hélices ou folhas planas em certos trechos da molécula.
A conformação tridimensional completa, incluindo pontes de hidrogênio e ligações
fracas é a estrutura ternária da proteína. Além disso, certas proteínas são formadas por
mais de uma cadeia. Neste caso, a especificação de como estas sub-unidades protéicas
são ligadas entre si para a formação da proteína é a sua estrutura quaternária. E o caso,
por exemplo, da hemoglobina, que possui quatro sub-unidades iguais duas a duas.
Proteínas são muito usadas para investigar a evolução das espécies. Isto se deve
ao fato de que é comum encontrar proteínas exercendo o mesmo tipo de função em
organismos distintos. Por exemplo, todos os mamíferos possuem hemoglobina, embora
não seja exatamente a mesma molécula. Estudando a seqüência de aminoácidos de
hemoglobinas de espécies diferentes pode-se tirar conclusões sobre sua origem.
XXXVIII SBPO
[ 2484 ]
XXXVIII SIMPÓSIO BRASILEIRO DE PESQUISA OPERACIONAL
Pesquisa Operacional na Sociedade: Educação, Meio Ambiente e Desenvolvimento
12 a 15/09/06 Goiânia, GO
Estruturas semelhantes (sejam proteínas ou características aparentes) em
seres vivos de espécies distintas podem ser homólogas ou análogas. Dizemos que são
homólogas se as estruturas originaram-se de um ancestral comum; caso contrário, serão
análogas. No caso da hemoglobina em mamíferos, por exemplo, há fortes evidências de
que estas proteínas sejam homólogas e não simplesmente análogas.
Mesmo entre proteínas homólogas, pode haver grande diversidade na sua
estrutura primária. Apesar disso, há trechos das seqüências que pouco ou nada mudam.
Quando uma região de uma seqüência muda pouco de proteína para proteína dizemos
que a região é conservada. As enzimas,
possuem via de regra em sua estrutura
tridimensional certas regiões onde os reagentes se ‘encaixam”, facilitando a reação.
Estes locais são chamados de sítios ativos e são geralmente bem conservados nas
diferentes versões da proteína para as diferentes espécies. Regiões altamente
conservadas, sejam elas sítios ativos ou não, têm provavelmente papel fundamental na
atividade da proteína.
XXXVIII SBPO
[ 2485 ]
XXXVIII SIMPÓSIO BRASILEIRO DE PESQUISA OPERACIONAL
Pesquisa Operacional na Sociedade: Educação, Meio Ambiente e Desenvolvimento
12 a 15/09/06 Goiânia, GO
Alinhamento de seqüências
A comparação de seqüências de DNA e proteínas é uma das operações mais
básicas da bioinformática. Isso não é de se admirar, uma vez que é uma das operações
que os computadores podem fazer com mais eficiência. Mas isso de nada serviria se
essa operação não fosse significativa.
Mas ela é e isso se deve ao fato de a Natureza ser extremamente conservadora.
Espécies morfologicamente diferentes guardam enorme similaridade em sua estrutura
genética. Basta olhar para um cão fila e um pequinês.
Mais ainda, uma característica fundamental dos seres vivos é a capacidade de se
replicar; de certa forma, alguma coisa nós seres humanos temos em comum com,
digamos, uma folha de tabaco. E de fato, uma parte de nosso (nós e a folha de tabaco)
código genético guarda enorme similaridade.
Antes de comparar as seqüências (de DNA ou de proteínas) é necessário realizar
um alinhamento dessas seqüências. Parece simples: combinamos as seqüências
aleatoriamente, comparamos dando uma pontuação. Fazemos isso varias vezes até
encontrar a melhor pontuação possível.
Essa operação, evidentemente, não é simples. Escolher alinhamentos ao acaso não
nos conduzirá frequentemente a um bom resultado. Nosso problema está se parecendo
cada vez mais com um problema de otimização: maximizar um valor dentro de certas
características.
Vamos começar a olhar para este problema com os olhos da Pesquisa
Operacional.
Nosso modelo inicial será o mais simples possível, a saber, olhar o alinhamento
como um problema de menor caminho.
Um problema simples
Qual o menor caminho da casa de João até a escola
5
Armazem
Casa do
João
6
13
11
10
Pracinha
Banca de
Jornal
3
6
6
3
Quitanda
4
Cancela
XXXVIII SBPO
8
Escola
[ 2486 ]
XXXVIII SIMPÓSIO BRASILEIRO DE PESQUISA OPERACIONAL
Pesquisa Operacional na Sociedade: Educação, Meio Ambiente e Desenvolvimento
12 a 15/09/06 Goiânia, GO
Esse problema é resolvido pelo algoritmo de Dijkstra, apresentado em 1952.
Edsger Wybe Dijkstra nasceu em Roterdan, Holanda em 1930 e morreu em 2002. Foi
um cientista de computação e recebeu o Turing Award de 1972 por suas contribuições
fundamentais na área de linguagens de programação.
O algoritmo baseia-se na observação de que não precisamos calcular globalmente
a distância para encontrar o mínimo. Uma versão desse algoritmo pode ser descrita, de
maneira sucinta da seguinte maneira:
A Æ vértice inicial
p(x,y) Æ peso da aresta xy
d(x) Æ distância de A até x
• Seja d(A) = 0
• Para todos outro vértice v examine os arcos (u,v) e compute a soma:
d(u) + p(u,v)
e faça d(v) ser o menor desse valores.
Vamos fazer um exemplo bem simples:
Encontrar o menor caminho de A até B andando sempre para baixo e para a
direita.
3
A
1
3
4
4
8
3
2
3
7
2
2
5
7
7
6
6
8
4
8
7
5
9
5
8
4
4
9
6
9
8
9
6
5
4
2
3
4
B
XXXVIII SBPO
[ 2487 ]
XXXVIII SIMPÓSIO BRASILEIRO DE PESQUISA OPERACIONAL
Pesquisa Operacional na Sociedade: Educação, Meio Ambiente e Desenvolvimento
X
3
A
4
3
9
4
5
8
8
9
6
5
Y
1
12 a 15/09/06 Goiânia, GO
8
4
4
7
Z
9
6
4
8
3
9
2
7
4
6
8
7
7
2
2
5
5
3
6
2
3
4
B
Qual a menor distância até X ?
Qual a menor distância até Y ?
Qual a menor distância até Z ?
Pergunta extra: Quantos caminhos mínimos existem entre A e B ?
Alinhamento Global
Suponha que queremos alinhar duas seqüências AGCGT e CAGT. Um
alinhamento consistirá em escrever estas seqüências em ordem, de forma que elas
coincidam. Como elas têm diferentes tamanhos um espaço (gap) pode ser inserido.
Algumas possibilidades:
AGCGT
-CAGT
AGCGT
CAGT-
AGCGT
C-AGT
AGCG-T
C--AGT
AGCGT
CA-GT
-AGCGT
C--AGT
AGCGT
CAG-T
AGC-GT
--CAGT
Qual o melhor alinhamento? Esta pergunta só faz sentido se atender aos critérios
dos biólogos; isso é feito através de um critério de pontuação para avaliação da
qualidade do alinhamento. Usaremos os gaps para obter o máximo de coincidência
possível nos alinhamentos.
GGA---GTCCACCTGTGAAACAATA
ACGCGCGTCCTCCTGTGA--CAATT
Um exemplo de critério:
XXXVIII SBPO
[ 2488 ]
XXXVIII SIMPÓSIO BRASILEIRO DE PESQUISA OPERACIONAL
Pesquisa Operacional na Sociedade: Educação, Meio Ambiente e Desenvolvimento
12 a 15/09/06 Goiânia, GO
+2 Æ Para cada alinhamento de letras iguais
-1 Æ Para cada alinhamento de letras diferentes
-2 Æ Para cada alinhamento de letra com um gap
-500 Æ Para cada alinhamento de gap com gap
A motivação dessa pontuação é clara. Gaps só devem ser utilizados com
economia.
Calculando a pontuação de cada um dos alinhamentos (deixado ao leitor) :
Digamos que eu queira alinhar ABCDEFG e TUVWXYZ.
Podemos começar:
• Alinhando A com T
• Alinhando A com • Alinhando - com T
A segunda escolha pode ser:
Enfim, para k letras teremos 3k maneiras de alinhar. Mesmo numa seqüência
modesta isso geraria um custo proibitivo. Pediremos socorro ao nosso algoritmo de
menor distância.
XXXVIII SBPO
[ 2489 ]
XXXVIII SIMPÓSIO BRASILEIRO DE PESQUISA OPERACIONAL
Pesquisa Operacional na Sociedade: Educação, Meio Ambiente e Desenvolvimento
12 a 15/09/06 Goiânia, GO
Nosso grafo de distâncias
Como funciona ? Sempre para a direita e para baixo, só que aceitamos também a
diagonal.
Para a direita significa letra de cima alinhada com gap.
Para a esquerda significa gap alinhado com letra da esquerda.
Na diagonal significa letra de cima alinhada com letra da esquerda.
O diagrama acima corresponde ao alinhamento
AC-CA—GT—
--GGCCA-TTA
Num exemplo menor, podemos ver o mecanismo de assinalar as distâncias a
nosso grafo:
Enfim, um alinhamento ótimo será um caminho mínimo. Exemplo
XXXVIII SBPO
[ 2490 ]
XXXVIII SIMPÓSIO BRASILEIRO DE PESQUISA OPERACIONAL
Pesquisa Operacional na Sociedade: Educação, Meio Ambiente e Desenvolvimento
12 a 15/09/06 Goiânia, GO
Nos dá:
E os caminhos ótimos são:
XXXVIII SBPO
[ 2491 ]
XXXVIII SIMPÓSIO BRASILEIRO DE PESQUISA OPERACIONAL
Pesquisa Operacional na Sociedade: Educação, Meio Ambiente e Desenvolvimento
12 a 15/09/06 Goiânia, GO
Temos vários caminhos ótimos. Para efeito de algoritmo podemos privilegiar a
fronteira direita, preferindo fazer o "caminho de volta" principalmente para cima, depois
em diagonal e em último caso para a esquerda; mas essa escolha é arbitrária.
Alinhamento semi-global
Agora que já temos um modelo de algoritmo básico, podemos começar a melhorálo.
É natural imaginar que é melhor que os gaps se concentrem nas extremidades,
mesmo que a pontuação básica indique outro alinhamento. Isso significa:
• Não penalizar gaps no começo da seqüência 1
• Não penalizar gaps no começo da seqüência 2
• Não penalizar gaps no fim da seqüência 1
• Não penalizar gaps no fim da seqüência 2
• Qualquer combinação dessas opções
Qual o reflexo no nosso algoritmo ?
XXXVIII SBPO
[ 2492 ]
XXXVIII SIMPÓSIO BRASILEIRO DE PESQUISA OPERACIONAL
Pesquisa Operacional na Sociedade: Educação, Meio Ambiente e Desenvolvimento
12 a 15/09/06 Goiânia, GO
No exemplo acima não penalizamos os gaps no início entradas na seqüência 2.
Se quisermos não penalizar os gaps no final da seqüência 1 escolhemos a melhor
entrada da última coluna (no caso 2). Nossa melhor pontuação indicaria então:
ACCGG----CGATTT
XXXVIII SBPO
[ 2493 ]
XXXVIII SIMPÓSIO BRASILEIRO DE PESQUISA OPERACIONAL
Pesquisa Operacional na Sociedade: Educação, Meio Ambiente e Desenvolvimento
12 a 15/09/06 Goiânia, GO
Alinhamento com penalidade menor para sequencias de gaps
É um fato da Biologia que as mutações que acrescentam ou retiram nucleotídeos
são mais raras do que mutações que trocam nucleotídeos. Isso justifica a maior
penalização dos gaps do que da diferença de letras no alinhamento.
Mas também é observado que a presença de gaps é menos significativa do que o
tamanho do gap. Isso sugere uma penalização maior para o primeiro gap de uma
seqüência de gaps do que para os seguintes.
Como isso afetará o algoritmo?
Considere a seguinte penalização:
+1 Æ Para cada alinhamento de letras iguais
-1 Æ Para cada alinhamento de letras diferentes
-3 Æ Para cada alinhamento de letra com um primeiro gap
-1 Æ Para cada alinhamento de letra com os gaps seguintes
-500 Æ Para cada alinhamento de gap com gap
Nosso esquema ficará mais complicado. Cada célula terá quatro compartimentos:
Seq 1 letra
Seq 1 gap
Seq 2 letra
-a-
Seq 2 letra
-b-
Seq 1 letra
Seq 2 gap
-c-
As setas indicam de onde virão os valores para os compartimentos.
A seguir um exemplo; observe que nas entradas colocamos um número negativo
"grande" (-99) a título de infinito.
XXXVIII SBPO
[ 2494 ]
XXXVIII SIMPÓSIO BRASILEIRO DE PESQUISA OPERACIONAL
Pesquisa Operacional na Sociedade: Educação, Meio Ambiente e Desenvolvimento
12 a 15/09/06 Goiânia, GO
Alinhamento local (Algoritmo Smith-Waterman)
Esse problema também aparece de forma natural. Dadas duas seqüências
ATGCTGACACGTA
ACTACGACACAC
Selecionar uma subseqüência de cada uma tal que a pontuação do alinhamento
seja a maior possível.
Dessa vez voltamos ao algoritmo básico, com a diferença que, sempre que o valor
de uma casa se tornar negativo, fazemos ele ficar igual a 0. Ao refazer o caminho,
procuramos a seqüência mais longa, sem incluir a casa com o 0.
Um exemplo simples:
XXXVIII SBPO
[ 2495 ]
XXXVIII SIMPÓSIO BRASILEIRO DE PESQUISA OPERACIONAL
Pesquisa Operacional na Sociedade: Educação, Meio Ambiente e Desenvolvimento
12 a 15/09/06 Goiânia, GO
E um mais complexo:
Algoritmo BLAST
O algoritmo BLAST – Basic Alignment Search Tool é usado para procurar em
grandes bases de dados seqüências com bom alinhamento local com uma dada
seqüência. O BLAST procura pequenas seqüências e depois tenta expandi-las.
Informação do site do BLAST: A procura inicial é feita para uma palavra de
tamanho W que pontue no mínimo T quando comparada à seqüência dada, usando uma
matriz de substituição. A palavra é então estendida nas duas direções gerando
alinhamentos que não excedam um valor S. Os parâmetros determinam a sensibilidade e
a velocidade da busca.
XXXVIII SBPO
[ 2496 ]
XXXVIII SIMPÓSIO BRASILEIRO DE PESQUISA OPERACIONAL
Pesquisa Operacional na Sociedade: Educação, Meio Ambiente e Desenvolvimento
12 a 15/09/06 Goiânia, GO
Do mesmo modi como tratamos os nucleotídeos, podemos tratar as proteínas.
A lista de proteínas:
1
2
3
A
C
D
Ala
Cys
Asp
Alanina
Cisteína
Ácido Aspártico
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
E
F
G
H
I
K
L
M
N
P
Q
R
S
T
V
W
Y
Glu
Phe
Gly
His
Ile
Lys
Leu
Met
Asn
Pro
Gln
Arg
Ser
Thr
Val
Trp
Tyr
Ácido Aspártico
Fenilanina
Glicina
Histidina
Isoleucina
Lisina
Leucina
Metionina
Aspargina
Prolina
Glutamina
Arginina
Serina
Treonina
Valina
Tripofano
Tirosina
Matriz de substituição – Matriz usada pelos biólogos para a pontuação de
alinhamentos. Baseia-se na freqüência observada de mutações entre proteínas. Abaixo
temos uma porção da matriz BLOSUM62
XXXVIII SBPO
[ 2497 ]
XXXVIII SIMPÓSIO BRASILEIRO DE PESQUISA OPERACIONAL
Pesquisa Operacional na Sociedade: Educação, Meio Ambiente e Desenvolvimento
12 a 15/09/06 Goiânia, GO
Matrizes PAM
PAM é acrônimo de "Point Accepted Mutation" ou "Percent Accepted Mutation".
Ela se refere a situações em que 1% dos amino ácidos numa seqüência protéica foram
mutados.
Por simplicidade usaremos uma matriz de substituição fictícia reduzida,
mostrando a probabilidade de transição de uma proteína para outra (ou permanência)
durante um certo período de tempo.
M-
A
C
D
E
A
0,99
0,002
0,003
0,005
C
0,002
0,99
0,005
0,003
D
0,003
0,005
0,99
0,002
E
0,005
0,003
0,002
0,99
1
Observamos que se trata de uma matriz estocástica e regular.
A matriz PAM-1 é uma matriz usada para pontuar alinhamentos entre seqüências
de proteínas. Ela é calculada tomando cada entrada de M-1 e:
• Multiplicando por 4
• Tomando o log na base 10
• Multiplicando por 10
• Arredondando para o inteiro mais próximo.
PAM-1
A
C
D
E
A
6
-21
-19
-17
C
-21
6
-17
-19
D
-19
-17
6
-21
E
-17
-19
-21
6
A matriz PAM-2 é obtida a partir de M-2, a matriz que dá a as probabilidades de
transição depois de 2 unidades de tempo. Portanto M-2 = (M-1)2.
XXXVIII SBPO
[ 2498 ]
XXXVIII SIMPÓSIO BRASILEIRO DE PESQUISA OPERACIONAL
Pesquisa Operacional na Sociedade: Educação, Meio Ambiente e Desenvolvimento
12 a 15/09/06 Goiânia, GO
PAM-2
A
C
D
E
A
6
-18
-16
-14
C
-18
6
-14
-16
D
-16
-14
6
-18
E
-14
-16
-18
6
PAM-250
A
C
D
E
A
5
-6
-5
-3
C
-6
5
-3
-5
D
-5
-3
5
-6
E
-3
-5
-6
5
Como se originam de matrizes regulares, as potências de M-1 tendem para um
limite e é natural que cada vez menos as diferenças de proteínas sejam menos
penalizadas.
XXXVIII SBPO
[ 2499 ]
XXXVIII SIMPÓSIO BRASILEIRO DE PESQUISA OPERACIONAL
Pesquisa Operacional na Sociedade: Educação, Meio Ambiente e Desenvolvimento
12 a 15/09/06 Goiânia, GO
Reconstruindo Filogenias
Árvores qualitativas
Segundo o Dicionário Aurélio Filogenia é a história evolucionária das espécies.
A estrutura universal para representar a filogenia são as árvores. Uma árvore
filogenética é, portanto, uma representação gráfica da filogenia.
Digamos que queremos determinar a filogenia de bois, porcos, ratos,
camundongos e humanos. Uma pessoa distraída poderia fazer uma árvore como essa:
Não parece sensato juntar ratos e porcos de um lado e camundongos e homens do
outro. Este exemplo é exagerado, mas podemos imaginar diferenças mais sutis. Até o
começo do século, essa classificação era feita cm base na aparência ou em
características visíveis ou observáveis. Hoje podemos começar observando proteínas de
funcionalidade comum.
Abaixo temos uma comparação entre proteínas específicas desses organismos.
XXXVIII SBPO
[ 2500 ]
XXXVIII SIMPÓSIO BRASILEIRO DE PESQUISA OPERACIONAL
Pesquisa Operacional na Sociedade: Educação, Meio Ambiente e Desenvolvimento
12 a 15/09/06 Goiânia, GO
Sem maiores exames constatamos que há suficientes semelhanças para que
imaginemos que há ancestrais comuns. Gostaríamos de reconstruir a filogenia dessas
criaturas. Será que, do estudo dessas partes do DNA, poderemos inferir a história
evolucionária das espécies envolvidas? Tecnicamente, não, pois uma seqüência pequena
como essa não é suficiente.
Mas é razoável pensar que, com um número maior de seqüências estudadas
poderemos tentar reconstruir as bifurcações da evolução. Para isso estamos supondo que
as mudanças se processam em uma única direção (as mutações não formam ciclos) e
que os galhos se dão unicamente por bifurcação.
Vamos começar alinhando (no exemplo temos também galinhas, ovelhas e
lebres).
Um método simples é o UPGMA – Unweighted Pair Group Method with
Arithmetic Mean. Como o nome diz, será usada a media aritmética.
Começamos usando uma matriz de distância, usando por exemplo a pontuação
dos alinhamentos, calculada de forma percentual.
Procuramos os organismos que tem menor diferença e substituímos por uma única
linha/coluna, e sua distância pela média aritmética das distâncias.
XXXVIII SBPO
[ 2501 ]
XXXVIII SIMPÓSIO BRASILEIRO DE PESQUISA OPERACIONAL
Pesquisa Operacional na Sociedade: Educação, Meio Ambiente e Desenvolvimento
12 a 15/09/06 Goiânia, GO
Prosseguimos e construímos uma árvore mais coerente:
Outro tipo de árvore é a Árvore de PHYLIP – as distâncias reproduzem a
distância entre os alinhamentos:
Será que sempre poderemos fazer uma árvore
assim?
XXXVIII SBPO
[ 2502 ]
XXXVIII SIMPÓSIO BRASILEIRO DE PESQUISA OPERACIONAL
Pesquisa Operacional na Sociedade: Educação, Meio Ambiente e Desenvolvimento
12 a 15/09/06 Goiânia, GO
Um método para a construção dessas árvores, um pouco mais complexa, é
baseada no método de Studier e Kepler.
Ai está a matriz, agora com as somas para cada organismo.
1.
Computamos Si,j para cada par i,j de espécies:
2.
Selecionamos o par que nos dá a menor quantidade e ligamos esse par na
árvore; substituímos os dois elementos por um único u na matriz.
3.
Refazemos a matriz usando a fórmula de recalculo de peso:
E calculamos o tamanho dos galhos da árvore:
4.
Iteramos até o final.
No nosso exemplo:
XXXVIII SBPO
[ 2503 ]
XXXVIII SIMPÓSIO BRASILEIRO DE PESQUISA OPERACIONAL
Pesquisa Operacional na Sociedade: Educação, Meio Ambiente e Desenvolvimento
12 a 15/09/06 Goiânia, GO
Calculando o valor de Si,j
O valor escolhido é Rato-Camundongo. Calculamos as distâncias:
A nova matriz de distâncias é:
E a nova matriz Si,j:
Há um empate, escolhemos aleatoriamente Boi-Porco. Calculamos os L´s.
Nova matriz de distância
XXXVIII SBPO
[ 2504 ]
XXXVIII SIMPÓSIO BRASILEIRO DE PESQUISA OPERACIONAL
Pesquisa Operacional na Sociedade: Educação, Meio Ambiente e Desenvolvimento
12 a 15/09/06 Goiânia, GO
Nova matriz Si,j
E finalmente:
e
A árvore construída:
XXXVIII SBPO
[ 2505 ]
XXXVIII SIMPÓSIO BRASILEIRO DE PESQUISA OPERACIONAL
Pesquisa Operacional na Sociedade: Educação, Meio Ambiente e Desenvolvimento
12 a 15/09/06 Goiânia, GO
Árvore de Sufixos
Suponha que você tem uma seqüência como ACGCGCAGGCA e queremos
encontrar sua ocorrência em uma seqüência de 3 000 000 000 de letras. Quanto tempo
leva?
Sem pré-processamento isso levaria muito tempo, mas com um tratamento
anterior isso pode ser bem facilitado. Na verdade isso exigiria 11 passos (o
comprimento da cadeia a estudar).
Claro que pré-processar leva muito tempo, mas algumas seqüências são muito
requisitadas. Por exemplo, pré-processar o genoma humano pode valer a pena.
A estrutura que faz esse trabalho é a árvore de sufixos. De fato, dada uma
seqüência S, de tamanho |S| e pequenas seqüências Q1, Q2 ,... de tamanho |Qj| , se préprocessarmos S a busca de ocorrência de Qj nos tom |Qj| passos.
Árvores de sufixo são largamente estudadas em Ciência da Computação o que só
faz aumentar sua praticidade para a Bioinformática.
Um exemplo de árvore de sufixo – ATGCCAGCCACTTG
Exemplo e utilidade:
1)
Encontrar todas as ocorrências da seqüência CCA.
• Comece na raiz
• Procure o último galho que contém CCA, o que é fácil, basta seguir: CÆCÆA
2)
Encontre todas as ocorrências da letra T
Como se constrói a árvore? Construindo. Começa-se pela seqüência mais longa,
isto é, a seqüência completa (acrescentando um símbolo de terminação $).
Corta-se a primeira letra. Aloca-se o sufixo produzido aproveitando os prefixos
existentes.
Exemplo: Se já colocamos AGCCACTTG e queremos colocar ACTTG a bifurcação
produzida é:
AGCCACTTG$
CTTG$
XXXVIII SBPO
5
10
[ 2506 ]
XXXVIII SIMPÓSIO BRASILEIRO DE PESQUISA OPERACIONAL
Pesquisa Operacional na Sociedade: Educação, Meio Ambiente e Desenvolvimento
12 a 15/09/06 Goiânia, GO
Bibliografia
[1]
Brookes, M.; Fique por dentro da Genética; Editora Cosac & Naif, 2001
[2]
Gibas,C.; Jambeck,P.; Desenvolvendo a Bioinformática; Editora Campus, 2001.
[3]
Meidanis, J.; Setúbal,J.C.; Uma introdução à Biologia Computacional
UFPE,1994.
[4]
Silverstein, A. & V.; The Code of Life; Ed. Dover, 2004.
[5]
2006
-
The
DIMACS
Bio-Math
Connect
Institute
–
sítio
internet
http://dimacs.rutgers.edu/dci/2006/ - consultado em 1/9/2006
XXXVIII SBPO
[ 2507 ]
Download