Algoritmos e Genética – um casamento moderno

Propaganda
Algoritmos e Genética – um casamento
moderno
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,
Samuel Jurkiewicz
seja na contagem (mais ou menos precisa) de poções
curativas, números e procedimentos sempre estiveram ligados
Resumo
à Biologia.
A partir da 2ª Guerra Mundial os algoritmos têm
assumido
crescente
importância
em
todos
os
campos da vida humana em geral e da ciência em
Os
estudos
de Mendel estabeleceram um elo (no
princípio não muito percebido) entre a Genética e um ramo da
Matemática que ainda lutava para ser reconhecido como
importante – a Combinatória. E, no entanto, a Combinatória
particular. Um dos campos em que esta conexão se
oferecia um modelo tão convincente que a Genética nunca
mostrou mais exitosa foi a Genética A apresentação
mais foi a mesma.
do DNA como uma sequencia dos símbolos A, C, G e
T apontou para a algorítmica como uma ferramenta
privilegiada
genéticas
expomos
para
sos
o
estudo
organismos
princípios
das
vivos..
básicos
de
propriedades
Neste
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
algoritmos
se separaria da Biologia como também ainda tinha muito a
que a Matemática envolvida é acessível a alunos de
nível pré-universitário.
chave:
biólogos na pista certa de como a vida e as características dos
artigo
computacionais utilizados em Genética. Ressaltamos
Palavras
As idéias combinatórias em Genética colocaram os
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
Genética;
Algoritmos; Matemática Discreta.
Informática;
sugerirem a forma de hélice e com sua codificação pelas letras
A, C G e T. 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
1
máquinas, mas sobretudo à prolífica produção de conceitos,
Mathematics and Theoretical Computer Science) que há pelo
algoritmos e processos matemáticos.
menos três anos em reunindo professores da High School de
Entre os campos mais inovadores podemos apontar a
vários
estados
dos
Estados
Unidos
(aproximadamente
Algorítmica e a Pesquisa Operacional. E estas idéias se
equivalente ao nosso Ensino Médio) para atualização na área
agregaram às novas idéias da Genética com resultados
de Bioinformática (DIMACS, 2010). Esse trabalho sucede um
revolucionários – e esta palavra não está sendo usada como
projeto que já dura mais de 10 anos, também voltado para
adjetivo.
professores para difusão da Teoria de Grafos.
Não se pode deixar de notar a contemporaneidade do
Pude constatar (com certa vaidade) que o trabalho lá
trabalho de Watson e Crick (1953) e a apresentação do
apresentado fazia referência constante ao trabalho de João
Algoritmo de Dijkstra (1952) para determinação de caminhos
Meidanis e João Carlos Setúbal da Universidade de Campinas
mais curtos em uma rede. É este algoritmo que está na base
(MEIDANIS & SETÚBAL, 1994),
da
Recomendo esse texto por sua acessibilidade e completude.
mais
freqüente
operação
em
Bioinformática
–
o
depois editado em inglês.
alinhamento de seqüências de DNA.
Neste ensaio (verdadeiramente introdutório) temos a
intenção de abordar as primeiras idéias de aplicação de
Introdução – Noções (Muito) Básicas Sobre O
DNA
Pesquisa Operacional à Bioinformática. Surpreendentemente,
os aspectos abordados não pressupõem maiores requisitos e
O que é DNA ?
são acessíveis a qualquer interessado com um bom Ensino
Médio.
Uma informação importante: o autor confessa um
conhecimento
apenas
pedestre
da
Biologia
envolvida.
Procuremos transformar essa deficiência em vantagem. Toda a
Biologia abordada depende muito mais de fatos básicos e bom
senso do que de conhecimentos profundos. Isso quer dizer que
espero que estas páginas sirvam para acender a curiosidade,
tanto no que diz respeito à Biologia como à Pesquisa
Operacional.
É justo também advertir que a abordagem é fortemente
inspirada
no
trabalho
da
DIMACS
(Center
for
Discrete
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 vezes
maior do que a própria célula. A sua forma característica é de
2
uma dupla hélice, como se fosse uma longuíssima escada
A fileira do DNA é realmente uma fileira de palavras de
retorcida para a direita. O DNA de uma molécula humana
letras, cada palavra (a cada três nucleotídeos) sendo o código
contém cerca de 3.000.000 de nucleotídeos.
de
um
determinado
aminoácido.
Assim,
a
seqüência
ACGTTCCGATCGGTA deve ser lida ACG TTC CGA TCG GTA.
Apesar de seu comprimento, o DNA é uma molécula
relativamente simples. Cada lado da escada consiste de um
Primeira
posição
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
Segunda posição
G
A
C
T
Terceira
posição
Glicina
Ácido
Glutâmico
Alanina
Valina
G
Glicina
Ácido
Glutâmico
Alanina
Valina
hélice como uma única seqüência: se de um lado tivermos
Glicina
Ácido
Aspártico
Alanina
Valina
CATTCG do outro teremos GTAAGC.
Glicina
Ácido
Aspártico
Alanina
Valina
Arginina
Lisina
Treonina
sempre da forma A-T ou G-C. Por isso podemos tratar a dupla
G
O que faz o DNA?
Se o ser humano fosse uma casa, os tijolos e cimento
A
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.
C
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
característica.
uma
forma
tridimensional
complexa
e
T
Metionina
(INÍCIO)
A
C
T
G
Arginina
Lisina
Treonina
Isoleucina
A
Serina
Asparagina
Treonina
Isoleucina
C
Serina
Asparagina
Treonina
Isoleucina
T
Arginina
Glutamina
Prolina
Leucina
G
Arginina
Glutamina
Prolina
Leucina
A
Arginina
Histidina
Prolina
Leucina
C
Arginina
Histidina
Prolina
Leucina
T
Tripofano
PARADA
Serina
Leucina
G
PARADA
PARADA
Serina
Leucina
A
Cisteína
Tirosina
Serina
Fenilanina
C
Cisteína
Tirosina
Serina
Fenilanina
T
O esquema acima mostra que aminoácidos são codificados por
qual palavra de 3 letras. Informações mais completas podem
ser encontradas em Brookes (2001), (MEIDANIS & SETÚBAL,
1994) e (SILVERSTEIN & SILVERSTEIN, 2004).
3
Nossa máquina do tempo
de que estas proteínas sejam homólogas e não simplesmente
Todo ramo da ciência tem sua máquina do tempo. A
Astronomia tem a luz; essa que nos chega foi emitida há
(muitos) milhões de anos. As camadas da terra nos revelam o
que aconteceu em nosso planeta milhões de anos antes de o
ser humano aparecer.
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
A Biologia começou usando o aspecto externo dos seres
possuem via de regra em sua estrutura tridimensional certas
vivos como sua máquina do tempo; depois isso foi refinado
regiões onde os reagentes se “encaixam”, facilitando a reação.
com a observação dos órgãos internos das diversas espécies.
Estes locais são chamados de sítios ativos e são geralmente
Mas o DNA hoje é a principal máquina do tempo dos biólogos.
bem conservados nas diferentes versões da proteína para as
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
hemoglobina,
molécula.
exemplo,
embora
Estudando
todos
não
a
seja
os
mamíferos
exatamente
seqüência
de
a
mesma
aminoácidos
de
sobre sua origem.
ser
semelhantes
(sejam
proteínas
ou
homólogas
ou
análogas.
Dizemos
que
são
homólogas se as estruturas originaram-se de um ancestral
comum;
caso
sítios
ativos
ou
não,
têm
provavelmente
papel
fundamental na atividade da proteína.
O Problema do Pipoqueiro
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
características aparentes) em seres vivos de espécies distintas
podem
elas
possuem
hemoglobinas de espécies diferentes pode-se tirar conclusões
Estruturas
diferentes espécies. Regiões altamente conservadas, sejam
contrário,
serão
análogas.
No
caso
da
hemoglobina em mamíferos, por exemplo, há fortes evidências
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.
4
Mais ainda, uma característica fundamental dos seres
Esse problema é resolvido por uma versão simplificada e
vivos é a capacidade de se replicar; de certa forma, alguma
adaptada do algoritmo de Dijkstra 1, apresentado em 1952. O
coisa nós seres humanos temos em comum com, digamos,
algoritmo baseia-se na observação de que não precisamos
uma folha de tabaco. E de fato, uma parte de nosso (nós e a
calcular globalmente a distância para encontrar o mínimo (ou
folha de tabaco) código genético guarda enorme similaridade.
máximo). Uma versão desse algoritmo pode ser descrita, de
Antes de comparar as seqüências (de DNA ou de
maneira sucinta da seguinte maneira:
proteínas) é necessário realizar um alinhamento dessas
Vamos fazer um exemplo bem simples:
seqüências.
Encontrar o melhor caminho de A até B andando sempre
Parece
simples:
combinamos
as
seqüências
aleatoriamente, comparamos dando uma pontuação. Fazemos
para baixo e para a direita. Mas o que quer dizer melhor?
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á freqüentemente 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 – a disciplina que aplica conceitos
matemáticos e computacionais para a resolução de problemas
de
otimização
(maior
benefício,
menor
custo,
melhor
distribuição, etc.).
Nosso modelo inicial será o mais simples possível, a
Suponhamos que um pipoqueiro quer percorrer o bairro
saber: olhar o alinhamento como um problema de melhor
caminho. O significado de “melhor caminho” ficará claro mais
adiante ao examinarmos o algoritmo de alinhamento
(cujo mapa vai acima). Ele se move somente para a direita e
1
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
5
para baixo. Os números representam o número de saquinhos
Alinhamento De Seqüências
de pipoca que ele espera vender em cada trecho. Qual o
melhor caminho que vai de A para B?
O problema se resolve respondendo a perguntas simples:
Qual a melhor distância até X? Claramente é 3.
O DNA nos traz informações sobre as espécies e sua
evolução. É natural pensar que o mesmo trecho do DNA que
regula,
por
exemplo,
a
insulina
em
humanos,
guarde
Qual a melhor distância até Y? Claramente é 5.
semelhança com outros mamíferos, a menos de algumas
Qual a menor distância até Z? Temos de escolher se
mutações. As principais mutações são resultado de trocas
viremos de X (com total 3+4=7) ou se viremos por Y (com
(p.ex. A por T) ou supressão de letras (p.ex. AGTG -> ATG).
total 5 + 3=8). O melhor será vir por Y, pois fará o pipoqueiro
Os biólogos acreditam que a troca de letras é mais freqüente
vender mais saquinhos de pipoca.
do que a supressão
Continuando esse raciocínio descobriremos o melhor
caminho de A a B. Na verdade encontraremos o melhor
caminho de A a qualquer ponto.
Os caminhos possíveis são mostrados abaixo:
Por exemplo, se quisermos comparar as seqüências AGCGT e
CAGT, os trechos têm tamanhos diferentes e só podem ser
alinhados
se
fizermos
a
hipótese
de
uma
supressão,
comumente chamada de “gap”. A figura abaixo mostra
possíveis alinhamentos.
Qual deles é o melhor? Para tomar esta decisão, os biólogos
propõem uma pontuação:
Mas como isso pode nos ajudar no alinhamento de seqüências
de DNA?
•
+2 se alinharmos letras iguais
•
-1 se alinharmos letras diferentes
•
-2 se alinharmos letra com gap
•
-500 se alinharmos dois gaps
6
Observação: Nesta pontuação fictícia os biólogos estão
positivamente. Nestas condições poderemos usar o algoritmo
sinalizando que é menos provável uma supressão do que uma
para encontrar o caminho com maior ganho (no lugar de
troca e que não é aceito gap sobre gap (500 faz o papel de
menor custo), usando o mesmo mecanismo. Como o grafo é
“infinito computacional”).
construído?
Com esta pontuação o primeiro alinhamento (AGCGT sobre –
CAGT) tem valor -2-1-1+2+2=0.
O segundo alinhamento em na fileira de baixo (AGCG-T sobre
C- - AGT) tem valor -1-2-2-1-2+2=-6.
Podemos produzir todos os alinhamentos usando uma árvore
(exibimos
as
duas
primeiras
ramificações).
O
primeiro
alinhamento pode ser A sobre C, A sobre gap ou gap sobre C.
Os vértices serão os quadrados; os arcos ligando os quadrados
A segunda ramificação mostra como poderíamos continuar
serão sempre:
enumerando todas as possibilidades possíveis de alinhamento.
•
Para a direita com valor -2 (significa letra de cima
alinhada com gap);
•
Para a esquerda com valor -2 (significa gap alinhado
com letra da esquerda);
•
Na diagonal de cima para baixo (significa letra de cima
alinhada com letra da esquerda):
o
Se as letras de destino forem iguais o valor será
+2,
O problema é que esse procedimento é exponencial (a árvore
teria cerca de 3t vértices, sendo t o comprimento da maior
o
Se as letras de destino forem diferentes o valor
será igual a -1.
cadeia). Vamos usar uma adaptação do algoritmo de Dijkstra,
construindo um grafo sem circuitos e com arcos valorados
7
No nosso caso o grafo correspondente, e os valores em cada
vértice serão:
Outro melhor caminho de mesmo valor também possível (e
Temos vários caminhos ótimos. Para efeito de algoritmo
sua pontuação) é:
podemos privilegiar a fronteira direita, preferindo fazer o
"caminho de volta" principalmente para cima, depois em
diagonal e em último caso para a esquerda, o que nos daria o
alinhamento assinalado AGC-GT sobre - - CAGT; mas essa
escolha é arbitrária. O valor deste alinhamento seria: -2 -2 +2
-2 +2 +2=0.
8
Árvores Filogenéticas
em características visíveis ou observáveis. Hoje podemos
começar observando proteínas de funcionalidade comum.
Vamos ver como o alinhamento pode nos ajudar no
Abaixo
temos
uma
comparação
entre
proteínas
estudo da evolução. Para isso necessitaremos de algumas
específicas desses organismos (dados obtidos no Genbank,
definições simples.
sítio do NCBI, 2010).
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:
Sem maiores exames constatamos que há suficientes
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
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.
9
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
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.
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
média aritmética.
Começamos usando uma matriz de distância, usando,
por exemplo, a pontuação dos alinhamentos, calculada de
forma percentual. O número da tabela indica o percentual de
diferença entre as seqüências.
Prosseguimos e construímos uma árvore mais coerente:
10
Observe que o exemplo é escolar; em geral o que se compara
construção.
são cadeias de espécies bem mais assemelhadas. Existem
principalmente Von Neumann e Turing, que haviam trabalhado
outros métodos, bastante mais sofisticados. Mas todos eles
com máquinas para decifrar os códigos dos nazistas, também
são baseados nestes princípios simples, aqui expostos.
produzidos por máquinas.
Isso
não
Sua
é
concepção
surpreendente.
foi
A
feita
por
Informática
matemáticos,
depende
de
algoritmos, os programas; e a Matemática sempre produziu
Além Das Aplicações
algoritmos. O que o século XX assistiu foi a um impressionante
Nossa finalidade, neste artigo, não é apenas mostrar um
diálogo entre a tecnologia e a ciência, com poderosas
algoritmo
mais
máquinas digitais, prontas a lidar com inúmeras informações,
interessante, conforme já opinado na introdução (“Antes de
invadindo nossa vida cotidiana: no banco, em casa, no
Começar”)
do
supermercado... Pedem, em troca, que nos adaptemos a uma
desenvolvimento da Genética moderna e do desenvolvimento
sociedade de procedimentos, em que devemos seguir nós
de algoritmos e computadores.
mesmos os algoritmos. Da nossa integração com essas
O algoritmo de Dijkstra é simples e pode ser entendido por
máquinas e com estes algoritmos dependerá nossa inserção
qualquer aluno do ensino secundário. Porque não havia ainda
no mundo moderno.
sido desenvolvido? Por que este problema não foi proposto a
O caso da Genética, neste sentido, é exemplar – a expressão
Euler, Gauss ou Newton? A verdade é que hoje temos
da estrutura do DNA como um código é fundamental para que
instrumentos
que
seja
os conceitos matemáticos e algoritmicos possam ser utilizados.
relevante. A
técnica
econômicos,
Por outro lado, acreditar que essa expressão tenha ocorrido
otimizados, só alcançou status de ciência a partir da 2ª
junto ao desenvolvimento dos algoritmos e das ferramentas
Guerra, com o desenvolvimento da computação moderna.
computacionais
Na segunda metade do século XX, impulsionadas pelas
ceticismo do que conviria mesmo a um cientista.
computacional
é
ressaltar
fazem
aplicado
a
com
à
Biologia.
interconexão
que
de procurar
este
O
histórica
algoritmo
caminhos
seja
meramente
casual
requereria
mais
necessidades emergentes da Segunda Guerra Mundial, foram
criadas condições para o aparecimento das máquinas de
computar. Um fato esquecido é que essas máquinas foram
projetadas antes mesmo de haver tecnologia para sua
11
Referências
BROOKES, M. Fique por dentro da Genética.
Editora Cosac & Naif, 2001
São Paulo :
GIBAS, C.; JAMBECK, P. Desenvolvendo a Bioinformática; São
Paulo: Editora Campus, 2001.
MEIDANIS, J.; SETÚBAL, J. C. Uma introdução à Biologia
Computacional UFPE,1994.
SILVERSTEIN, A.; SILVERSTEIN, V. The Code of Life; New
York: Ed. Dover, 2004.
The DIMACS Bio-Math Connect Institute – sítio internet
http://dimacs.rutgers.edu/dci/2006/
- consultado em
1/9/2010
NCBI - National Center for Biotechnology Information
http://www.ncbi.nlm.nih.gov/
consultado
em
1/9/2010
Algorithms and Genetics: a modern
marriage
Abstract
Since World War II algorithms have played a role of increasing
importance in all aspects of human life in general and of
science in particular. One of the fields in which this connection
was mostly successful was Genetics. DNA’s presentation as a
sequence of A, C, G and T symbols suggested that algorithms
could be a privileged tool for the study of genetic properties of
living organisms. In this essay, we discuss the basic principles
of computational algorithms used in genetics, using
mathematical resources accessible to pre-university level
Maths students.
Keywords:
Genetics;
Informática;
Algorithms;
Discrete
Mathematics.
Sobre Os Autores:
Samuel Jurkiewicz é um matemático, doutorado pela
Universidade Pierre et Marie Curie, que se especializou em
matemática discreta e teoria de grafos. É professor da UFRJ e
convidado do CEFET Celso Suckow da Fonseca. Tem
publicações na área de Educação Matemática, é membro da
comissão de provas da Olimpíada Brasileira de Matemática da
Escola Pública e atua na
matemática da educação
[email protected]
formação de professores de
básica e superior. E-mail:
12
Download