Bioinformática A bioinformática e a análise da expressão gênica Introdução Todos os seres vivos guardam em uma molécula de DNA ( ácido desoxirribonucleico ) informações vitais para o funcionamento do organismo. O processo de expressão gênica é responsável por transcrever pequenas porções do DNA (genes) nas moléculas de RNA. As células e tecidos dos corpos funcionam corretamente quando os genes são expressos de forma correta. Qualquer expressão alterada ou realizada em momento incorreto, pode ocasionar patologias. Entre os principais estudos da Biologia Molecular, está a análise da expressão gênica em diversos tecidos biológicos a fim de entender e poder diagnosticar tecidos patológicos. Bioinformática A bioinformática e a análise da expressão gênica Análise de Microarray A análise de microarray é uma tecnologia capaz de medir a expressão gênica de milhares de genes simultaneamente. Este é um processo muito complexo pois não existe um procedimento genérico que possa ser amplamente utilizado para qualquer análise. Para cada experimento é preciso avaliar os modelos estatísticos e matemáticos a serem empregados, antes da criação do grupo de scripts computacionais propriamente dito. Por este motivo, existe uma demanda de softwares para análise de dados de microarray que facilitem os diversos métodos de análise e ofereçam opções de geração de documentação. Exemplo de uma imagem de microarray. Esta imagem foi obtida pelo grupo de pesquisa do Prof. Luiz Fernando Lima Reis no Instituto Ludwig de Pesquisa sobre o Câncer e CEPID - Hospital A. C. Camargo. Projeto Maiges Mathematical Analysis of Interacting Gene Expression Systems Objetivo do projeto: • Desenvolver um ambiente matemático e computacional capaz de explorar novas tecnologias bioquímicas. • Esse ambiente precisa prover análises estatísticas eficientes, robustas e reprodutíveis, que possam ser mostradas de forma organizada afim de garantir transparência no processo de análise e fácil verificação dos resultados obtidos. Desafios: • Essas tecnologias produzem uma grande quantidade de dados. • Esses dados possuem uma estrutura complexa, que inclui até anotações clínicas. Solução: • O projeto Maiges produziu o MaigesPack (Pacote Maiges). Pacote Maiges • O Pacote Maiges é um pacote que pode ser utilizado no R. • Oferece diversos métodos matemáticos e estatísticos para a normalização e análise dos dados obtidos utilizando a técnica de microarray. Dificuldades: • O diagrama ilustra como a complexidade do pacote pode ser uma barreira para usuários. • Para utilizar as funções e métodos do pacote o usuário teria que saber seus nomes e parâmetros. A Linguagem R O que é? • R é uma linguagem e um ambiente computacional. Facilidades: • Ele é um software gratuito, sob a licença GNU General Public License. • O R provê uma grande variedade de métodos estatísticos (modelagem linear e não linear , testes estatísticos clássicos, análises de séries temporais, classificação, ...) e funções para gerar diversos gráficos. • É facilmente expansível, qualquer pessoa que entenda a sua sintaxe pode fazer suas próprias classes e métodos. • Existem pacotes com funções e métodos específicos para determinada atividade. Dificuldades: • O uso do R é restrito pois suas funções são acessadas somente por linha de comando, então pessoas que não estejam familiarizadas com programação podem encontrar um grande obstáculo. A Linguagem R Um pequeno exemplo de como o pacote Maiges funciona Workflows Científicos O uso da programação visual para aplicações científicas O que é um Workflow científico? É uma ferramenta flexível para executar análises de dados geralmente complexas. Cada workflow é organizado em diversas etapas, que são chamadas de "atores", que quando executados na ordem correta, produzem saídas gráficas ou textuais. Exemplo de workflow científico que recebe dados científicos, analisa e gera uma saída gráfica. Programação Visual • Construção de programas manipulando elementos gráficos e não apenas especificando-os textualmente. • Linguagem de programação visual (VPL): expressões visuais e símbolos gráficos (ícones, flechas, caixas, arcos, círculos). •Esses itens se conectam, formando o ciclo de execução do programa. • Promove a reusabilidade dos componentes de interfaces e segue o paradigma de desenvolvimento baseado em componentes. • Exemplos de ambientes de desenvolvimento: Microsoft Robotics Studio(Microsoft VPL), YAWL, LabVIEW, KEPLER, entre outros. Exemplo Incrementando uma variável Figura: Programa Microsoft Robotics Studio (Microsoft VPL) http://msdn2.microsoft.com/pt-br/library/bb483093.aspx Kepler Project Sofware para computação visual baseada em workflows O que é o Kepler? O Kepler é um programa de computação visual baseado em workflows que é amplamente utilizado por cientistas. Estes, conseguem criar e executar workflows científicos que podem englobar processos complexos, integrando programação R, MATLAB, acesso a banco de dados externo, entre outras funcionalidades. O software é baseado em componentes chamados de “atores”, que comunicam-se entre si através de “portas” de entrada e saída. Desta forma, eles conseguem trabalhar de forma encapsulada. Cada "Ator" faz ações tais como execução de código, acesso a dados, processamento de dados. Kepler Project Sofware para computação visual baseada em workflows Funcionamento do Kepler A base principal do Kepler é a utilização dos atores, que são responsáveis por: • encapsular as ações. • canalizam as entradas, executam e fornecem uma saída. As portas são a forma centralizada de comunicação entre os atores. Os dados são heterogêneos e podem ser recebidos e enviados para: • banco de dados • saídas em arquivos, saídas gráficas e bloxplots • páginas web • FTP e SSH Os diretores são responsáveis por gerenciar a execução dos atores. Isso permite que o workflow seja executado de forma contínua, única, ou seguindo regras personalizadas. Kepler Project Sofware para computação visual baseada em workflows Workflow montado no Kepler do pacote Maiges do R. Conclusão É viável a utilização do Kepler para bioinformática? Após conversar com o desenvolvedor do Kepler responsável pela implementação do R, compreendemos as dificuldades e limitações deste recurso (chamado de RExpression). • Cada ator do R roda em um processo separado. • O R é iniciado e finalizado em cada ator, perdendo um precioso tempo na inicialização. • O input e output trocados entre os atores é limitado, suportando apenas algumas estruturas de dados básicas do R. • É possível salvar o workspace do R em um ator para abrir nos seguintes, mas isto é muito demorado (cada workspace pode ter muitos megabytes). Além disso, perde a idéia de orientação a objeto. Conclusão É viável a utilização do Kepler para bioinformática? Tendo em vista que a análise e processamento de dados de bioinformática requer muito recurso de hardware, esta solução seria muito ineficiente. Uma idéia por trás da programação visual é unir programas e dados heterogêneos, que não foram criados com a intenção de serem rodados por plataformas de programação visual. Seria possível programar em R de tal forma que fosse possível utilizar o Kepler, mas esta não é a solução para o nosso problema pois os pacotes de análise em R já foram criados. FIM Alunos André de Melo Folli Bruno Henrique Yoshimura Gustavo Andrade Nery Orientador Prof. Dr. Roberto Hirata