Procura de padrões estruturais em RNAs utilizando grafos Ariane Machado Lima1 , Vitor Ferreira Onuchic2 e Alan Mitchell Durham3 (Orientador) possibilitasse a validação dessa abordagem, bem como a estimação de sua viabilidade para o uso em casos reais. 2. Materiais e métodos Universidade de São Paulo (USP), Brasil [email protected] 2 Universidade de São Paulo (USP), Brasil [email protected] 3 Universidade de São Paulo (USP), Brasil [email protected] 1 1. Introdução Um dos problemas em aberto na área de Biologia Molecular Computacional é o de reconhecimento e predição de genes de RNAs não codificantes (ncRNAs). Uma característica importante desses genes é que, ao contrário dos genes de formação de proteínas, mais importante do que a sequência de nucleotídeos, é a formação de estruturas secundárias, que definem sua função. Famílias de ncRNAs são assim caracterizadas pela formação de estruturas comuns, não pela sua similaridade na sequência. Ariane MachadoLima em sua tese de doutorado (MachadoLima, 2006) tentava construir um reconhecedor de uma família de ncRNAs específica, a das RNAs telomerases. Esta família tem caracterizada apenas genes de dois grupos de organismos: Vertebrados e Ciliados, e apresenta como característica uma variação grande nas estruturas secundárias, mas com a manutenção de alguns padrões estruturais. Esta variabilidade estrutural entre grupos impede que as técnicas conhecidas consigam produzir um reconhecedor único. As telomerases, são complexos protéicos responsáveis pela restauração dos telômeros. Estes, por sua vez, são estruturas nucleoprotéicas encontradas nas extremidades da maioria dos cromossomos lineares. A seqüência de DNA do telômero é formada por repetições consecutivas de um padrão espécieespecífico chamado repeat telomérico. Em seres humanos, por exemplo, essa repeat é GGGTTA. Para realizar a restauração dos telomeros as telomerases têm um componente feito de RNA, chamado TERC (TElomerase RNA Component), que contém em sua sequência uma cópia do repeat telomérico, chamada de template, que serve como primer no momento da reparação dos telomeros. Durante o trabalho acima mencionado, foi aventada uma possível abordagem para o problema, o uso de grafos para a caracterização de estruturas secundárias, com a utilização de algoritmos de busca de subgrafos para o reconhecimento de padrões estruturais. Esta abordagem, tanto quanto pudemos apurar, é inédita, mas precisa ser validada. Assim, implementamos um sistema que 315 O sistema consiste de três partes. A primeira é a geração de um grafo dada uma sequência nucleotídica. A segunda é a procura de um subgrafo S de G, que seja isomorfo a um grafo Q, que por sua vez, corresponde à uma determinada estrutura secundária definida pelo usuário. A terceira parte é a geração de candidatos a genes de TERC através do reconhecimento do repeat telomérico na sequência genômica, seguida da utilização das primeiras duas etapas para tentar identificar qual entre os candidatos é realmente o gene. 2.1. Geração de um grafo dada uma sequência nucleotídica O primeiro passo para montar o grafo correspondente a uma determinada sequência nucleotídica, é fazer o alinhamento dessa sequência com a mesma revertida, considerando as bases complementares. Isso nos dá várias hélices que essa sequência poderia apresentar.O próximo passo é gerar um grafo orientado à partir desses alinhamentos. Para isso, consideramos cada região alinhada como sendo um nó e adicionamos dois tipos de arestas: arestas de ordem sequencial e arestas de alinhamento. Arestas de ordem sequencial ligam um nó à todos os nós que estão em uma posição mais avançada na sequência. Arestas de alinhamento, por sua vez, ligam dois nós correspondentes à regiões alinhadas entre si. Fazendo isso com todas as regiões de alinhamento, iremos gerar um grafo correspondente à diversas estruturas secundárias possíveis para aquela sequência. Esses grafos são representados como matrizes de vizinhança, onde a posição (i,j) contém o valor 1 se existe uma aresta entre os nós i e j e 0 caso contrário. Da mesma maneira, podemos gerar grafos correspondentes a determinadas estruturas secundárias, que vão por sua vez ser usados como padrões a serem encontrados nos grafos gerados a partir das sequencias dos candidatos. Esse processo de montagem de um grafo dada uma estrutura está ilustrado abaixo. As arestas que estão na parte superior dos grafos são arestas de alinhamento, enquanto as que estão na parte inferior e também no meio são arestas de ordem. 2.3. Geração de candidatos a genes de TERCs 2.2. Procura de um subgrafo isomorfo a outro dado pelo usuário O objetivo dessa parte do sistema, é determinar se certos padrões estruturais fazem parte das possíveis estruturas secundárias de uma determinada sequência nucleotídica. Com isso, podemos conferir se um determinado candidato a ser o gene de um ncRNA (sequência dada), pode ter a estrutura secundária esperada para aquele ncRNA. Se o resultado for positivo, aumentam as chances de aquele candidato realmente ser o gene. Para que fosse possível comparar os grafos gerados, encontramos na rede uma biblioteca, chamada Vflib[3], que continha diversos algoritmos de isomorfismo de grafos. Com isso, desenvolvemos um programa que nos permite comparar uma série de grafos com algumas sequências passadas como parâmetro através de um arquivo multi fasta. Esse programa nos permite passar, no arquivo multi fasta, os vários candidatos a serem genes de um determinado ncRNA, enquanto no arquivo com os grafos passamos várias estruturas que desejamos verificar se esses candidatos podem ter, inclusive com um tamanho mínimo de hélice específico para cada um dos grafos. Inicialmente, utilizamos a biblioteca descrita acima sem fazer nenhuma modificação, no entanto, depois de feitos alguns testes, percebemos que algumas alterações eram necessárias. A primeira delas foi feita pois notamos que os subgrafos encontrados estavam utilizando nós cujas regiões correspondentes se intersectavam. Isso não é admissível, já que o subgrafo encontrado representa uma estrutura possível e dentro dessa estrutura não pode haver mais de uma hélice utilizando determinada região da sequência. Outra alteração que fizemos foi que passamos a permitir apenas subgrafos que tinham nós cujas regiões tinham um tamanho igual ou maior do que um tamanho mínimo especificado para cada um dos nós do grafo dado pelo usuário. Essa última alteração diminuiu significativamente o número de falsos positivos que eram encontrados, já que agora o critério para um grafo ser isomorfo a outro possui mais restrições. 316 Outra parte importante para que possamos testar o nosso sistema, é a geração dos candidatos a genes de um determinado ncRNA. No nosso caso, utilizamos como teste os TERC. Como citado na introdução, há em sua sequência uma cópia do repeat telomérico. Sendo assim, no seu gene está também presente esta sequência característica. Dessa forma, para gerar candidatos a gene de TERC, procuramos no genoma do organismo, todas as ocorrências do repeat telomérico e selecionamos uma região em volta de cada ocorrência, que seja do tamanho do TERC. Entretanto, temos que lembrar de remover as ocorrências desse repeat que aparecem nas pontas do genoma, pois nestas regiões estão presentes os telômeros, que são justamente esse repeat repetido várias vezes, e com certeza não são genes. Com isso, podemos utilizar o nosso programa que compara vários grafos com diversas sequências, para descobrir quais desses candidatos têm mais chance de serem genes do TERC. 3. Os testes 3.1.Testes com sequências geradas in silico Para testar a nossa hipótese, montamos os grafos correspondentes à componentes bastante comuns da estrutura secundária de vários RNAs, para depois conferir se conseguiríamos encontrálas no grafo correspondente à um RNA maior, por exemplo de um TERC, além de tentar encontrar alguns desses componentes dentro dos outros. Esses testes foram muito bem sucedidos, já que fomos capazes de encontrar todas as estruturas que deveriam ser encontradas dentro das outras e, como os grafos não eram muito grandes (menos de 50 nós), os testes rodaram bastante rapidamente. As estruturas testadas, g01 a g21, podem ser encontradas na figura abaixo. Os resultados obtidos quando fizemos os testes foram exatamente os resultados esperados, já que quando uma estrutura era subestrutura de outra ela era também subgrafo. que estávamos procurando era maior (20 nós). 4.Próximos passos 4.1. Encontrar o gene do TERC em humanos supondo que ainda não conhecemos a sua estrutura secundária O próximo passo será tentar encontrar o gene do TERC em humanos supondo que ainda não sabemos qual é exatamente a estrutura secundária do seu TERC. Isso, apesar de os testes com humanos e com a Tetrahymena thermophila terem sido muito bem sucedidos, ainda é um desafio, já que quando não sabemos exatamente qual é a estrutura do TERC a quantidade de restrições que podemos colocar é menor e com isso, o número de falsos positivos pode aumentar bastante. 4.1. Utilização do sistema para encontrar genes de TERCs em outros organismos 3.2. Testes com sequências reais Terminados os testes com as sequências gerada in silico, nós começamos a testar com algumas sequências de telomerases reais. Testamos primeiramente com dois TERCs um deles é de um ciliado, a Tetrhymena thermophila, e a outra é a de humanos. Inicialmente, os testes realizados com sequências reais não foram muito bem sucedidos, devido ao grande número de falsos positivos encontrados e também ao tempo necessário para rodar os testes. Entretanto, depois de feitas as alterações no programa de isomorfismo mencionadas acima, os resultados melhoraram considerávelmente, tanto no tempo levado para realizar os testes quanto no número de falsos positivos encontrados. No caso da Tetrahymena thermophila, que tem um TERC com uma estrutura secundária relativamente pequena (10 nós), dos 235 candidatos gerados inicialmente, encontramos o padrão que estávamos procurando em 9 deles, sendo que um dos que foram encontrados era o candidato real. O teste foi realizado em aproximadamente 10 minutos. Este é um resultado bastante satisfatório já que o nosso objetivo é gerar um número razoavelmente pequeno (menor que 100) de candidatos em um tempo razoável para depois descobrir com testes biológicos qual deles é o real. Nos testes com o TERC de humanos, os resultados são ainda melhores. Dos aproximadamente 1500 candidatos gerados inicialmente, o único candidato em que o padrão procurado foi encontrado foi o real. Devido ao maior número de candidatos e ao fato de que o tamanho das sequências dos candidatos serem três vezes maiores do que no caso da Tetrahymena thermophila, o teste levou mais tempo para ser realizado. O resultado obtido foi melhor do que o do ciliado provávelmente pois o padrão 317 Se o resultado destes últimos testes forem satisfatórios, tentaremos encontrar o gene do TERC em organismos em que este gene ainda não foi encontrado. Para isso contaremos com a colaboração de biólogos que testarão se os candidatos gerados por nós são realmente os genes dos TERC desses organismos. 5. Conclusão Pelo que pudemos observar, apesar de este trabalho ainda não estar terminado, ele parece estar bem encaminhado. Os testes realizdos até agora foram bastante satisfatórios, já que conseguimos filtrar muito bem os candidatos gerados inicialmente, conseguindo um número de candidatos finais que poderia facilmente ser testado biológicamente para comprovar qual deles é realmente o verdadeiro. A próxima etapa do projeto, no entanto, ainda representa um desafio, já que sem colocar as restrições que normalmente conseguimos colocar quando conhecemos exatamente a estrutura secundária do gene que estamos procurando, o número de falsos positivos pode aumentar muito. Assim, esperamos conseguir definir padrões de estrutura secundária convenientes para encontrar os genes de organismos que ainda não tem esse gene caracterizado. Além disso, podemos ainda procurar não apenas um, mas vários padrões diferentes e verificar quais dos candidatos podem ter a estrutura representada por alguns desses padrões, aumentando ainda mais a chance de ele ser realmente o candidato real. 5. Referências [1] MachadoLima, A. Predição de RNAs não codificantes e sua aplicação na busca do componente RNA da telomerase. Tese de Doutorado (2006) [2] Feofiloff, P., Kohayakawa, Y., Wakabayashi, Y. Uma Introdução Sucinta à Teoria dos Grafos (2007) [3] http://amalfi.dis.unina.it/graph [3] Mount, D. W. Bioinformatics – Sequence and Genome Analysis 318