Introdução
O processamento de seqüências em bioinformática envolve várias tarefas
computacionais interconectadas, cada um com um protocolo de entrada e
saída de dados distinto. Usualmente, é criado um script,
chamado pipeline que executa as tarefas em ordem determinada
pelo usuário (cada tarefa é denominada como componente). Entretanto, a
criação de cada script torna-se onerosa no sentido de que é
necessário considerar que cada par de programas que troca dados
necessita de um processamento adicional para que a saída de um seja
compatível com a entrada do outro.
Nesse cenário, foi desenvolvido o EGene (Durham et
al., 2005), um sistema de geração de pipelines que
torna mais fácil a implementação dos mesmos. Existe ainda o CoEd, uma
ferramenta gráfica que facilita a criação dos arquivos de configuração
utilizados pelo EGene.
Objetivos do trabalho
Existem dois objetivos principais nesse trabalho: estender o sistema
EGene, criando novos controles de fluxo para a execução dos
componentes e criação de um sistema de anotação. Além disso, os
resultados obtidos poderão ser utilizados em um possível mestrado na
área de bioinformática.
Ampliar o sistema EGene
A versão original do EGene permite uma única arquitetura de interligação
de componentes, denominada pipeline. Num pipeline, os
dados seguem um único fluxo, sendo processados sequencialmente por
cada componente.
Deseja-se implementar duas novas estruturas para o processamento:
forks e seletores. Num fork, um dado pode ser enviado
para vários componentes diferentes, gerando novas possibilidades de
fluxo. Com seletores, é possível encapsular um componente e fazer com
que uma seqüência só seja processada pelo mesmo se uma dada condição
for satisfeita. É necessário ainda atualizar a ferramenta CoEd para
que ela seja compatível com as novas funcionalidades.
Com forks e seletores, o EGene será capaz de implementar
seqüências de programas em praticamente toda arquitetura possível em
grafos direcionados acíclicos. Uma única estrutura, em que um
componente recebe dados de dois ou mais programas, não é
implementável. Entretanto, essa limitação é aceitável no contexto de
processamentode seqüências, dado que ela não é utilizada.
Além do aumento de arquiteturas ocorre também um ganho de desempenho,
dado que com os seletores é possível não realizar ignorar a execução
de um componente sobre algumas seqüências e com forks temos
paralelismo de processamento.
Anotações
Com o processamento das seqüências é possível obter algumas
informações, chamadas evidências, a partir das quais um biólogo pode
gerar anotações, ou seja, vincular partes de uma seqüência a funções
reguladoras, componentes celulares, entre outros.
Um programa bastante utilizado para geração de anotações é o Artemis
(Rutherford et al., 2000). Entretanto, ele
não possui uma diferenciação clara entre evidência e anotação, fato
esse que prejudica seu uso.
Os componentes do EGene original permitem basicamente realizar o
pré-processamento das seqüências, eliminando contaminantes e
sub-seqüências de baixa qualidade. Em nosso grupo de bioinformática, a
aluna Milene Ferro desenvolveu componentes para geração de evidências
e componentes de anotação automática (Ferro, 2005)
no formato feature table de submissão de seqüências anotadas (a
especificação do feature table encontra-se em http://www.ncbi.nlm.nih.gov/collab/FT/). O
próximo passo é a modelagem do banco de dados e XML para registro de
anotação, que será usado durante o mestrado da aluna
supra-citada. Além disso, será necessário também a atualização de
interface do SequenceObject, que é o módulo Perl responsável por
encapsular todas as funcionalidades de manipulação de seqüências.