Introdução à Bioinformática

Introdução

Com o desenvolvimento da biotecnologia nas últimas décadas, houve uma quantidade massiva de informação que encontrou casa nas bases de dados espalhadas pela Internet. Para lidar com esse influxo gigantesco de informação, (só na Pubmed há mais de 3.2 biliões de artigos (mais de 5.96 PetaBytes) e o BLAST tem mais de um bilião de fragmentos de genes) foi necessário recorrer à tecnologia informática, não só para a armazenar e tornar disponível em formatos organizados, como também para fornecer ao investigador em biociências ferramentas que lhe permitissem lidar com essa informação de forma eficaz. Desta forma, nasceu um ramo comum à informática e às ciências biomédicas designado Bioinformática.

Bioinformática

Bioinformática é, portanto, uma área científica resultante da aplicação de técnicas de informática e algoritmia a problemas biológicos. Apesar de estender os seus ainda ténues braços nas mais variadas direcções (biomedicina, genómica, proteómica, metabolómica, etc), há já áreas da bioinformática consideradas estáveis e acima de tudo reconhecidas a nível internacional como de extrema importância. Não é por acaso que universidades como Utrecht, Kyoto ou mesmo o MIT oferecem educação, desde o nível mais baixo (licenciatura) a programas doutorais, em áreas marcadamente bioinformáticas. Em Portugal, a Universidade de Aveiro é das poucas a oferecer aos seus (e a outros) alunos a possibilidade de se integrarem num grupo de investigação em Bioinformática. À UA, junta-se, por exemplo, a Universidade do Porto, com um Mestrado em Bioinformática, ou a Fundação Calouste Gulbenkian com um já afamado programa doutoral em Biologia Computacional.

Contudo, o que realmente se faz em Bioinformática? Para esclarecer esta pergunta, há que contextualizar. Em primeiro lugar, vai depender da área da bioinformática e em segundo lugar, vai depender do sítio onde se escolhe investigar/estudar. Como seria de esperar, um bioinformático vai lidar com informação biológica, seja ela uma sequência genética (ou milhares delas), uma estrutura tridimensional de uma proteína, um registo de um electrocardiograma, entre outros. Para cada caso, há um procedimento óptimo e uma linguagem de programação preferencial. Além disso, vai depender da formação dos orientadores que o iniciante em bioinformática terá. Um orientador com formação em Java vai preferir obviamente, caso tenha que escolher, que o seu orientando programe em Java. Ao fim ao cabo, vai-lhe facilitar o trabalho enquanto orientador (está mais familiarizado com a linguagem) e vai ajudar também o orientando, uma vez que em caso de dúvida, será mais fácil a sua resolução.

O caso da genómica

Genómica é o ramo da biologia que estuda os genes. E o que é afinal um gene? Um gene não passa de uma sequência de 4 pequenas moléculas (geralmente) que vão alternando entre si para formar longas cadeias. A cada uma dessas moléculas, corresponde uma letra que a identifica. No fim de contas, em genómica, o que temos não passa de uma grande linha (ou várias linhas) de 4 letras. Tendo esta premissa em consideração, um qualquer programador que queira mergulhar na área da genómica terá que escolher uma linguagem em que o tratamento de texto seja simples de efectuar – por exemplo, Perl. Porém, mesmo dentro da genómica, há que contar com variadas sub-áreas em que já não se lida com texto, mas com o resultado da análise desse texto. É o caso dos programas para interpretar dados de experiências de microarrays. Neste caso particular, já não interessa lidar com as 4 letras apenas, mas sim com variáveis estatísticas. O Perl pode já não ser a linguagem ideal para esta tarefa. E quanto aos programadores das bases de dados que armazenam informação? Ou aos que sejam responsáveis pela manutenção de web services que permitam a utilizadores aceder a essas mesmas bases de dados e recolherem, ou submeterem, dados? Ainda há aqueles que trabalham na área estrutural e que precisam acima de tudo de rapidez de execução dos algoritmos. Em suma, uma infinidade de soluções para outra infinidade de problemas.

Perfil do Bioinformático

Como se pôde verificar, um programador que queira enveredar pelo ramo da Bioinformática vai ter que se tornar multidisciplinar e não só tornar-se ágil em várias linguagens de programação (habitualmente duas ou três) mas também ganhar um background a nível de biologia (ou química) suficiente forte para saber lidar com os problemas que lhe vão surgir. Mas, e o outro lado da barreira? Ao fim de contas, nem todos os bioinformáticos são informáticos de raiz. O que acontece àqueles provenientes de áreas como a biologia e a química que querem seguir este rumo? Bem, nesse caso, terão que procurar treino e formação em programação, algoritmia e ciências computacionais. No entanto, o calo ganho por um programador ao longo do curso não é fácil de igualar. A solução é que o biólogo ou o químico aprendam uma linguagem de programação que seja relativamente poderosa e ao mesmo tempo simples de aprender e usar, sendo que em muitos destes casos, a escolha tem recaído no Python. Se se fizer uma breve pesquisa no google por empregos nesta área, conclui-se que não há um perfil ideal para todos os cargos. Tal como referido na introdução, a informática foi aplicada a vários níveis nas ciências biomédicas, desde o armazenamento ao processamento de dados, daí que cada cargo/emprego exija as suas competências.

Conclusão

A bioinformática é então uma área em franca expansão que criou um ciclo vicioso. Ao fim de contas, surgiu para dar apoio ao investigador quando este já não tinha capacidade de lidar com a quantidade de dados que obtinha. Agora, com novas ferramentas bioinformáticas, o investigador cada vez mais tem mais informação, mais forma de a armazenar, mais formas de a tratar. E há ainda aquelas áreas em que faltam os recursos humanos e tecnológicos para que a bioinformática se afirme como séria apoiante. Ao fim de contas, considera-se que só a ponta do véu foi levantada e que nós, a nossa geração, é que vai usufruir dos plenos contributos da tecnologia aplicada à investigação em biociências, não só tirando proveito da sua acção, como também expandindo as suas aplicações. Para aqueles que gostam de programar mas também gostam de descobrir os mistérios da vida, há agora a possibilidade de fugir ao mundo inerte das redes, dos processadores, dos kernels, das drivers, e abraçar uma área onde os contributos são mais reais – desvendar um genoma, esclarecer um mecanismo de acção de uma doença, etc. É uma questão de procurar e aventurar-se. No fundo, o que interessa é ter vontade de aprender e uma mente aberta a novos conceitos, novas ideias e novos projectos.

Publicado na edição 11 (PDF) da Revista PROGRAMAR.