Bússolas ambulantes

Essa é tão engraçada que merece um post. Saiu na PNAS de 25 de Agosto: gado doméstico (as famosas vacas) e veados campeiros (roe deer) costumam alinhar seus eixos corporais de acordo com o campo magnético da Terra, na direção norte-sul, enquanto pastoreiam ou dormem !

Como isso foi descoberto? Imagens de satélite e também observações de campo. Foram ~8.500 vacas e ~3.000 veados campeiros. Engraçado que ninguém nunca havia reparado esse fenômeno antes.

E ainda não se sabe o porque desse comportamento. Algum resquício da evolução quando eles eram animais migratórios? Será que existe algum sensor em seus cérebros que detectam o campo magnético da Terra?

Agora, se alguém ficar totalmente perdido e sem orientação no campo, já sabe. Olhe uma vaca pastoreando. Sua cabeça provavelmente estará apontando para o norte. ;-)

Biologia 0 Comentários

Systems biology – com ‘b’ minúsculo

Apesar da modelagem e simulações de sistemas ser uma prática bastante antiga, o grande aumento de dados e informações sobre sistemas biológicos, especialmente na última década, fez surgir um ‘ramo’ da bioinformática denominado Systems Biology.

Trabalhar com systems biology significa criar modelos e simulações que tentam descrever o funcionamento de moléculas, reações bioquímicas e até sistemas celulares inteiros!

Um dos grandes problemas atualmente na system biology é na modificação e reuso de modelos pré-existentes. Parece que os modelos já criados são muito específicos e de difícil entendimento para quem não participou na sua criação. Na tentativa de sanar tal problema, surgiu a SBML, ou Systems Biology Markup Language, que é um formato comum de troca de dados, que usa XML.

A little b, o assunto do post de hoje, é, diferentemente da SBML, uma linguagem de programação open source desenvolvida no intuito de se criar modelos matemáticos de fácil troca e reúso. Criado na Bauer Center for Genomics Research, little b foi desenvolvida em LISP. A escolha da linguagem foi explicada assim: LISP parece conseguir tratar de problemas de grande complexidade com mais facilidade que outras linguagens.

Mais especificamente, LISP parece abstrair a complexidade biologica mais facilmente em linhas de código de fácil entendimento – acho que os computeiros podem explicar melhor , tem algo a ver com o sistema de macros :-)

Para exemplificar melhor, vai abaixo um exemplo interessante de código little b, que pode ser acessado em um curso-rápido disponibilizado: a isomeração de Glucose 6P (G6P) em Frutose 6P (F6P), reação reversível e parte da via glicolítica, catalizada pela enzima Glucose 6P Isomerase (G6PI) - os bioquímicos vão adorar ;-)

G6P + G6PI <-> G6PI + F6P

Para saber mais sobre little b, acessem diretamente o paper publicado ou então a home page. E boa modelagem a todos!

PS: enquanto isso estou esperando uma resposta do Aneil Mallavarapu, um dos autores da linguagem, pra saber por que a linguagem se chama little b :-)

Biologia, Biotecnologia 1 Comentário

OpenCog: Inteligência Artificial livre

Há alguns meses estamos trabalhando em um conjunto de projetos bem interessante aqui no Labs. Normalmente, eu não anuncio projetos em desenvolvimento no blog a não ser que os julgue de interesse de boa parte dos leitores, como foi o caso dos cachorros virtuais. Bom, esse projeto está chegando ao ponto em que podemos (e queremos) recrutar colaboradores externos, e envolve diversas tecnologias que já discutimos por aqui.

O OpenCog é um conjunto de projetos de software livre, relacionados a inteligência artificial. É patrocinado pela Novamente (nosso parceiro nos EUA para projetos de IA) e pelo SIAI (Singularity Institute for Artificial Intelligence), com apoio de outras empresas, entre elas o Vetta Labs (onde hoje duas pessoas se dedicam ao projeto) e o Google (patrocinando estudantes via Google Summer of Code). Estamos empacotando diversas tecnologias que desenvolvemos ao longo dos últimos sete anos, e abrindo seu código para a comunidade. Tomamos essa decisão porque acreditamos que os projetos que fazem parte do OpenCog estão se aproximando de um nível de maturidade em que podem ser muito úteis para pesquisadoras em IA e áreas correlatas, e atrair uma comunidade ao redor dos mesmos nos permitirá continuar seu desenvolvimento de forma mais rápida que vínhamos conseguindo dentro da Novamente e do Labs, onde o trabalho de pesquisa sempre tem que competir por recursos com objetivos mais focados em necessidades imediatas dos clientes que pagam as contas.

O OpenCog é composto de um framework que oferece uma fundação para o desenvolvimento de diversos métodos de IA, em uma abordagem de sistemas multiagentes, que trabalham sobre uma base de conhecimento comum. Além do framework, o programa inicial inclui projetos de processamento de linguagem natural (inclusive as tecnologias mencionadas no excelente post introdutório do Murilo), raciocínio probabilístico e computação evolutiva. Combinando esses projetos é possível construir sistemas para uma enorme variedade de objetivos.

Um desses sistemas exemplo será a versão software livre dos
nossos cachorros virtuais, que estamos criando sob patrocínio da RealeXtend e estará disponível em outubro.

Fomos agraciados esse ano também com 11 projetos patrocinados pelo Google Summer of Code. Nada mal para um programa recém-lançado. É o mesmo número de projetos aprovados para a Debian, e mais que muita gente famosa obteve: Wikimedia Foundation, One Laptop Per Child, GCC e outros. O leitor interessado pode conferir os projetos aqui. Quando esses projetos forem concluídos devemos postar mais detalhes por aqui.

Recentemente nós completamos a documentação de boa parte dos planos de longo prazo para o OpenCog, na forma de um “wikibook“. Existem também um canal de IRC, listas de discussão, blogs e uma rede social dedicados ao OpenCog. A partir de setembro, teremos discussões semanais sobre os planos e projetos do OpenCog no IRC. Com tudo isso, espero que leitores com formação técnica e interesse por inteligência artificial se sintam encorajados a se juntar ao time OpenCog. Serão muito bem vindos.

Inteligência Artificial 2 Comentários

Pra que se exercitar?! Tome as pílulas do Dr. Evans!

Antes eu havia falado da pílula contra o envelhecimento, agora a novidade pode ser o surgimento das pílulas do exercício! E elas têm coisas em comum.

O Dr. Ronald M. Evans, do Salk Institute em San Diego- EUA, foi o cientista que liderou um estudo usando duas drogas, a Aicar e a GW1516, em camundongos. O experimento consistia em administrá-las e depois medir a resistência física de camundongos em esteiras elétricas.

A Aicar se mostrou tão efetiva no aumento da resistência como são os exercícios físicos. Ela parece sinalizar ao organismo para que sejam mais produzidos músculos com fibras do tipo 2 (com mais mitocôndrias, boas para resistir à fadiga). Dessa forma os camundongos aumentaram sua resistência muscular sem fazer esforço. Surpreendente. :-D

Já a GW1516 também mostrou aumento na resistência física, porém os camundongos precisavam fazer um pouco de exercício para que houvesse um efeito similar ao da Aicar.

Ambas as drogas atuam ativando uma proteína, a PPAR-delta, que está relacionada na sinalização para a célula queimar gordura. O mais interessante é que o Resveratrol também participa na ativação da PPAR-delta. E também já foi provado que doses grandes de resveratrol aumentam bastante a resistência física de camundongos na esteira.

Bom, ainda existe muita pesquisa a ser feita e essas drogas ainda não foram testadas em seres humanos (apesar do resveratrol já ser vendido como suplemento alimentar em alguns países). Agora já podemos pensar duas vezes antes de usar a frase “no pain, no gain”. ;-)

Biologia 0 Comentários

Processamento Digital de Imagens com Imagemagick

Outro dia me vi na situação em que eu tinha que aplicar alguns filtros de PDI programaticamente. Um opção para as pessoas que lidam com JAVA é usar o JAI, o Java Advanced Imaging, que resolve vários problemas.

Mas o Murilo acabou achando as ferramentas de linha de comando do imagemagick, que além de funcionarem muito bem, são perfeitamente “programáveis” e bastante poderosas. Provavelmente os linuxeiros mais experientes já devem conhecer o imagemagick, mas, bem, eu não conhecia, talvez seja útil para você um dia destes. Não custa compartilhar.

É, eu sei que GIMP tem linguagem de script, cheia de parêntesis horríveis… bem, pro “quick and dirty”, achei o imagemagick mais interessante. Além do mais, eles têm uma imensa página de cookbook, com as “receitas prontas” de uso, que é uma leitura prá lá de interessante, se você curte Processamento Digital de Imagens (eu particularmente acho legal). Aliás, deve ser uma bela ferramenta para lecionar PDI inclusive.

Basicamente, você passa pela linha de comando vários parâmetros que vão encadeando os “efeitos” como um “pipeline”. Mais simples, impossível. Tem alguns exemplos simples e didáticos nesta página. Mas o potencial para fazer, programaticamente, coisas muito bacanas, também é grande, especialmente se você resolver adicionar Perl à mistura. Vide o exemplo abaixo.

Então se você precisa, programaticamente, converter, ampliar, diminuir, montar mosaicos, aplicar filtros, mudar cor, contraste, espectro, lidar com layers, e muitos et ceteras, talvez você ache mais fácil e mais rápido simplesmente instalar essa ferramenta do que fazer macros do Photoshop ou aprender script-fu.

Processamento de Sinais, Visão Computacional 4 Comentários