algumas pesquisas em bancos de dados e bioinformatica - sergio Lifschit

download algumas pesquisas em bancos de dados e bioinformatica - sergio Lifschit

of 7

Transcript of algumas pesquisas em bancos de dados e bioinformatica - sergio Lifschit

  • 8/19/2019 algumas pesquisas em bancos de dados e bioinformatica - sergio Lifschit

    1/15

    Algumas Pesquisas em Bancos de Dados e Bioinform ática

    Sérgio Lifschitz 1

    1

    Departamento de Inform´ aticaPontifı́cia Universidade Cat´ olica do Rio de Janeiro (PUC-Rio)

    [email protected]

    Resumo. As pesquisas na ´ area de biologia v ˆ em produzindo um grande volumede dados e estes precisam ser bem organizados e estruturados para serem de- pois gerenciados e acessados pelos usu ´ arios potenciais. Em particular, o ge-renciamento ecaz e eciente dos dados envolvidos faz com que as pesquisasem bancos de dados ganhem novos rumos e aplicaç ˜ oes. Desde a modelageme construç ˜ ao de bancos de dados at ´ e o processamento eciente de consultas,

    passando pela integraç ˜ ao de dados, v ´ arios s ˜ ao os trabalhos em andamento,com alguns bons resultados j ´ a comprovados. Nesse artigo, busca-se listar al-gumas das oportunidades de pesquisa em bancos de dados relacionadas com abioinform ´ atica. Destaque ´ e dado aos trabalhos realizados no Departamento de Inform ´ atica da PUC-Rio.

    1. Introduç ˜ ao

    A área de bioinform´ atica vem atraindo bastante interesse de pesquisadores de origensdiversas, incluindo naturalmente aqueles da ciˆ encia da computaç˜ ao. N ão somente busca-se aplicar resultados conhecidos de outros domı́nios em bioinform´ atica, como tamb´ em há

    o surgimento de novas demandas em computaç˜ ao.Projetos que visam seq¨ uenciar o genoma de v´ arias esp écies t êm gerado grande

    quantidade de informaç˜ oes. As seq üências obtidas s˜ao representadas por longas cadeiasde caracteres. Essas tˆ em sido armazenadas em bancos de dados, n˜ ao necessariamentecontrolados por um Sistema Gerenciador de Bancos de Dados (SGBD), j´ a que t êm au-mentado consideravelmente de volume nos ´ ultimos anos, devido ao grande interesse noconhecimento do genoma e ` as novas tecnologias sendo disponibilizadas.

    Apenas para citar uns exemplos, o projeto Genoma Humano engloba trˆ es bilh õesde pares de bases para cada individuo, n˜ ao incluı́das aı́ as anotaç˜ oes. Se h á alguma d úvidade que o problema de banco de dados existe, seguem alguns fatos: a base EMBL cont´ em

    algumas centenas de gigabytes, com crescimento que signica quadruplicar de tamanhoa cada ano em termos de n´ umero de seq¨uências. No Sanger Center j´ a existem algumasdezenas de terabytes ao todo, e com as pesquisas em micro-arrays , existe a expectativa decrescimento de volume de dados da ordem de 1 petabyte por ano.

    Apesar do r ápido crescimento dos dados genˆ omicos, a velocidade na qual osusuários conseguem interpretar estes dados ainda ´ e insatisfat´oria, exigindo mecanismos

    1

  • 8/19/2019 algumas pesquisas em bancos de dados e bioinformatica - sergio Lifschit

    2/15

    ecientes de armazenamento e an´ alise. Muitas das pesquisas nesta ´ area s ão apoiadascomputacionalmente atrav´ es da utilizaç˜ao de bancos de dados de biologia molecular e dediversos algoritmos de comparaç˜ ao e análise dos dados genˆ omicos.

    Um dos problemas atuais desta ´ area ocorre devido ` a inexist ência de um SistemaGerenciador de Bancos de Dados (SGBD) especı́co para aplicaç˜ oes de Bioinform´ atica.A maioria das ferramentas criadas acessam dados diretamente de arquivos textos oubinários, sem a utilizaç˜ ao de um SGBD, o que os impede de beneciar-se de mecanis-mos ecazes de armazenamento, acesso eciente a disco e gerenciamento inteligente damem ória, entre outros.

    Embora t écnicas de sistemas de bancos de dados tenham sido pouco utilizadas notratamento e manipulaç˜ ao de bases de dados de biologia molecular, alguns trabalhos queempregam conceitos de bancos de dados, como deniç˜ oes de modelos de dados e geraç˜ aode ı́ndices tˆem surgido. J´a há pesquisas em integraç˜ ao de fontes de dados, armazenamentoespecı́co para dados ditos cientı́cos, linguagens de acesso aos dados, modelos de ban-

    cos de dados ad-hoc e evoluç˜ ao de esquemas, al´ em de transaç˜oes e sistemas de work- ow (ex.: [Davidson et al. 1995, Bornberg-Bauer and Paton 2002, Buneman et al. 2004,Lemos 2004, Cavalcanti et al. 2005]).

    É fato que existem hoje em dia v´ arios trabalhos com foco em bancos de dadose aplicaç ões em bioinform´ atica. Dado que essa ´ area é vasta e din âmica, com o termobioinform´atica sendo bem abrangente, n˜ ao é possı́vel listar por completo todas as linhase grupos de pesquisa relevantes no Brasil e no mundo. Al´ em do mais, n˜ao é objetivodesse trabalho descrever o estado da arte em pesquisas relacionando bancos de dados ebioinform´atica, inclusive por limitaç˜ oes de espaço.

    Assim, pretende-se neste artigo listar alguns alguns dos principais t ´ opicos de pes-quisa no domı́nio de bancos de dados relacionadas ` as oportunidades de aplicaç˜ oes embioinform´atica. Inicialmente s˜ ao descritos aspectos do contexto de sistemas de bancosde dados, caracterı́sticas de dados biol ´ ogicos e uso de SGBDs na ´ area. Em um segundomomento, os trabalhos que vem sendo realizados no Departamento de Inform´ atica daPUC-Rio s˜ao explicados com mais detalhes. O artigo se encerra com observaç˜ oes sobretrabalhos em andamento e oportunidades futuras.

    2. Contexto de Bancos de Dados e Bioinform áticaA bioinform´atica objetiva, entre outros, o gerenciamento e an´ alise dos dados biol´ ogicosusando t écnicas avançadas de computaç˜ ao, especialmente importantes na an´ alise dos da-

    dos sobre pesquisa do genoma. Os cientistas s˜ ao auxiliados na criaç˜ ao e manutenç˜ao debancos de dados para armazenamento das informaç˜ oes biol ógicas sobre seq¨uencias deDNA, sı́ntese de RNA e geraç˜ ao de proteı́nas. Por´ em, avanços metodol ´ ogicos na an´alisede dados s ão necess ários para transformar t´ ecnicas experimentais - ex.: microscopia mo-derna, nanotecnologia - em conhecimento.

    Neste contexto, t´ ecnicas para gerenciamento de dados possuem um papel funda-

    2

  • 8/19/2019 algumas pesquisas em bancos de dados e bioinformatica - sergio Lifschit

    3/15

    mental para o desenvolvimento de aplicaç˜ oes biol ógicas porque elas fornecem abstraç˜ oesadequadas para projetar, acessar e gerenciar os dados. Cabe observar que as t ´ ecnicasde gerenciamento de dados tradicionais podem n˜ ao ser adequadas para lidar com dadosbiol ógicos.

    A comunidade de banco de dados tem estudando esses problemas e um grandeesforço tem sido feito neste sentido, tentando propor ferramentas adequadas ao domı́nio.A maioria dos trabalhos em gerenciamento de dados para ciˆ encias da vida, apresentadosna literatura, tem se focado na integraç˜ ao de dados biol´ogicos. Pouca atenç˜ ao tem sidodada na representaç˜ ao e manipulaç˜ ao de dados biol´ogicos, no problema da persistˆ enciade dados e estruturas de acesso ecientes, entre outras quest˜ oes pertinentes `as pesquisasna área de bancos de dados.

    Sistemas de Informaç ˜ ao e Bancos de DadosUm sistema de banco de dados ´ e tipicamente parte de um sistema de informaç˜ ao, o qualinclui todos os componentes que s˜ ao envolvidos na organizaç˜ ao dos recursos. Esses in-cluem os pr óprios dados, o software do SGBD, o hardware do sistema, a mı́dia de arma-zenamento e os aplicativos que acessam e atualizam os dados. Desta forma, o sistemade banco de dados ´e parte importante da organizaç˜ ao de um sistema de informaç˜ ao. Poristo, o ciclo de vida um sistema de informaç˜ ao deve tamb´em incluir o ciclo de vida de umbanco de dados.

    Um banco de dados pode ser denido como uma coleç˜ ao compartilhada de da-dos logicamente relacionados, projetado para atender as necessidades de informaç˜ ao demúltiplos usu´arios em uma organizaç˜ ao. Os banco de dados armazenam dados relativos aum domı́nio particular e representam algum aspecto do mundo real, chamado de Universode Discurso (UoD), o qual deve ser mantido consistente dentro do banco de dados.

    Um sistema gerenciador de banco de dados (SGBD) ´ e uma coleç˜ao de compo-nentes de software para criar, gerenciar e consultar um banco de dados. Um SGBD podeconter diversos bancos de dados, e cada um deles pode ter um administrador de banco dedados diferente (DBA - database administrator ).

    O processo de criaç˜ ao de um banco de dados se inicia com a an´ alise de quaisinformaç˜oes o banco de dados deve representar. Em seguida, a estrutura do banco dedados deve ser especicada atrav´ es da declaraç˜ao de tipos de dados, relacionamentosentre as informaç˜ oes, e restriç˜oes que devem ser mantidas para qualquer instˆ ancia.

    Depois, é preciso popular o banco de dados em alguma mı́dia para armazena-

    mento que é controlada pelo SGBD. Ent˜ ao pode-se manipular o banco de dados usandooperaç ões, tais como: consultar o banco dados para buscar dados especı́cos, atualizar osdados para reetir mudanças do mundo real, e gerar relat´ orios a partir das informaç˜ oespresentes no banco de dados.

    O objetivo do projeto de um banco de dados ´ e especicar a estrutura l´ ogica e fı́sicade um ou mais banco de dados. Esta estrutura deve acomodar a informaç˜ ao necess ária

    3

  • 8/19/2019 algumas pesquisas em bancos de dados e bioinformatica - sergio Lifschit

    4/15

    para usu ários de uma organizaç˜ ao e um conjunto denido de aplicaç˜ oes. Esses objetivosnão são fáceis de se alcançar porque, enquanto o processo de projeto inicia com os requi-sitos denidos informalmente, o seu resultado deve ser um esquema de banco de dadosformal e bem denido. Al´ em disso, o processo de projeto envolve um balanceamento

    entre a compreens˜ ao do modelo e seu desempenho.

    Dados Biol ógicos

    A análise de seq üências atrav´es da comparaç˜ao de seq üências por similaridade, tornou-se uma das operaç ˜oes mais importantes na biologia computacional, cujos resultados d˜ aoorigem a novos tipos de dados biol´ ogicos, como as anotaç˜ oes, ou ainda s˜ao entradas paramuitas outras operaç ˜ oes mais elaboradas, como a busca de padr˜ oes.

    Na década de 90 surgiu a famı́lia de programas BLAST - Basic Local AlignmentSearch Tool - especializada no alinhamento e comparaç˜ ao entre biosseq¨uências. Os pro-gramas desta famı́lia s ˜ ao baseados em heurı́sticas, o que trouxe uma grande melhora nos

    tempos de respostas. Antes do BLAST, outros programas incluı́ram heurı́sticas para re-alizar comparaç˜ ao de biosseq¨uências, como a famı́lia de programas FASTA. A famı́liaFASTA apresenta maior precis˜ ao nos resultados, no entanto, a heurı́stica BLAST, por sermais r ápida, é a mais popular e largamente utilizada. Por esta raz˜ ao, melhoras nestasestrat égias, ou em estruturas do banco de dados, que facilitem a execuç˜ ao de buscas eanálises diversas s˜ao muito importantes.

    Outra tarefa essencial ´ e a interpretaç˜ao dos dados obtidos experimentalmente, bus-cando gerar conhecimento biol´ ogico a partir deles. Os pesquisadores fazem anotaç˜ oesmanuais de acordo com as informaç˜ oes da sua experimentaç˜ ao e podem tamb´em contarcom anotaç˜oes autom´aticas, resultantes da execuç˜ ao de programas de an´ alise.

    A escolha por SGBDs como meio para armazenar e gerenciar dados biol´ ogicospode ser vista como um caminho natural j´ a que, devido aos avanços da tecnologia, houveum aumento do volume de dados armazenados. A opç˜ ao pelo uso de arquivos texto emrelaç ão a outros modos de persistˆ encia, apresenta desvantagens exaustivamente discutidasna literatura.

    Realizar an´alise de dados biol´ogicos em bancos de dados simplica o gerencia-mento dos dados e minimiza o movimento dos mesmos dos discos para a mem´ oria, evice-versa, permitindo aplicaç˜ ao de ltros pr´evios e p ós-processamento de conjunto dedados. Al ém do fato de garantir um ambiente seguro e de alta disponibilidades para osdados.

    Utilizaç ˜ ao de SGBDs

    Alguns dos bancos de dados biol´ ogicos utilizam sistemas baseados no modelo relacio-nal, sistemas orientados a objetos ou ainda alguns gerenciadores especı́cos. No EMBL,SwissProt, TrEMBL, o SGBD Oracle foi adotado como reposit´ orio mas s ão utilizadosarquivos texto para troca de dados. Na maioria dos casos onde gerenciadores de banco

    4

  • 8/19/2019 algumas pesquisas em bancos de dados e bioinformatica - sergio Lifschit

    5/15

    de dados relacionais s˜ ao utilizados como reposit´ orios de seq üências (DNA ou proteı́nas),estas s ão armazenadas como cadeias de caracteres. Arquivos texto s˜ ao diretamente per-sistidos como objetos grandes, por exemplo, do tipo CLOB. Isto facilita a carga dos re-posit órios a partir de arquivos texto, por´ em o acesso aos dados ´ e limitado aos operadores

    tradicionais.O SGBD Oracle vers˜ ao 10g merece uma atenç˜ ao em particular devido ao grande

    número de funcionalidades incluı́das para facilitar o trabalho dos pesquisadores na ´ areade ciências da vida, principalmente no sentido de acesso a dados provenientes de diversasfontes, algo muito comum na biologia computacional. O Oracle 10g incorpora o BLASTcomo funç˜ao. Tamb ém consultas em linguagem SQL para pr´ e-ltrar as seq¨uências ouainda p ós-processar os resultados obtidos s ˜ ao permitidas.

    Outra estrat´egia semelhante foi colocada em pr´ atica utilizando o gerenciador dedados PostgreSQL. Esta implementaç˜ ao, chamada de BlastGres, tamb´ em incorpora o pro-grama BLAST ao gerenciador de banco de dados. Al´ em disto, foram criados novos tipos

    de dados para representar segmentos de seq¨ uência, em conjunto com um novo tipo deı́ndice para acelerar o acesso a uma regi˜ ao de uma seq¨uência e as propriedades corres-pondentes. No entanto, nesta abordagem as seq¨ uências s ão guardadas como cadeias decaracteres. A id´eia é representar um segmento de seq¨ uência com o tipo de dados range ,números indicando o inicio e m de um segmento de seq¨ uência, e um tipo location , ondeum valor de range é associado ao identicador de uma seq¨ uência, podendo ainda utilizarum ı́ndice para realizar a busca de uma regi ˜ ao de uma seq¨uência dada - o atributo do tipolocation .

    Outro exemplo de sucesso e bastante usado ´ e o sistema ACeDB. O ACeDB est´ abaseado no modelo orientado a objetos mas conta com um m´ odulo de gerenciamento

    de banco de dados, em um modelo exı́vel, projetado especicamente para manipularinformaç˜oes biol ógicas. No ACeDB (A Caenorhabditis elegans Data Base) s ão armaze-nados os resultados de projetos de sequenciamento e mapeamento de larga escala.

    O ACeDB representa internamente os dados em forma de ´ arvore, em formatobinário. A entrada e saı́da dos dados ´ e feita via arquivos texto denominados ACE les ,onde as informaç˜ oes são representadas de acordo com uma sintaxe especı́ca, semelhanteà XML. A base do AceDB ´ e utilizada para outras pesquisas, como ´ e o caso do TcruziDB,coordenado pelo DBBM da FIOCRUZ, Rio de Janeiro.

    3. Pesquisas com Ênfase em Bancos de Dados

    Nesta Seç˜ao são descritas brevemente algumas das pesquisas desenvolvidas no Depar-tamento de Inform´ atica da PUC-Rio envolvendo bancos de dados e bioinform´ atica. Ostemas s ão: ger ência de mem´oria principal e buffers, projeto de distribuiç˜ ao e alocaç˜aode dados, processamento paralelo, integraç˜ ao de fontes de dados e aplicaç˜ oes, e por m,modelos conceituais de dados.

    5

  • 8/19/2019 algumas pesquisas em bancos de dados e bioinformatica - sergio Lifschit

    6/15

    Ger ência de Mem óriaComo j á visto anteriormente, a famı́lia de programas BLAST ´ e a mais utilizada pelospesquisadores e existem diversos sı́tios WWW que disponibilizam os programas para osusuários, podendo ocorrer diversos acessos simultˆ aneos. Os programas de comparaç˜ ao debiosseq üências objetivam ser ao mesmo tempo r´ apidos e con´aveis. Como s˜ao largamenteusados, mesmo pequenas melhoras nestes podem trazer grandes benefı́cios.

    No caso, uma possı́vel melhora ´ e a inclus ão de um gerenciamento de buffer ade-quado, tornando mais r´ apidos seus tempos de execuç˜ ao. Uma estrat´egia de gerencia-mento de buffer para o BLAST foi publicada em [Lemos and Lifschitz 2003], sugerindoo uso de estruturas de armazenamento de seq¨ uências na mem´oria denominadas an´ eis. J áem [Lifschitz and Mauro 2005], sugere-se a implementaç˜ ao de uma arquitetura de driver para realizar este gerenciamento de buffer . Outros programas podem ser beneciados poressas t écnicas.

    Há dois modos de implementar o gerenciamento de buffer para o BLAST, demaneira intrusiva no c´ odigo e de maneira n˜ ao-intrusiva. A maneira intrusiva de imple-mentar é atrav és da substituiç˜ao, no c ódigo, de cada chamada ` as funç ões de leitura deseqüências por outras funç˜ oes que se comunicam com um processo que ir´ a realizar ogerenciamento de buffer. A maneira n˜ ao-intrusiva de implementar ´ e não modicando ocódigo do BLAST, o que pode ser feito atrav´ es da criaç ão de um driver que simule o fun-cionamento dos arquivos do banco de dados e realize ao mesmo tempo o gerenciamentode buffer .

    Aqui ser á descrito brevemente como se d´ a a implementaç˜ ao de maneira n˜ao-intrusiva atrav´ es de um driver [Noronha 2006]. Este ´ e um programa que possibilita acomunicaç˜ao de aplicativos com dispositivos de hardware e software , escondendo a ma-neira como ´e realizada a comunicaç˜ ao direta com os mesmos. O uso de um driver paraimplementar o gerenciamento de buffer para o BLAST traz grandes vantagens, pois elenão exige modicaç˜ oes no c ódigo fonte e pode ser utilizado para diferentes vers˜ oes doBLAST com poucas modicaç˜ oes (ou nenhuma) no c´ odigo do driver . Além disso, estaestrat égia de implementaç˜ ao é uma abordagem de bancos de dados, pois o driver podeser considerado um servidor de dados que realiza o gerenciamento de buffer .

    Em sistemas operacionais Linux, os drivers devem ser implementados comomódulos do kernel. Para implementar um driver que simula o comportamento de um ar-quivo, devem ser redenidas as funç˜ oes executadas em arquivos, como open, read, write,seek e close. A Figura 1 mostra a arquitetura do driver para o BLAST.

    Devido às limitaç ˜oes existentes para implementaç˜ oes de m ódulos do kernel,optou-se por criar um processo provedor, com o qual o processo do driver ir´ a se comuni-car, que acessar´a os arquivos do banco de dados e far´ a o gerenciamento de buffer. Comopode ser visto na Figura 1, os processos BLAST realizar˜ ao leituras dos falsos arquivos dobanco de dados, executando a funç˜ ao de leitura do driver, e informando deste modo quaispáginas desejam ler do banco de dados.

    6

  • 8/19/2019 algumas pesquisas em bancos de dados e bioinformatica - sergio Lifschit

    7/15

    Figura 1. Driver para Ger ência de Buffer

    O driver ir á comunicar-se com o processo provedor, enviando as novas requi-siç ões. O processo provedor possuir´ a os anéis de buffer, al ´em das posiç˜oes do arquivo deseqüências a partir das quais cada processo iniciou a leitura. Estas posiç˜ oes ser ão usadaspara o c álculo da posiç˜ao real do arquivo que ser´ a lida por cada processo quando esterequisitar novas p´ aginas, somando-se a posiç˜ ao da p ágina requisitada com a posiç˜ ao apartir da qual o processo iniciou a leitura. O processo provedor poder´ a acessar o banco dedados diretamente, e fornecer´ a ao driver as seq¨uências desejadas, lidas do banco ou dosanéis em mem´oria, ao executar a funç˜ ao de escrita do driver. Finalmente, ao receber osdados do provedor, o driver ir´ a envi á-los aos processos.

    Distribuiç ˜ ao e Paralelismo

    Como alternativa para obtenç˜ ao de melhor desempenho, a utilizaç˜ ao de ambientes parale-los para a resoluç˜ao de problemas complexos tˆ em sido amplamente estudada. Os avançosnas tecnologias de microcomputadores e de redes fez com que o emprego de m´ aquinas dearquitetura de mem´ oria distribuı́da se tornasse vi´ avel. Esse é o caso dos clusters de PCs ,que t êm sido cada vez mais utilizados, pois apresentam uma relaç˜ ao custo vs. desempenhobastante atrativa [Costa and Lifschitz 2003].

    A principal desvantagem na aplicaç˜ ao de m áquinas da arquitetura de mem´ oriadistribuı́da com relaç˜ ao a outras arquiteturas encontra-se na diculdade no equilı́brio decarga. Quando algum processador/disco ´ e mais freq üentemente acessado, este pode setornar um ponto de estrangulamento para todo o sistema. A realizaç˜ ao de alteraç ˜oes napolı́tica de distribuiç˜ ao de dados aos n ´os é uma possı́vel soluç˜ ao para este problema.

    Para a execuç˜ao do BLAST em m´ aquinas de mem´oria distribuı́da, uma primeira

    7

  • 8/19/2019 algumas pesquisas em bancos de dados e bioinformatica - sergio Lifschit

    8/15

    Nó Mestre Montagem da Saída

    Nó 1...

    Arquivo deSaída

    Nó Mestre Montagem da Saída

    Arquivo de EntradaSeqüência 1Seqüência 2

    ...Seqüência k

    Seqüência 1

    Seqüência 2...Seqüência i

    Resultados do BLAST

    Réplica 1

    Seqüência i+1

    Seqüência i+2...Seqüência j

    Seqüência l+1

    Seqüência l+2...

    Seqüência k

    Nó Mestre

    Nó 2

    Réplica 2

    Nó N

    Réplica N

    Nó 1...

    Arquivo de EntradaSeqüência 1Seqüência 2

    ...Seqüência k

    Seqüência 1

    Seqüência 2...Seqüência k

    Resultados do BLAST

    Fragmento 1

    Seqüência 1

    Seqüência 2...

    Seqüência k

    Seqüência 1

    Seqüência 2...

    Seqüência k

    Nó Mestre

    Nó 2

    Fragmento 2

    Nó N

    Fragment N

    (a) Esquema com Replicação da Base de Dados

    Arquivo deSaída

    (b) Esquema com Fragmentação da Base de Dados

    Figura 2. Esquemas de Distribuiç ˜ ao e Alocaç ˜ ao de Dados

    abordagem consiste na replicaç˜ ao da base de dados em todos os n´ os. Para este caso,apresentamos um esquema mestre-escravo, conforme apresentado na Figura 2(a). Asrequisiç˜oes (seq üências para comparaç˜ ao com a base de dados) s˜ ao submetidas ao n´ o quedesempenha o papel de mestre. Cada requisiç˜ ao recebida pelo n´o mestre pode conteruma ou mais seq¨uências. Em cada n´ o escravo existir´a uma r éplica de toda a base dedados. Al ém disso, os n´os escravos ter˜ao o algoritmo BLAST devidamente implementadoe congurado, pronto para execuç˜ ao. Assim, cada n´o escravo ter´a a possibilidade deexecutar a “operaç˜ ao de BLAST” sobre a base de dados local, independentemente dosoutros.

    O n ó mestre deve distribuir as seq¨ uências recebidas pelos diversos n´ os, alocando,assim, tarefas aos n´ os escravos. Esta alocaç˜ ao deve fazer com que a carga de trabalhode cada um dos n´os escravos seja semelhante. Para a distribuiç˜ ao de tarefas, adotaremos,inicialmente uma estrat´ egia circular semelhante a tradicional. Uma tarefa a ser atribuı́daa um n ó escravo é a de realizar a comparaç˜ ao de uma dada seq¨uência com a base dedados. Ap ós a distribuiç˜ao das seq üências pelos n´os escravos estes devem executar oBLAST para cada uma das seq¨ uências recebidas. V´ arios resultados ser˜ ao gerados. Cadaum deles dever´a ser remetido ao n´o mestre. Este receber´ a todos os resultados e montar´ aum resultado ´unico para a solicitaç˜ ao recebida.

    Para a execuç˜ao do BLAST, considerando um particionamento da base de dadoscom a devida alocaç˜ ao dos fragmentos pelos diversos n´ os, é proposto, tamb´ em, um es-quema mestre-escravo, apresentado na Figura 2(b). O n´ o mestre é o respons ável por rece-ber as requisiç˜oes e encaminh´a-las aos n ós escravos, os quais realizam o BLAST. Por´ em,nesta etapa, cada n´o escravo conter´a somente uma parte da base de dados e n˜ ao toda ela,como no caso anterior. A principal diculdade desta abordagem reside, justamente, na

    8

  • 8/19/2019 algumas pesquisas em bancos de dados e bioinformatica - sergio Lifschit

    9/15

    geraç ão dos fragmentos.

    Na distribuiç˜ao das tarefas surge outra diferença entre a estrat´ egia replicada ea fragmentada. Na estrat´ egia fragmentada, para completitude do resultado nal, cadaseqüência submetida ao n´ o mestre deve ser repassada a todos os n´ os escravos, para queo BLAST seja executado sobre toda a base de dados original. Ap´ os a realizaç˜ao doBLAST em cada n´ o, os resultados s˜ao enviados para o n´o mestre. Este ´e respons ávelpela montagem do resultado nal e apresentaç˜ ao ao usu ário. A montagem do resultadonal é mais uma etapa mais complexa para o caso com fragmentaç˜ ao da base de dados doque para o caso com replicaç˜ ao pois, no esquema com fragmentaç˜ ao, existir˜ao para cadaseqüência submetida, n resultados de BLAST, onde n vale o número de fragmentos dabase de dados.

    Vários testes foram realizados em um cluster de 32 PCs disponı́vel no Laborat ´ oriode Paralelismo da PUC-Rio. Trˆ es bases de dados foram utilizadas nos testes: Ecoli.aa ,SwissProt e nr . São vários os fatores que inuenciam no desempenho da implantaç˜ ao

    do algoritmo BLAST em m´ aquinas de mem´oria distribuı́da. O desvio de carga foi apre-sentado como um dos problemas a ser resolvido. Caracterı́sticas como similaridade dasseqüências de entrada com as da base de dados, comprimento das seq¨ uências de entradae das formadoras de fragmentos da bases de dados, entre outras, mostraram-se causado-ras de desvios. Diferentes propostas de correç˜ ao para os desvios podem ser consideradasem funç ão da forma de distribuiç˜ ao dos dados considerada. Maiores detalhes podem serobtidos em [Costa 2002].

    Integraç ˜ ao de Fontes de Dados e Aplicaç ˜ oes

    As principais ferramentas utilizadas pelos pesquisadores em biologia molecular s˜ ao asso-ciadas a dezenas de arquivos e bancos de dados p´ ublicos contendo informaç˜ oes relativasa sub-domı́nios especı́cos do conhecimento. Em muitos casos estas informaç˜ oes s ãoproduzidas por um ´ unico laborat´orio e suas informaç˜ oes s ão únicas, isto ´e, não est ãoreplicadas nos reposit´ orios p úblicos. Todas essas fontes de dados relevantes para os pes-quisadores contˆ em informaç˜oes biol ógicas (ex.: homologias, estrutura e similaridades) eans (ex.: anotaç ˜ oes relevantes e artigos cientı́cos.

    Em sua maioria estas fontes de dados diferem na forma de armazenamento de da-dos e nas informaç˜oes relevantes `a pesquisa. Tamb´ em est ão associadas a aplicativos quediferem nos serviços oferecidos: de visualizaç˜ ao dos dados, de busca, de alinhamentos, decomparaç˜ao de seq üências, entre outros. H´ a implementaç˜ oes de sistemas que armazenam

    informaç˜oes biol ógicas em arquivos texto (ex.: GenBank), em bancos de dados relacio-nais (ex.: Swiss-Prot) e em sistemas orientados a objetos persistentes (ex.: AceDB).

    No entanto, como a pesquisa na ´ area est á em constante evoluç˜ ao, h á a necessi-dade de alteraç˜ao dos esquemas j´ a implantados, sugerindo a adoç˜ ao de modelos de dadosmais exı́veis. Isto porque novas informaç ˜ oes biol ógicas surgem a cada momento e ´ efundamental que elas possam ser representadas nas fontes de dados existentes.

    9

  • 8/19/2019 algumas pesquisas em bancos de dados e bioinformatica - sergio Lifschit

    10/15

    Existem diferentes abordagens na literatura para tratar o problema de integraç˜ aode informaç˜oes de fontes de dados distribúıdas e heterogˆ eneas. A primeira trata daintegraç˜ao de bancos de dados atrav´ es de um Sistema Gerenciador de Bancos de DadosDistribuı́dos e Heterog ˆ eneos. Essa abordagem n˜ ao é adequada para integraç˜ ao de dados

    da biologia molecular pois as fontes de dados, em sua maioria, se constituem de arquivostexto, com alguma estruturaç˜ ao. Tamb´em, n ão existe um esquema global pactuado entreos diferentes laborat´ orios. Uma segunda abordagem lida com m´ ultiplas fontes de dadosvia Multidatabase . Essa proposta tamb´ em não é adequada pois as fontes de dados com-ponentes (locais) podem estar indisponı́veis no momento da consulta, al ´ em do problemade desempenho em ambientes distribúıdos. Outra abordagem usa a tecnologia de DataWarehouse , que implementa uma vis˜ ao materializada do esquema das fontes de dadoscomponentes da integraç˜ ao. Esta forma de integraç˜ ao tamb ém n ão atende à integraç˜aode informaç˜oes biol ógicas com relaç˜ ao à atualizaç˜ao dos esquemas e das instˆ ancias dedados.

    As limitaç˜oes das arquiteturas de integraç˜ ao existentes nos levaram a propor umaarquitetura de software baseada em um framework orientado a objetos, de forma a proverexibilidade e extensibilidade.

    Foi desenvolvida ent˜ ao a ferramenta Bio-AXS [Seibel and S.Lifschitz 2001].Trata-se de uma arquitetura exı́vel e extensı́vel que permite aos usu´ arios capturaremos esquemas das fontes de dados - normalmente disponı́veis na web - para instanciar umabase de dados especı́ca. O esquema desta base poder´ a evoluir atrav´es de manipulaç˜oesefetuadas pelos pr´ oprios usu´arios, utilizando-se uma interface adequada. Para tanto, aarquitetura necessita integrar dados presentes nas fontes pr´ e-existentes, sendo que o pro-cesso de integraç˜ ao pode exigir uma ontologia para fornecer descriç˜ oes sem ânticas. Aarquitetura fornece ainda para os usu´ arios uma interface entre a base de dados instanciadae os diversos aplicativos da biologia.

    Um framework ´e um (sub)sistema de software parcialmente completo que de-ne uma arquitetura para uma famı́lia de sistemas e fornece blocos b´ asicos para a suaconstruç˜ao. É composto de classes abstratas e concretas e sua instanciaç˜ ao consiste decomposiç˜ao e herança de classes. Um framework contém frozen spots que denem aarquitetura global de um sistema de software , os seus componentes b´ asicos e o relacio-namento entre eles, devendo permanecer imut´ aveis em qualquer instanciaç˜ ao. Um fra-mework também cont ém hot spots (ou pontos de exibilizaç˜ ao) que representam as partesdo framework que são especı́cas para cada instanciaç˜ ao. Assim, os frameworks são ge-radores de aplicaç ˜ oes que est ão relacionadas com uma determinada classe de problemas.Como s ão criados para gerar aplicaç˜ oes para um dado domı́nio, os hot spots são cus-tomizados de acordo com aplicaç˜ oes especı́cas, cada uma solucionando um problemaparticular.

    O framework que foi proposto (Figura 3) se prop˜ oe a integrar dados de qualquerfonte de dados de biologia molecular. O projeto inclui wrappers que capturam o esquema

    10

  • 8/19/2019 algumas pesquisas em bancos de dados e bioinformatica - sergio Lifschit

    11/15

    SwissProt

    GenBank ACEDB

    Captor

    XML Schema

    Schemas

    Administrator

    Converter (Wrappers)

    AceDB

    XML

    Data

    Biology Data Sources

    Biology

    Model

    ApplicationDrivers

    Biology

    Algorithms Fasta

    txt .Ace

    Reg

    SwissProt

    GenBank Swiss

    Prot

    Figura 3. Arquitetura Bio-AXS de integraç ˜ ao

    e os dados das fontes que participam da integraç˜ ao. Tanto os esquemas como os dados s˜ aoarmazenados em um reposit´ orio que utiliza o modelo de dados semi-estruturado. Assim,os esquemas s ˜ao armazenados em XMLSchema e os dados em XML. Os wrappers têmainda a funç˜ao de traduzir os esquemas obtidos nas fontes de dados para XMLSchema eos dados para XML. Este framework inova ao tratar da integraç˜ ao de esquemas baseadaem um meta-modelo. A integraç˜ ao é feita atrav´es de um mediador que captura os esque-mas e dados das fontes, faz as convers˜ oes necess´arias e materializa as informaç˜ oes noreposit ório.

    A arquitetura do framework está subdividida em quatro m´ odulos, cuja interde-pend ência est á esquematizada na Figura 3. O m´ odulo Administrador realiza a interfacecom os usu ários, de forma a prover as seguintes funç˜ oes: permitir gerenciar o modelo dabiologia e esquemas especı́cos, solicitar a captura de esquemas e/ou de dados, permitira formulaç˜ao de consultas, permitir a execuç˜ ao dos programas instanciados no pr´ oprioframework e a execuç˜ ao de aplicaç˜oes externas. Este m´ odulo cont´em um reposit´orio,que armazena o modelo global da biologia. O m ´ odulo Capturador administra o repo-sitório de dados e de esquemas da arquitetura. Os Wrappers implementam o acesso ` as

    fontes de dados de biologia, efetuando a traduç˜ ao dos esquemas das fontes de dados paraXML Schema e dos dados para XML. Os Drivers implementam a convers˜ ao dos dadosdo formato interno do framework (XML) para o formato esperado pelas aplicaç˜ oes. Osdetalhes da arquitetura de cada m´ odulo, suas classes e m´ etodos, e seus relacionamentos,são descritos em [Seibel 2002].

    Fruto de resultados j´ a dispońıveis, cabe aqui relatar que a ferramenta Bio-AXS

    11

  • 8/19/2019 algumas pesquisas em bancos de dados e bioinformatica - sergio Lifschit

    12/15

    vem sendo utilizada como infra-estrutura para o sistema de anotaç˜ ao do genoma do Try-panosoma Cruzi (FIOCRUZ) e para o sistema de anotaç˜ ao do genoma da Gluconaceto-bacter diazotrophicus (UFRJ). Uma outra ferramenta de anotaç˜ ao especı́ca foi geradaentão, chamada Bio-Notes [Lemos et al. 2003].

    Modelagem de DadosPara que a soluç˜ao de integraç˜ao baseada em frameworks possa ser aplicada aodomı́nio da biologia molecular ´ e necess ário dispor de um modelo conceitual de dados[Seibel et al. 2003]. Este ´ e obtido por meio de um processo de projeto, como descrito an-teriormente, que enriquece a comunicaç˜ ao entre o projetista e o especialista do domı́nio,facilitando futuras mudanças na aplicaç˜ ao ou na implementaç˜ ao do banco de dados.

    O resultado do processo do projeto conceitual de banco de dados ´ e um esquemaconceitual de dados. S˜ ao dois os objetivos dos modelos conceituais. Primeiro, os modelosconceituais s˜ao usados para descrever a informaç˜ ao a ser manipulada por um sistema de

    informaç˜ao. Segundo, os esquemas conceituais s˜ ao traduzidos em esquemas de dadoslógicos que ser˜ao usados para implementar um banco de dados.

    O processo de criaç˜ ao de esquemas conceituais durante o projeto de banco dedados é geralmente referenciado como modelagem conceitual, embora possam ser dadosoutros nomes dependendo da disciplina na qual isto se aplique.

    Em [Mac êdo 2005] foram listados os requisitos para um novo modelo conceitualde dados para a biologia molecular. Esses requisitos s˜ ao baseados nos problemas en-contrados durante a modelagem de dados da biologia molecular utilizando linguagens demodelagem conceitual de dados tradicionais, como ER e UML. A Tabela 1 descreve essesrequisitos.

    Assim, é proposta em [Macˆ edo 2005] uma nova linguagem de modelagem de da-dos orientada a objetos denominada BioConceptual. A linguagem BioConceptual foiprojetada para atender a todos os requisitos da Tabela 1. O objetivo ´ e oferecer ao proje-tista do banco de dados uma linguagem mais expressiva para projetar esquemas de dadospara aplicaç ˜oes biol ógicas facilitando a sua construç˜ ao. A BioConceptual tenta trazer omodelo de dados mais perto para o domı́nio da biologia mantendo distante dos aspectosde implementaç˜ ao. Desta forma, a linguagem BioConceptual ´ e denida como conceitualvisto que n ão utiliza qualquer tipo de construtor que sugere a forma como este modeloserá implementado.

    Ap ós analisar diversos paradigmas de modelagem, decidimos usar um modelo de

    dados orientado a objetos como base para a nossa linguagem de modelagem conceitual dedados. S ão dois os maiores benefı́cios para o uso de uma abordagem orientada a objetos:

    • Um modelo orientado a objetos tem bastante expressividade para especicarrepresentaç˜oes complexas e permite a unicaç˜ ao do desenvolvimento da aplicaç˜ aoe do banco de dados em um ambiente sem divis˜ oes entre o banco de dados e a lin-guagem de programaç˜ ao;

    12

  • 8/19/2019 algumas pesquisas em bancos de dados e bioinformatica - sergio Lifschit

    13/15

    Tabela 1. Requisitos de um modelo de dados conceitual para biologia molecularRequisito Descriç ˜ ao#1 Representar relacionamentos com ordem complexa e padr˜ oes.#2 Incluir propriedades em conceitos denominados de alto-nı́vel sem

    necessidade de alterar os conceitos de base ou de baixo-nı́vel#3 Enriquecer a semˆ antica dos modelos conceituais usando ontolo-

    gias#4 Permitir explicitar as semˆ antica dos relacionamentos#5 Representar funç ˜ oes e estruturas biol´ ogicas de forma distinta#6 Representar herança n˜ ao-monotˆonica#7 Representar relacionamentos probabilı́sticos e empı́ricos#8 Representar restriç˜ oes complexas#9 Permitir a deniç˜ ao de vis ões sobre o modelo conceitual#10 Permitir representar hierarquias grandes e multi-nı́vel

    #11 Representar aspectos espaciais e temporais do processos biol´ o-gicos

    #12 Denir construtores de alto-nı́vel baseados nas deniç˜ oes deconstrutores de baixo nı́vel

    • As aplicaç˜oes requerem menos c´ odigo, usam mais naturalmente a modelagem dedados, e os c ódigos s ão mais f áceis de manter. Desenvolvedores de sistemas ori-entados a objeto podem criar aplicaç ˜ oes completas de banco de dados sem muitoesforço.

    Como conseq¨uência desta decis˜ ao, foi decidido usar e estender a especicaç˜ aodo padr ão ODMG 3.0para incorporar as necessidades da nova linguagem. A adoç˜ ao dopadr ão ODMG facilita a compreens˜ ao do modelo e a compatibilidade com outras lin-guagens de modelagem orientadas a objetos como UML, linguagens de programaç˜ aousando objetos (ex. Java), bancos de dados objeto-relacional e bancos de dados pura-mente orientados a objetos. Os detalhes da linguagem proposta devem ser consultadosem [Mac êdo 2005].

    4. Conclus ˜ oesNesse artigo, procuramos evidenciar a necessidade de pesquisas na ´ area de bancos dedados que dˆeem suporte `as pesquisas na ´area de bioinform´ atica. S ão vários aspectos

    importantes e tamb´ em fundamentais que devem ser considerados, como a persistˆ encia dedados, indexaç˜ ao e modelagem conceitual. Como j´ a comentado, n˜ao se trata de um estadoda arte na área mas sim, um conjunto especı́co, por´ em signicativo, de trabalhos na ´ area.

    No que diz respeito aos trabalhos em andamento e futuros, podemos mencionar aspesquisas em persistˆ encia de dados, onde se utilizam t´ ecnicas especı́cas de compactaç˜ aode dados, al ém de adaptaç˜oes de estruturas de armazenamento conhecidas, como as

    13

  • 8/19/2019 algumas pesquisas em bancos de dados e bioinformatica - sergio Lifschit

    14/15

    árvores balanceadas [Rosa 2006]. J´ a no que diz respeito ` as pesquisas na linha de projeto ealocaç ão de bancos de dados j´ a estão sendo avaliados estudos de t´ ecnicas de fragmentaç˜ aomista de dados com polı́ticas de distribuiç˜ ao de dados sob demanda [Sousa 2006].

    Em todos esses trabalhos mencionados, ´ e fundamental citar a importˆ ancia dasinteraç ões e pesquisas realizadas em conjunto com pesquisadores que n˜ ao são oriundos daciência da computaç˜ ao. Este é o caso do grupo do DBBM - Departamento de Bioquı́micae Biologia Molecular da FIOCRUZ no Rio de Janeiro, com destaque especial para ospesquisadores Wim Degrave e Antˆ onio Bası́lio de Miranda.

    Por m, cabe observar que diversas partes desse trabalho s˜ ao originadas ou se re-ferem às pesquisas, teses e dissertaç ˜ oes do Departamento de Inform´ atica da PUC-Rio rea-lizadas desde 1997. Particularmente, as teses de doutorado de Luiz Fernando Bessa Seibel[Seibel 2002] e Jos´ e Ant ônio Fernandes de Macˆ edo [Mac êdo 2005], e as dissertaç˜ oes demestrado de Melissa Lemos [Lemos 2000], Rog´ erio Luı́s de Carvalho Costa [Costa 2002],Maı́ra Ferreira de Noronha [Noronha 2006], Janaı́na Oleinik Moura Rosa [Rosa 2006] e

    Daniel Xavier de Sousa [Sousa 2006].

    Refer ências

    Bornberg-Bauer, E. and Paton, N. (2002). Conceptual data modelling for bioinformatics. Briengs in Bioinformatics , pages 166–180.

    Buneman, P., Khanna, S., Tajima, K., and Tan, W. C. (2004). Archiving scientic data. ACM Transactions on Database System , pages 2–4.

    Cavalcanti, M. C., Targino, R., Bai˜ ao, F. A., R össle, S. C., Bisch, P. M., Pires, P. F.,Campos, M. L. M., and Mattoso, M. (2005). Managing structural genomic workowsusing web services. Data and Knowledge Engineering , 53(1):45–74.

    Costa, R. L. C. (2002). Alocaç˜ ao de dados e distribuiç˜ ao de carga para execuç˜ ao paralelada estrat égia blast de comparaç˜ ao de sequ ência. Master’s thesis, Departamento deInform ática da PUC-Rio.

    Costa, R. L. C. and Lifschitz, S. (2003). Database allocation strategies for parallel blastevaluation on clusters. Distributed and Parallel Databases , 13(1):99–127.

    Davidson, S. B., Overton, G. C., and Buneman, P. (1995). Challenges in integratingbiological data sources. Journal of Computational Biology , 4:557–572.

    Lemos, M. (2000). Gerenciamento de mem´ oria para comparaç˜ ao de biossequˆ encias. Mas-ter’s thesis, Departamento de Inform´ atica da PUC-Rio.

    Lemos, M. (2004). Workow para Bioinform ´ atica . PhD thesis, Departamento de In-formática da PUC-Rio.

    Lemos, M. and Lifschitz, S. (2003). A study of a multi-ring buffer management for blast.In International Workshop on Biological Data Management (BIDM) , pages 5–9.

    14

  • 8/19/2019 algumas pesquisas em bancos de dados e bioinformatica - sergio Lifschit

    15/15