João Rodrigues

Estranhamente, João Rodrigues não vem das hostes dos informáticos tendo tido o primeiro contacto com a programação no 3º ano do curso. Um descontraído finalista da Licenciatura em Bioquímica em Coimbra, com particular interesse pelas áreas da Bioinformática e da Proteómica, entrou para a Revista PROGRAMAR e com o objectivo de mostrar que há mais na informática para além de bits e bytes.

Lucene: programar um motor de busca

O que é o Lucene

O Lucene talvez dever-se-ia tratar por “a” Lucene, uma vez que se trata de uma biblioteca de recuperação de informação textual (do inglês “information retrieval”) de código aberto e criada por Doug Cutting. Originalmente, foi escrita em Java, mas foi rapidamente adaptada a outras linguagens de programação, nomeadamente Python (Pylucene), Perl (Plucene), C# (Lucene.net), C++ (CLucene), e Ruby (Ferret). Contudo, estas adaptações estão normalmente ligeiramente atrasadas no que toca à versão original em Java, actualmente mantida e alojada pela Apache Software Foundation.

Simples de aprender a usar, mas poderosa nas mãos de um programador experiente, esta biblioteca suporta desde índices estáticos com um campo, até múltiplos índices em paralelo, com centenas de campos e milhares de acessos simultâneos. É ideal para todo o tipo de projectos, desde o simples website com a “search box” até um grande motor de busca sobre, por exemplo, a colecção de PDFs que se tem no disco rígido.

Continuar a ler

Interacção Python/MySQL

Introdução

Bases de dados são armazéns estruturados de informação, nas quais é guardada uma variedade imensa de dados. Na verdade, são muitas vezes o núcleo duro de aplicações informáticas, sem que, também na maioria das vezes, o utilizador final se aperceba. A importância desta tecnologia hoje em dia é imensa, sendo que foi necessário o desenvolvimento de ferramentas para que programadores possam dela tirar partido. Entre essas ferramentas, incluem-se diversos sistemas de gestão de bases de dados, como o MySQL, o SQL Server, a Oracle, entre outros, que permitem a manutenção das bases de dados de uma maneira relativamente simples. Porém, também para estas ferramentas de gestão foi desenvolvido software para facilitar ainda mais a vida a quem desenvolve. Neste artigo pretende-se explicar e exemplificar o uso de uma API que permite a manutenção de bases de dados usando MySQL a partir de scripts de Python. Porém, não é limitado apenas a MySQL. Outros adaptadores para outros sistemas de gestão de bases de dados funcionam de maneira muito semelhante, por vezes até bastando apenas mudar uma linha de código.

Continuar a ler

Bioinformática – O lado do programador

Problemas e Soluções

No seguimento do artigo “Introdução à Bioinformática” (11ª Edição da PROGRAMAR), no qual abordei a existência desta área da Informática (e da Biologia), passo agora a exemplificar, em termos mais práticos, as ferramentas e técnicas mais populares, que são diariamente usadas por milhares de cientistas.

Relembrando, Bioinformática define-se como o aplicar de técnicas de Matemática Aplicada, Informática, Estatística e Inteligência Artificial a problemas concretos de Biologia e/ou Bioquímica. Entre os problemas mais comuns, temos o alinhamento de sequências de DNA, a procura de genes (por associação e prévio conhecimento de outros), a assemblagem de genomas, a predição de estruturas de proteínas (secundárias, terciárias e quaternárias), bem como outras áreas menos “moleculares”, como a evolução.

Continuar a ler

Programação Saudável

Toda e qualquer profissão tem os seus riscos associados. Uma frase tão simples como esta pode causar controvérsia junto dos menos informados. Senão vejamos; que risco pode correr um empregado de escritório, cuja rotina é estar sentado numa cadeira a teclar no seu computador pessoal? Bem, de facto, o risco imediato para a sua saúde é, pelo menos num país pacífico, reduzido, senão quase nulo. Ora, comparando com um militar destacado, ou um taxista, ou um segurança de discoteca, esse mesmo empregado de escritório tem um grau de risco no seu emprego fútil. Contudo, todo este risco é a curto prazo, no imediato. E a médio/longo prazo? Quem correrá mais riscos? Será o militar, que se exercita todos os dias e cumpre uma rotina activa, ou será o empregado de escritório, sempre sentado na mesma posição, a forçar os mesmos movimentos e a aguentar horas e horas a olhar para um monitor? E o que tem esta introdução que ver com uma revista de programação? Bem, o leitor verá, caso trabalhe, que, como programador, tem um estilo de vida profissional demasiado semelhante ao do mero empregado de escritório. Quiçá até, dada a freneticidade muitas vezes tida como eficiente, o programador sofrerá mais, a longo prazo, que o tal empregado. Mas porquê?

Continuar a ler

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.

Continuar a ler