[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.

[ Hits: 4.083 ]

Por: José Cleydson Ferreira da Silva em 24/06/2017


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.

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.

Considerações finais

O Geminivirus Data Warehouse é uma database de importância científica, econômica que foi construído e mantido em funcionamento com tecnologias open source. Além disso é enriquecido com métodos de aprendizado de máquina usando bibliotecas open source. O sistema é alimentado de forma autônoma por meio, de estímulos aplicados pelo sistema operacional por meio do crontab. O GeminivirusDW é livremente disponível para acesso no endereço www.geminivirus.org.

Sobre o trabalho

A Data Warehouse foi desenvolvida pelo Laboratório de Biologia Molecular de Plantas coordenado pela Professora Elizabeth Fontes, na Universidade Federal de Viçosa/MG. Projetado e desenvolvido por José Cleydson F. Silva com assistência de Thales Motta e demais colaboradores e supervisão da Prof. Elizabeth Fontes.

Referência

A metodologia completa pode ser vista na revista BMC Bioinformatics.

   

Páginas do artigo
   1. Introdução
Outros artigos deste autor

Implementando servidor web Java com Tomcat no Linux

Compiz - Janelas à 360 graus no Linux

Compiz e as estações do ano

Bioinformática - Clustalw-MPI: Análise Filogenética utilizando computação paralela e distribuída

Cadê o cubo?

Leitura recomendada

Bill Gates e Linux

Sorteio de camisetas promovido pela GeekWorld

Porque os projetos open-source não são anunciados na mídia?

Uma "fábula" sobre acessar e mapear unidades de rede do Windows no Linux

Certificações Novell para Linux

  
Comentários
[1] Comentário enviado por fabio em 24/06/2017 - 04:43h

Parabéns pelo projeto, muito legal!

[2] Comentário enviado por cleysinhonv em 24/06/2017 - 10:31h

Oi Fábio,
Agradecemos a oportunidade de apresentar esse projeto no viva o linux. Acredito que essa é uma maneira madura fomentar o uso de softwares livres. Esperamos tão logo postar outros casos de sucesso e maneira na prática de como implementamos isso.
Um forte abraço!

[3] Comentário enviado por hrcerq em 24/06/2017 - 15:25h

Muito legal esse relato. O artigo só me deixou com uma dúvida: o processo de ETL foi construído do zero, diretamente em código Java? Usaram algum framework? Pergunto isso porque já existem ferramentas de ETL de código aberto bastante maduras e funcionais como Pentaho Data Integration (também conhecido como Kettle), Talend Open Studio e CloverETL, que reduzem bastante o tempo de construção do processo e permitem maior governança sobre ele.

Estive trabalhando também em uma implementação de Data Warehouse usando software livre. O Data Warehouse em PostgreSQL, o processo de ETL construído com Pentaho Data Integration (e também automatizado pelo crontab), e a construção e apresentação de painéis interativos com o Community Dashboard Editor (CDE), um plugin do Pentaho BA Server.

---

Atenciosamente,
Hugo Cerqueira

[4] Comentário enviado por cleysinhonv em 24/06/2017 - 15:43h

Oi,
Sim o nosso ETL foi construído do zero. Nós optamos por construir por que esse módulo está acoplado diretamente no sistema. Muito importante também é nós temos regras específicas nas sequências de DNA que essas ferramentas não nos atenderiam. O critério de entrada das informações no data warehouse é extremamente dependente da qualidade do DNA. Os filtros nos proporcionaram isso, mas modelos de apredizado de máquina também são utilizados.
Você pode ver o algoritmo aqui: https://bmcbioinformatics.biomedcentral.com/track/pdf/10.1186/s12859-017-1646-4?site=bmcbioinformati...

[5] Comentário enviado por brater em 25/06/2017 - 11:21h

Parabéns !

[6] Comentário enviado por luiztux em 27/06/2017 - 08:51h

Parabéns pelo projeto. =]

-----------------------------------''----------------------------------

Larry, The Cow, uses Gentoo GNU/Linux

^__^
(oo)
(__)

"If it moves, compile it."


[7] Comentário enviado por lestatwa em 07/07/2017 - 10:52h

Como pesquisador de machine learning que, volte e meia, visita o site, posso contribuir com algumas informações. Primeiro, ninguém mais usa o Weka. Software super defasado escrito em Java que perde em performance para o scikit, que roda em python. Se manter Java for um requisito, existem outros frameworks, como MoA e SAMOA, que são melhores. Outra informação importante é que se vocês estão minerando um fluxo continuo de dados, estão fazendo errado, pois os modelos gerados pelo Weka não são adaptativos. Isso quer dizer que a cada novo batch de dados que chega, um novo modelo é gerado. Segundo ponto é referente a escolha dos algoritmos. Por que um ensemble e dois classificadores ordinários? Não se pode comparar bananas com maças.
Terceiro ponto, pela minha experiencia, em bases médicas quase 100% das vezes existe problemas de desbalanceamento. Isto esta sendo tratado adequadamente? Como estão avaliando os experimentos?
Para finalizar, visto que a base deste projeto é o machine learning, tem muita coisa ai pra melhorar amigo! Temos uma maquina similar rodando a alguns (muitos) anos aqui na PUCPR, com a diferença que aqui trabalha-se com mais de 190 núcleos. Se precisar de consultoria, posso ajudar!
Abraço!

[8] Comentário enviado por cleysinhonv em 07/07/2017 - 13:10h

Olá Luis Eduardo Boiko Ferreira,
Obrigado pelo "feedback", afirmo que são importantes e respeitosamente agradeço por dedicar um bom tempo para realiza-lo. Acredito que também posso contribuir limitadamente com algumas poucas informações:
Não encontrei no site official do projeto weka (http://www.cs.waikato.ac.nz/ml/weka/) que ele tenha sido abandonado, certamente os autores além de alguns desavisados e outras pessoas devem utilizá-lo. Rapidamente em uma busca por citações do artigo original do weka me deparei com 14581 citações, sendo 965 delas em 2017 e o livro texto citado 30967 vezes. Imagino, que muitas citações são méritos do trabalho realizado.

Certamente as ferramentas MoA e SAMOA devem ser equivalentes ou superiores, mas não encontrei artigos científicos que elucidasse tal comparação. Concordo que fluxo contínuo de dados é importante, certamente poderá auxiliar quando terminar sua pesquisa (Mineração de fluxos de dados desbalanceados). Todos os seus questionamentos podem ser respondidos no paper publicado e rigorosamente revisado pela BMC Bioinformatics, pode ser acessível na referência do artigo ao qual estamos comentando.

Nossa infraestrutura é modesta comparada com muitas outras, aqui (neste post) nos apresentamos nosso ambiente de desenvolvimento/teste que soma 64 cores e 1TB de memoria, aproximadamente 1/3 de 190 cores. Por aqui agente tem um pouquinho mais de cores, por gentileza verique aqui (http://www.dct.ufv.br/?page_id=17), esse é o ambiente permanente produção. Existem outras grids conectadas a este em departamentos fisicamente distantes.
Você tem razão, tem muita coisa pra melhorar amigo.

Obrigado pelos comentários!

[9] Comentário enviado por lestatwa em 11/07/2017 - 09:28h

O weka Ainda eh bastante usado para pesquisas na saúde e outras áreas aonde não eh necessário um profundo conhecimento de machine learning. Weka, além de outras coisas, ajudou a trazer uma ma fama pra área de machine learning, pois criou o estigma do "apertador de botões".
Tive acesso ao artigo, porém só depois vi que não foi publicado em um congresso ou journal da área de ML (não está na lista atualizada do qualis da área ), logo, a revisão não pegou tão pesado neste quesito, portanto, a menos que vc queira se aprofundar mais, pode desconsiderar meus comentários.
Para publicar em um evento de ML, tudo teria que estar bem mais justificado! E não simplesmente dizer que "a gente fez isso usando o weka e o resultado foi este".
Desculpe a confusão! Abraço!

[10] Comentário enviado por cleysinhonv em 11/07/2017 - 10:20h

Olá Luis Eduardo,
De fato o weka ainda é muito utilizado. Acredito que é o mais popular por que possui um elevado número de implementação de algoritmos de aprendizado de máquina. Outro fato interessante é que um analista de dados pode usar esse tipo de ferramenta com interesse na análise de dados e não necessariamente precisa ser um programador ou "ciêntista da computação" ou informata. O bom pesquisador torna sua pesquisa acessível ao publico alvo, ao contrario disso não haveria necessidade de se investir em pesquisa. Um estatistico não precisa saber programar um computador, mas conhecer os conceitos e utilizar as ferramentas como auxilio em tomadas de decisão.

Entendo que o qualis da CAPES possa ser difícil de consultar, no entretanto pode ter havido engano que a revista não é da área de computação, que não possua QUALIS e que não é adequadamente revisada. Ao consultar facilmente/novamente o qualis atualizado (https://sucupira.capes.gov.br) usando o ISSN 1471-2105, vejo que a revista BMC Bioinformatics é classificada com maior qualidade A1 em ciência da computação com fator de impacto 2.448, maior que muitas revistas da área de computação e informática. Veja abaixo:
1471-2105 BMC BIOINFORMATICS CIÊNCIA DA COMPUTAÇÃO A1

Uma boa pesquisa não se restringe ao QUALIS mas ao fator de impacto. QUALIS é um "padrão brasileiro de qualidade", ao passo que o fator de impacto é uma medida que reflete o número médio de citações de artigos científicos publicados em determinado periódico. Logo a importancia do trabalho. Revistas científicas são mais importantes que eventos de qual quer natureza, por que eventos são limitados a um grupo de pessoas e as revistas online não possuem limites de acesso, hora ou local. Além de exigências, critérios e revisão por parte de quem entende do assunto.

De fato, aprofundar mais deve ser um exercicio constante na ciência por que muitas perguntas ainda precisam ser respondidas e melhor elaboradas. Sem dúvida seus comentários mesmo sendo respondidos não devem ser ignorados.
Um abraço!


[11] Comentário enviado por iagowings em 12/07/2017 - 00:44h

Olá, seu projeto é muito interessante... pretendo inscrever um projeto ano que vem com alguns propositos parecidos em termos de Machine Learning. Irei usar Python e outros recursos interessantes, que tal trocarmos informações por email?
Meu projeto é sobre genética e eu tenho muito interesse em aprofundar em assuntos como esse... é lindo isso!

Envie um email para: [email protected]

[12] Comentário enviado por cleysinhonv em 12/07/2017 - 10:12h

Olá Iago,
Disponha-se no que precisar a respeito desse projeto ou sobre o assunto que aqui é abordado. A aplicação dessas técnicas em genética esta sendo uma tendência e oportunidade de realizar novas descobertas biológicas.
Deixo aqui também o meu contato: [email protected]


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts