Vigilância Epidemiológica na Unidade de Emergência do Agreste

Resumo:

É muito comum em ambientes hospitalares a presença de microorganismos capazes de causar danos a saúde, dentre eles podemos destacar as bactérias. Para se combater uma bactéria é necessário obter conhecimento sobre seus sintomas, situação de contágio e antibióticos. O tempo também é fator determinante neste intento, pois, quanto mais rápido forem coletadas estas informações, mais chances o paciente tem de cura.
Analisando esta necessidade, resolvemos criar uma aplicação que se utiliza da análise do DNA das bactérias para localizar em um banco de dados bactérias semelhantes, e retornar o resultados ao especialista, de maneira eficiente e eficaz, auxiliando assim o seu trabalho.
Foi desenvolvido uma adaptação do algoritmo de alinhamento de seqüências de DNA - Blast (Basic Local Alignment and Search Tool) aliada à algoritmos desenvolvidos neste projeto utilizando linguagem de programação Java, logo foi possível localizar e extrair informações de bancos de dados de DNA de bactérias, e retornar resultados úteis aos profissionais especializados em análise de DNA. Devido ao alto custo computacional do algoritmo BLAST no alinhamento das seqüências armazenadas no banco de dados, este projeto utilizou a mais recente e promissora tecnologia da área de sistemas distribuídos, o Grid Computacional, que consiste em utilizar o processamento ocioso de máquinas em rede para potencializar e agilizar o processamento de informações de um programa.
Nos testes de validação dos algoritmos desenvolvidos conseguimos melhorar a performance de execução do BLAST utilizando o Grid, demonstrando, em certos casos, uma eficiência superior a 50% em relação ao tempo de alinhamento em uma máquina local, tornando viável o uso do BLAST em uma grande base de DNA sem a necessidade de usar soluções custosas como um Cluster ou Supercomputadores. Logo, permitiu a este projeto auxiliar de maneira eficiente os profissionais da área de saúde na análise de DNA bacteriano a um baixo custo financeiro.

Metodologia:

Este projeto foi desenvolvido utilizando linguagem de programação JAVA (JDK 1.6.0_03). O Grid Computacional utilizado foi o OurGrid 3.3.1 da universidade Federal de Campina Grande.
Os computadores utilizados nos testes de validação dos algoritmos desenvolvidos foram:
Testes locais: Pentium IV 3.0, 1 Gbyte de memória RAM e sistema operacional GNU/Linux Debian.
Testes no Grid: 5 máquinas Pentium IV 3.0, 512 Mbyte de memória RAM e sistema operacional GNU/Linux Debian.
Foi desenvolvido um algoritmo para integrar a aplicação Blastn do NCBI(www.ncbi.nlm.nih.gov) ao OurGrid. Além disso, este algoritmo permitiu abstrair as complexidades do OurGrid ao usuário.
Foi desenvolvido um algoritmo de recuperação e compactação das sequências do banco de dados para reduzir a latência da rede provocada pelo grande numero de sequências que devem ser transferidas para o Grid Assim, somente pacotes compactados são transferidos para o Grid. A quantidade de sequências que compõem um pacote é definido pelo usuário.
O Grid processa as informações e provém um retorno das informações processadas pela aplicação blastn essa informação é reunida em um vetor ordenado que contem as informações das sequências de maior nível de similaridade em relação à sequência base, essa informação é então retornada ao portal WEB em forma de interface amigável ao usuário.

Resultados e Discussões:

O resultado da aplicação blastn é transposto em um arquivo de texto, deste arquivo são extraídos os valores, Score, valor este que determina o nível de similaridade entre as sequências; de maneira que quanto menos a numeração mais similar é a sequência em relação à sequência base, Expect, o blast se utiliza de dados estatísticos para dizer se este alinhamento é uma coincidência ou não, este valor está representado no Expect, Identities, representa a quantidade de caracteres iguais e a porcentagem de similaridade entre eles, Strand, diz se a comparação foi direta ou invertida, e por último ele apresenta o trecho da sequência que é similar entre Query(Seqência Base) e Sbjct(Sequência Alvo), essas informações são extraídas pelo algoritmo e enviadas ao servidor WEB para análise, do profissional especialista.
Nos testes realizados, o Grid demonstrou alta eficiência em relação à aplicação local, o uso do Grid potencializou em até 50% o tempo de processamento, como pode ser visto na tabela abaixo, o uso do algoritmo BLAST para o alinhamento das sequências do banco.

Seqüências Local (s) Desvio Padrão(s) GC (s) Desvio Padrão(s)
3000 37,051 0,1666 17,967 0,3322
5000 61,793 0,1813 25,916 0,3382
10000 127,102 0,6938 49,32 0,8893

O uso do algortimo de recuperação e compactação das sequências demonstrou alta eficiência. A compactação dos arquivos diminuiu em 65% o tamanho dos dados, e mesmo com o ônus de tempo para compactar e descompactar as sequências, houve ganho de tempo no processamento final da aplicação, pois com a compactação o transporte dos dados para as máquinas do Grid foi mais rápido do que quando as sequências não foram compactadas.

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License