Pipeline em plataforma Open Source para o processamento de dados de projetos de seqüênciamento de genes expressos (ESTs)

Marco Antonio Grecco Ribeiro¹ 
(marco@compbio.epm.br)

Paulo Bandiera Paiva¹ 
(paiva@compbio.epm.br)

¹Laboratório de Bioinformática
Departamento de Informática em Saúde
Universidade Federal de São Paulo

Resumo
	O avanço da pesquisa biológica tem demandando recursos computacionais que possibilitem o processamento e análise do volume de dados gerados nos laboratórios experimentais. A bioinformática é uma ciência multidisciplinar que concentra esforços para o desenvolvimento de soluções para atender esta problemática.
	Concomitantemente ao desenvolvimento da comunidade Open Source, diversos institutos de pesquisa nacionais e internacionais investiram esforços produzindo ferramentas que permitem a análise e processamento de dados biológicos em ambiente aberto.
	O projeto Brain Orestes é uma parceria entre os departamentos de Fisiologia, Micro-Imuno-Parasitologia e Informática da UNIFESP, para o seqüenciamento de genes expressos em cérebro de ratos epilépticos e normais. Em seu desenvolvimento, foram utilizadas plataformas e ferramentas Open Source, com a finalidade de disponibilizar uma interface amigável entre os pesquisadores da área biológica e as diferentes ferramentas disponíveis para o processamento dos dados obtidos em bancada. O pipeline descrito ajusta as necessidades dos pesquisadores às soluções existentes, com boa relação custo-benefício em termos de infra-estrutura. O projeto também visa a distribuição da aplicação através de seu código fonte para seu uso em outras instituições de pesquisa.
	A aplicação abrange todo o processo de seqüenciamento e análise de dados, iniciando com o processamento dos cromatogramas, a geração da base de dados de seqüências e parâmetros de qualidade, a localização e mascaramento de vetores e contaminantes, montagem das seqüências considerando os parâmetros de qualidade, comparação com bases de genes conhecidos e com bases de famílias protéicas.
	A próxima etapa do projeto prevê a utilização de metodologias de clusters, objetivando melhor desempenho e menor custo operacional.

Introdução
	O grande volume de dados gerados pelos diversos projetos de seqüenciamento de genomas torna necessária a utilização de ferramentas   para análise computacional destas informações. O avanço na área da genômica requer a integração entre a bioinformática e métodos experimentais. Neste sentido, o laboratório de bioinformática colabora em diversos projetos de laboratórios experimentais, com a implementação de sistemas para o processamento, armazenamento e análise de dados gerados por projetos de seqüenciamento, desenho de primers para detecção de transcritos pouco expressos, e a identificação através de modelos estatísticos de seqüências putativas de proteínas com baixa similaridade a seqüências já identificadas.
	Todos os sistemas utilizados no laboratório de bioinformática são baseados em ferramentas Open Source, incluindo sistemas operacionais, aplicativos de bioinformática e ferramentas de desenvolvimento. 
	Os dados experimentais gerados em projetos de seqüenciamento de genes expressos consistem de um conjunto de cromatogramas gerados por equipamentos seqüenciadores. Estes cromatogramas são arquivos binários contendo dados da leitura da seqüência de nucleotídeos de moléculas de RNA mensageiro.
	A análise destes dados gerados experimentalmente consiste numa cadeia de processos que abrangem a submissão de arquivos comprimidos originados nos equipamentos de seqüenciamento, a descompactação dos cromatogramas submetidos, o processamento  dos cromatogramas, o armazenamento das seqüências de nucleotídeos e dados de qualidade obtidos a partir dos cromatogramas, a identificação de seqüências de vetores (moléculas utilizadas durante o processo experimental para a amplificação das moléculas de RNA) e contaminantes, a montagem de fragmentos de seqüências, e a identificação de seqüências com função conhecida através de similaridade com bancos de dados públicos.
	Este projeto, financiado pela FAPESP, foi desenvolvido pelo Laboratório de Bioinformática do Departamento de Informática em Saúde em parceria com o Departamento de Microbiologia, Imunologia e Parasitologia da Universidade Federal de São Paulo.

Objetivo
	Desenvolvimento de um pipeline para o processamento de seqüências de ESTs (Expressed Sequence Tags), em plataforma baseada em Web, para gerenciamento das leituras geradas nos seqüenciadores, efetuando montagens e pré-anotação a partir de bancos de dados de genomas de domínio público.
	O pipeline utiliza sistemas operacionais, softwares e ferramentas Open Source e, em algumas situações, ferramentas sob licença de uso gratuitas para instituições de ensino e pesquisa.

Materiais e métodos
	O processamento e armazenamento dos dados gerados neste projeto é realizado em dois servidores baseados em Linux:

•COMPAQ AlphaServer DS-20E 666MHz;
•INTEL Xeon 1.8 Ghz Biprocessado.

	Nestes servidores foram utilizados os seguintes sistemas operacionais, softwares e ferramentas Open Source:

•Sistema Operacional RedHat 7.2 ALPHA (AlphaServer);
•Sistema Operacional RedHat 9.0 i686 (Xeon);
•MySQL 3.53.27;
•Perl 5.6.1;
•Servidor HTTP Apache 1.3.27;
•Modulo PHP (mod_php) 4.3.2;
•Modulo Perl para Apache (mod_perl) 1.0.27;
•GNU sed 3.02;
•BLAST - NCBI;
•University of Washington Phred/Phrap (Free for academic users).

	O pipeline foi implementado utilizando PHP para o desenvolvimento da interface com o usuário e Perl para os scripts de manutenção, atualização, montagem e processamento dos dados do projeto.
	Este processo é iniciado com a submissão, através de uma interface Web, dos cromatogramas gerados nos seqüenciadores instalados nos laboratórios participantes, organizados por tipo e versão.
	A próxima ação é a extração dos dados destes cromatogramas. Para isto utilizamos a ferramenta phred (Ewing et al.; 1998 and Ewing and Green, 1998), que lê o conteúdo gerado pelo seqüenciador, retornando as seqüências e seus respectivos dados de qualidade. O banco de dados é, então, alimentado com estas leituras.
	De posse dos dados das seqüências lidas dos cromatogramas, a próxima etapa envolve a verificação da possibilidade de contaminação com agentes externos e conhecidos, também mapeados em bancos públicos. Assim, as seqüências são comparadas aos traços destes contaminantes. Nos casos positivos, os trechos contaminados são mascarados para que não influenciem na montagem.
	Após o tratamento das impurezas, realiza-se a montagem com a ferramenta phrap (Gordon et al., 2001), que recebe uma lista das seqüências e implementa a metodologia Shot Gun DNA, que utiliza também os dados de qualidade extraídos anteriormente.
	As montagens resultantes são comparadas com bases de dados de genes expressos conhecidos em Rattus norvegicus e Mus musculus (UNIGENE) . A checagem é feita utilizando BLAST (Basic Local Alignment and Search Tool) (Altschul et al., 1997). Este executa uma busca por similaridade na base conhecida utilizando os dados gerados, fornecendo informações estatísticas sobre cada um dos trechos reconhecidos.
	As informações colhidas neste último processo servem como base para a identificação e pré anotação das seqüências obtidas pelo projeto. Umas das formas de identificá-las é utilizando o HMMER (Eddy, S.R. et al., 2001), que executa uma busca estatística em uma base de proteínas(Bateman et al.,2000), possibilitando, para cada uma das seqüências, anotar a respectiva família protéica.
	Na finalização deste processo, os dados são disponibilizados no Web site do projeto, onde o pesquisador e sua equipe podem verificar todas as informações de forma ordenada e ainda utilizar ferramentas para a comparação de trechos de seqüência ou de montagens específicas.

Discussão
	Este projeto surgiu com a intenção de produzir tecnologia para solucionar problemas de análise de seqüências oriundas de projetos de seqüenciamento de genes expressos (ESTs),  baseando-se em infra-estrutura de baixo custo e passível de distribuição para outras instituições de ensino e pesquisa. Para isto, foram implementadas soluções baseadas em software livre ou de uso gratuito. 
	Consideradas as capacidades dos equipamentos existentes, e sua facilidade de uso e atualização, foi escolhida a distribuição RedHat, versão 7.2 para o AlphaServer e o RedHat 9.0 para o Intel. Esta escolha foi influenciada pela necessidade da manutenção de pacotes do servidor, visto que os profissionais e pesquisadores envolvidos já possuíam expertise e  afinidade com as distribuições RedHat.
	Tendo a definição do software básico a ser utilizado, foram selecionados os serviços a ser instalados, como o Web server Apache e banco de dados MySQL. Estes, foram compilados com parâmetros específicos para as plataformas dos respectivos servidores, objetivando a utilização de configurações que possibilitam melhor performance e a implementação de módulos auxiliares, como mod_php e mod_perl.
	Segundo modelo de trabalho secional, utilizamos equipamentos Backend (que abriga a base de dados e os processos de background) e Frontend (que fornece a interface Web e scripts de processamento). 
	No servidor backend temos os principais scripts de atualização de base de dados e seqüências, enquanto no servidor frontend temos os scripts que executam os processos do pipeline. 
	A programação dos scripts foi classificada em dois tipos : scripts para Web seriais e scripts locais paralelos.
	Os scripts para Web seriais, consistem em aplicações PHP que disponibilizam interfaces para a manipulação de seqüências (envio e remoção), visualização de seqüências, montagens e resultados de buscas em bancos de genes expressos conhecidos com as respectivas informações estatísticas.
	Os scripts locais paralelos, apesar de não utilizarem infra-estrutura de clusters, foram desenvolvidos de modo a permitir sua execução simultânea, em diversas máquinas. Isto foi possível devido ao desenho adotado para o banco de dados, onde se encontram disponíveis  tabelas que permitem visualizar as seqüências a serem processadas e tabelas que armazenam os respectivos resultados das análises. Desta forma, torna-se possível executar o script de background em até 50 estações simultaneamente (limitação essa que se relaciona ao número de conexões possíveis no banco de dados para a carga gerada por cada estação), agilizando de forma significativa o processo de extração de dados e resultados.
	No momento, tendo finalizado o seqüenciamento e extração de resultados primários, o projeto parte para a segunda etapa que pretende expandir as análises utilizando a infra-estrutura de clusters, onde será possível utilizar novos mecanismos para a extração de informações e inferências.
Análise Técnica
	Dada a necessidade de exibição de dados muito extensos e a utilização de bases de mais de 900.000 registros, as aplicações tiveram sempre como premissa a performance, buscando o menor número de processos com maior velocidade de análise.
	Esta premissa não ficou limitada apenas às aplicações, tendo sido adotada também para a base de dados e o servidor Web, priorizando sempre a necessidade de velocidade combinada às limitações tecnológicas.
	A definição das linguagens e serviços teve respaldo de profissionais dedicados à análise dos resultados de teste de carga em bases de dados e modelos de montagem de serviços Web com apache, como, por exemplo, módulos estáticos e módulos dinâmicos. Já quanto às bases de dados, foram analisados todos os parâmetros de entrada e saída, definindo desta forma todas as variáveis de trabalho, com o objetivo de não sobrecarregar o sistema.
	A análise dos cromatogramas e a montagem e extração de resultados contaram com a contribuição de estações de apoio para o processo. Estas estações de apoio, todas utilizando kernel linux e distribuições diversas (RedHat, Slackware e Debian) e configuradas com as bibliotecas e ferramentas pertinentes aos scripts locais paralelos, serviram de primeira experiência para o início de uma pesquisa voltada à utilização de recursos em clusters.
	Neste projeto, o recurso dos clusters  não foi utilizado. Foram utilizadas, porém, ferramentas inerentes à Base de Dados, como o LOCK,  a fim de possibilitar a consulta simultânea por mais de um equipamento, permitindo a aquisição, a cada consulta, de um segmento do que deve ser processado, e retornando, ao final, os resultados desejados.
	Por fim, é importante salientar o papel fundamental que as discussões de equipe (que enfocaram, além de aspectos técnicos, a adequação dos custos) e os testes (que foram efetuados em todas as etapas do processo) tiveram para o desenvolvimento do projeto.	

Conclusão
	A utilização do Linux, softwares Open Source e softwares sob licença gratuita, beneficiaram o projeto desde a sua concepção, diminuindo custos, até a sua conclusão. O uso de estações de trabalho coligadas ao projeto diminuiu significativamente o tempo de resposta das informações processadas.
	A partir do sucesso obtido inicialmente com esse projeto, o laboratório de Bioinformática pretende, além de disponibilizar o sistema desenvolvido às instituições parceiras, ampliar o desenvolvimento de soluções na área de pesquisa genômica que permitam melhorar o gerenciamento dessas informações.

Bibliografia
Altschul,S.F., Madden,T.L., Schäffer,A.A.,  Zhang,J., Zhang,Z., Miller,W., and Lipman,D.J. (1997) Gapped BLAST and PSI-BLAST: a new generation of protein database search programs, Nucleic Acids Res. 25,3389-3402.

Bateman, A., Birney, E., Durbin, R., Eddy, S.R., Howe, K.L., Sonnhammer, E.L. (2000) The Pfam protein families database. Nucleic Acids Res., 28, 263-266.

Eddy, S.R. (2001) HMMER: Profile hidden Markov models for biological sequence analysis (http://hmmer.wustl.edu/).

Ewing,B., Hillier,L., Wendl,M.C., and Green,P. (1998)   Base-calling of automated sequencer traces using phred. I. Accuracy assessment. Genome Res. 8,175-185.

Ewing,B. and Green,P. (1998)   Base-calling of automated sequencer traces using phred. II. Error probabilities. Genome Res. 8,186-194.

Gordon,D., Desmarais,C. and Green,P. (2001) Automated finishing with autofinish. Genome Res., 11,614- 625.