Postagens

Curso de Escrita de Artigos Científicos

Em 2010, enquanto ainda cursava o mestrado, tive a oportunidade de fazer um curso de Escrita de Artigos com o Professor Valtencir Zucolotto. Como parte do material disponibilizado foi perdido por alguns colegas, estou relacionando aqui os links de sites de dicas deixadas durante o curso: General Concepts http://www.bartleby.com/141/ (The Elements of Style) http://www.wisc.edu/writing/Handbook/index.html http://grammar.uoregon.edu/toc.html Transitional words http://writing2.richmond.edu/writing/wweb/trans1.html Strong words http://www.cmu.edu/styleguide/peeves.html#w Commonly misused words http://www.ag.iastate.edu/aginfo/checklist.html http://www.edufind.com/english/writing/easily_confused_words.cfm Common Errors in English http://www.wsu.edu/~brians/errors/errors.html Se alguém tiver algum a mais e quiser indicar, comente abaixo.

Internacionalização de aplicação Swing (Java)

O processo de internacionalização é bastante simples, porém exige alguns cuidados. Os passos que tenho utilizado são: Criar um pacote resource abaixo do pacote base da aplicação swing. Criar os arquivos de mensagens, com o sufixo do locale desejado. Exemplo: Para o inglês americano: messages_en_US.properties, e o conteúdo: key=caption fileMenu=Files ou para o português brasileiro: messages_pt_BR.properties, e o respectivo conteúdo: key=rótulo fileMenu=Arquivos Aqui temos a primeira grande possibilidade de problemas, as chaves que realmente forem utilizadas na aplicação, precisam estar em todos os arquivos. Prefiro utilizar uma classe utilitária que criar um método em cada janela, dialogo ou panel que minha aplicação tiver, portanto: import java.util.Locale; import java.util.ResourceBundle; public final class MessageI18NUtil { public static ResourceBundle text = null; private MessageI18NUtil() { } public static void init() { Locale locale = Lo...

Java e XML

Frequentemente ocorre a necessidade de trabalhar com arquivos XML em Java, e sempre vem a dúvida de qual API utilizar... e sempre me ocorre o artigo do Osvaldo Pinali Doederlein, na edição 22 da JavaMagazine. O artigo é bastante interessante, mas a idéia aqui é simplesmente, lembrar qual API usar... então vou transcrever um quadro comparativo: Parser Tempo 1 Tempo 2 Tempo 3 Tempo 4 Tempo 5 Score StAX 2,294 1,579 1,596 1,528 1,573 1,00 SAX 5,008 3,063 2,645 2,611 2,495 1,59 JAXB 5,559 3,792 3,440 3,348 3,405 2,16 DOM 16,485 6,400 5,404 5,852 5,250 3,34 Digest 70,099 26,327 25,820 25,426 26,391 16,78 Beans 96,217 70,535 64,876 71,115 64,478 41,00 C# 1,906 1,906 1,906 1,890 1,906 1,21 O StAX é a melhor solução e a documentação pode ser vista aqui: http://download.oracle.com/javaee/5/tutorial/doc/bnbem.html

Como fazer um ramdisk para uso do NCBI Blast (HOWTO)

Este procedimento foi testado no Ubuntu 11.04, em um equipamento com 4 núcleos e 16Gb de memória RAM. mkdir -p /tmp/blast mount -t tmpfs tmpfs /tmp/blast/ -o size=9G,nr_inodes=1024k,mode=01777 cp /opt/nr/idnr.fas.* /tmp/blast/ blastall -p blastp -i /opt/nr/teste.fas -a 4 -d idnr.fas -m 0 O tempo final caiu de 3 minutos para 1 minuto no banco do NR

Ubuntu 11.04 - Instalando o java

Os passos básicos são: descomentar o repositório canonical em /etc/apt/source.list deb http://archive.canonical.com/ubuntu natty partner deb-src http://archive.canonical.com/ubuntu natty partner Atualizar: apt-get update pode-se busca com apt-cache search sun-java6 ou apt-get install sun-java6-jdk sun-java6-bin sun-java6-source sun-java6-fonts sun-java6-jre Para alternar entre as versões instaladas (Open/SUN): update-alternatives --config java

How to convert Color Space to Fasta (biological sequence)

Quem já se deparou com esse problema deve saber a dificuldade em encontrar um programa que faça essa conversão. Bom, depois de testar um monte de coisas, andei estudando os fontes do "Color Space Mapping tool" da AB (http://www.appliedbiosystems.com/absite/us/en/home/support/software-community/free-ab-software.html) e descobri uma regra de conversão simples: A0=>'A' A1=>'C' A2=>'G' A3=>'T' C0=>'C' C1=>'A' C2=>'T' C3=>'G' G0=>'G' G1=>'T' G2=>'A' G3=>'C' T0=>'T' T1=>'G' T2=>'C' T3=>'A' Com essa informação, fiz o programa abaixo (GNU C): #include #include #include #define MAX_LINE 500 int main(int argc, char *argv[]) { FILE *fin,*fout; char buffer[MAX_LINE+1],seq[MAX_LINE]; char p0,p1,base,valid; int i; if( argc \n"); exit(0); } if( (fin = fopen(argv[1],"r")) == N...

Atualizando o note para o Ubuntu 10.10

Demorou, mas agora pude fazer o upgrade (não dava para fazer antes de concluir o mestrado). Primeiros passos: a) copiar tudo que importa para o HD externo e para algumas coisas para a partição do Windows 7. b) baixar e gravar mídia de instalação c) testar no modo live-cd (uma das boas coisas do Ubuntu) - Beleza, placa de vídeo, som, webcam, rede tudo certo. d) instalado e atualizado Primeiras impressões: o boot está mais rápido, o visual do desktop mais limpo (aparentemente, existe um aproveitamento melhor da área real disponível). Instalando os pacotes de trabalho: sudo -s apt-get install build-essential apt-get install openssh-server apt-get install mysql-server-5.1 mysql-common mysql-client-5.1 mysql-client-core-5.1 mysql-client-5.1 mysql-server-core-5.1 apt-get install apache2-mpm-prefork apache2-utils apache2.2-bin apache2.2-common libapache2-mod-php5 php5-cli php5-common apt-get install postgresql-8.4 postgresql-client-8.4 postgresql-contribu-8.4 php5-pgsq...