Successfully reported this slideshow.

Linguagem de programação darwin

1,053 views

Published on

Published in: Technology, News & Politics
  • Be the first to comment

Linguagem de programação darwin

  1. 1. Linguagem de programação Darwin.
  2. 2. Índice • O que é Bioinformática? • O que é a linguagem de programação LUA? • O que é o projeto Linux? • Problema. • Objetivo geral. • Objetivos específicos. • Referências
  3. 3. Bioinformática • A Bioinformática combina conhecimentos de química, física, biologia, ciência da computação, informática e matemática/estatística para processar dados biológicos ou biomédicos. • Buscando tratar os dados, é necessário desenvolver softwares para, por exemplo: identificar genes, prever a configuração tridimensional de proteínas, identificar inibidores de enzimas, organizar e relacionar informação biológica, simular células, agrupar proteínas homólogas, montar árvores filogenéticas, comparar múltiplas comunidades microbianas por construção de bibliotecas genômicas, analisar experimentos de expressão gênica entre outras inúmeras aplicações.
  4. 4. Bioinformática • Screenshots para referência de resultados de processamento de dados por software de bioinformática.
  5. 5. Linguagem de programação LUA • Lua é uma linguagem de programação poderosa, rápida e leve, projetada para estender aplicações. • Lua combina sintaxe simples para programação procedural com poderosas construções para descrição de dados baseadas em tabelas associativas e semântica extensível. Lua é tipada dinamicamente, é interpretada a partir de bytecodes para uma máquina virtual baseada em registradores, e tem gerenciamento automático de memória com coleta de lixo incremental. Essas características fazem de Lua uma linguagem ideal para configuração, automação (scripting) e prototipagem rápida.
  6. 6. Linguagem de programação LUA. • Lua é usada em muitas aplicações industriais (e.g., Adobe's Photoshop Lightroom), com ênfase em sistemas embutidos (e.g., o middleware Ginga para TV digital) e jogos (e.g., World of Warcraft). Lua é atualmente a linguagem de script mais usada em jogos.
  7. 7. Linux • O linux é o termo utilizado para designar qualquer sistema operacional que utilize núcleo Linux. • Construído sobre GPL, permite uma maior liberdade para a pessoa utilizar, estudar, modificar e distribuir softwares baseados nesse tipo de licença. • O Linux utiliza núcleo monolítico, o que permite uma maior velocidade de execução das tarefas, apesar da desvantagem de qualquer erro no núcleo ser geralmente fatal para todo o sistema. • Sistemas Linux são famosos por sua robustez e segurança, devido a sua arquitetura.
  8. 8. Problema • Os softwares para bioinformática necessitam de um rápido processamento e um alto grau de robustez. • A linguagem de programação C/C++, cumpre seu papel de alto desempenho na maior parte das funções de software necessárias a área de bioinformática, porém não provê uma boa robustez como a linguagem Java, devido a filosófia adotada de não existir uma melhor maneira para se resolver tudo, então o programador é quem deve cuidar de certas particularidades, como por exemplo o gerenciamento de memória, ao contrário de Java que por sua vez perde em desempenho para a linguagem C/C++ na maior parte das funções de software necessárias a área de bioinformática, devido a sua arquitetura, mas permite um alto grau de robustez como por exemplo o gerenciamento automático de memória.
  9. 9. Problema • Como podemos ver no benchmark abaixo: Speed Neighbor-Joining in seconds: This program reads DNA sequences from a FASTA file and infers an NJ tree. The tree is printed to the standard output in the newick format.
  10. 10. Problema • O problema é a falta de uma tecnologia ou um conjunto de tecnologias (Sistema) voltada especifícamente ao desenvolvimento de software de bioinformática, buscando potencializar ao máximo a capacidade de construção e execução sem erros do referido tipo de software, o que se aproxima da idéia de linguagem de domínio específico, ou seja, linguagem que tem como propósito a solução de problemas específicos. Exemplo de softwares de domínio específico: • Linguagem de programação “Logo” para desenvolvimento de software para crianças. • Linguagens de programação “Verilog”, “R” e “S” para desenvolvimento de softwares de estatística. • Linguagem de programação “Mata” para programação de matrizes.
  11. 11. Objetivo Geral • Propor o desenvolvimento de uma tecnologia que possiblite a programação de software para bioinformática que ofereça alto grau de robustez, facilidade, flexibilidade e alto desempenho no desenvolvimento, teste e execução de software para bioinformática.
  12. 12. Objetivos Específicos • Implementar paradigma de orientação a objetos. • Possuir suporte nativo a linguagem de programação Lua, para facilitar a integração do software com outras tecnologias. • Gerenciamento automático de memória e desalocação manual. • Reduzir número de bugs e tempo de desenvolvimento. • Ser compatível com API C/C++. • Reduzir o tempo de criação de documentação. • Ter alto desempenho. • Ser fácil. • Possuir sintaxe semelhante a linguagem Lua.
  13. 13. Justificativa • O presente trabalho se mostra relevante, diante do crescimento da área de bioinformática no mundo e o crescimento do Brasil como um centro de ciência e pesquisa. • O trabalho e seu resultado deve ser utilizador por estudantes, pesquisadores e profissionais para o desenvolvimento de tecnologia em bioinformática, que se beneficiarão das qualidades do projeto proposto para ajudar a implementar suas idéias, assim como a economia da região que deve se beneficiar do avanço promovido pela tecnologia proposta por esse trabalho.
  14. 14. Referências • Vogt, Carlos, Bioinformática, genes e inovação, Revista ComCiência 08/2003. • Fontoura Costa, Luciono, Bioinformatics: perspectives for the future, Genet. Mol. Res. 3 (4): 564-574 (2004). • Language Benchmarks. Disponível em < http://www.bioinformatics.org/benchmark/results.html> . Acesso em: 11/09/2010. • Linguagem de programação LUA. Disponível em < http://www.lua.org/ >. Acesso em: 11/09/2010.

×