[Estudo de caso] Ferramentas Open Source tem sido um caso de sucesso na Biotecnologia e Bioinformática
Este post tem por objetivo apresentar a importância de sistemas e de software de código aberto em uma área do conhecimento relativamente nova: a Bioinformática. A Bioinformática é uma área inter e multidisciplinar que envolve as áreas da Tecnologia da Informação como um todo e as áreas Biológicas como, por exemplo, ciências biológicas e Humanas (Medicina). Aqui nós queremos apresentar a conclusão de um trabalho em que Linux e os sistemas de código aberto foram importantes.
Introdução
Recentemente concluiu-se um trabalho de pesquisa na Universidade Federal de Viçosa-MG onde desenvolveram uma Data Warehouse baseada em conceitos e filosofias do código aberto.
A Data Warehouse é capaz de integrar dados relacionados a uma família de vírus que infectam plantas e que causam grandes impactos econômicos e sociais em diversos países no mundo todo. Eles utilizam algoritmos de aprendizado de máquina para classificar genomas (DNA) e genes (proteínas) desses vírus, afim de aumentar a confiabilidade desses dados, auxiliando pesquisadores nos estudos evolutivos, migratórios e taxonômicos.
Os dados Biogeográficos são importantes para conhecimento e controle de doenças bem como, para a segurança alimentar. Abaixo uns pequenos relatos de como os autores definiram a estrutura computacional dessa ferramenta.
Dois servidores cujos componentes foram adquiridos separadamente e montados na instituição.
Banco de dados:
Inicialmente o forma testados dois bancos de dados para modelar as tabelas em formato estrela, MySQL e MariaDB respectivamente. Atualmente estando utilizado o MySQL e testes estão sendo realizados com bases de dados não relacional Cassandra.
Bibliotecas de Machine Learning:
Os modelos de aprendizado de máquina foram construídos com a biblioteca Weka v3.8, que possui uma coleção de algoritmos de Machine Learning.
Data Warehouse:
A Geminivirus Data Warehouse foi desenvolvida na linguagem Java v8. O sistema foi projetado no padrão MVC, sistemas em 3 camadas (Model, View, Controller). Desenvolvimento da própria ETL [extração, transformação, carregamento na base de dados (Load)]. Os dados são armazenados em banco de dados MySQL server v.14.7 distr. 5.7.18.
Crontab:
Nós ajustamos o sistema para receber estímulos do sistema operacional para realizar as buscas automaticamente nas bases de interesse. Orgulhosamente nós utilizamos o sistema de agendamento de tarefas do Linux para iniciar o processo de coleta dos dados em horários estipulados. O módulo do sistema para busca de dados permanece "adormecido" até que o estímulo à Data Warehouse seja aplicado e inicie a tarefa de busca.
Servidor web:
Atualmente operando em GlassFish. Glassfish está licenciado em dois tipos de licença: Common Development and Distribution License (CDDL) e GNU General Public License (GPL), respectivamente. Atualmente testes estão sendo realizados Apache Tomcat e JBOSS server.
A Data Warehouse é capaz de integrar dados relacionados a uma família de vírus que infectam plantas e que causam grandes impactos econômicos e sociais em diversos países no mundo todo. Eles utilizam algoritmos de aprendizado de máquina para classificar genomas (DNA) e genes (proteínas) desses vírus, afim de aumentar a confiabilidade desses dados, auxiliando pesquisadores nos estudos evolutivos, migratórios e taxonômicos.
Os dados Biogeográficos são importantes para conhecimento e controle de doenças bem como, para a segurança alimentar. Abaixo uns pequenos relatos de como os autores definiram a estrutura computacional dessa ferramenta.
Hardware
O sistema computacional ainda conta com uma estrutura de cluster ainda modesto, com 3 servidores com as seguintes configurações. Também com finalidade de retenção de custos de investimento.Dois servidores cujos componentes foram adquiridos separadamente e montados na instituição.
- Chassis Server Intel p4308xxmhgc 4u Para Placas S2400 S2600 com 2 fontes 750 w (redundante)
- 2 processadores Intel(R) Xeon(R) CPU E5-2650 v2 @ 2.60GHz
- Motherboard Server Intel DBS2600CP2
- 512 Gb de memória
- 4 HD SSD 1 TB 2.5 SAMSUNG
Softwares
O sistema operacional utilizado é o CentOS, customizado na versão para cluster de computadores HPC, na distribuição Rocks Cluster, incluindo sistema de proteção por meio de firewall iptables, nativo em sistemas Linux.Banco de dados:
Inicialmente o forma testados dois bancos de dados para modelar as tabelas em formato estrela, MySQL e MariaDB respectivamente. Atualmente estando utilizado o MySQL e testes estão sendo realizados com bases de dados não relacional Cassandra.
Bibliotecas de Machine Learning:
Os modelos de aprendizado de máquina foram construídos com a biblioteca Weka v3.8, que possui uma coleção de algoritmos de Machine Learning.
Weka is open source software issued under the GNU General Public License.Neste trabalho foram utilizados os algoritmos Randon Forest (árvore de decisão), Multilayer Perceptron (redes neurais) e SVM (maquina de vetor de suporte).
Data Warehouse:
A Geminivirus Data Warehouse foi desenvolvida na linguagem Java v8. O sistema foi projetado no padrão MVC, sistemas em 3 camadas (Model, View, Controller). Desenvolvimento da própria ETL [extração, transformação, carregamento na base de dados (Load)]. Os dados são armazenados em banco de dados MySQL server v.14.7 distr. 5.7.18.
Crontab:
Nós ajustamos o sistema para receber estímulos do sistema operacional para realizar as buscas automaticamente nas bases de interesse. Orgulhosamente nós utilizamos o sistema de agendamento de tarefas do Linux para iniciar o processo de coleta dos dados em horários estipulados. O módulo do sistema para busca de dados permanece "adormecido" até que o estímulo à Data Warehouse seja aplicado e inicie a tarefa de busca.
Servidor web:
Atualmente operando em GlassFish. Glassfish está licenciado em dois tipos de licença: Common Development and Distribution License (CDDL) e GNU General Public License (GPL), respectivamente. Atualmente testes estão sendo realizados Apache Tomcat e JBOSS server.