Postagens

Splay Tree

Eu resolvi estudar essa estrutura de dados porque ela foi utilizada pelo Daniel Zerbino no Velvet e segundo ele: "Although theoretically less efficient, they are much easier to implement and have proven in practice as efficient as other forms of binary search trees. This solution, although memory costly, proved robust even with very large datasets. The processing of reads was thus greatly accelerated and large datasets (up to 500.000.000 Illumina reads) could be hashed in a matter of hours instead of days." Fonte: ZERBINO (2009, Genome assembly and comparison using de Bruijn graphs). Vantagens São mais fáceis de implementar que outras técnicas de árvores binárias (BST); Requer menor espaço de memória que as Vermelha e Preto ou AVL (quando não for necessário informação de balanceamento).   Desvantagens maior número de ajustes locais, durante a busca Após o acesso a todos os elementos da árvore, a ordem reduz a uma lista encadeada O(n), o que corresponde ao pior ...

Usando o RGS

Antes de rodar o RGS, carreguei um arquivo de contigs: contigs=fastaread('contigs_frag_k19_opt.fa'); Carregando e rodando o RGS: load dbstruct anotado = sila(dbstruct,contigs,'HGF',true); an2 = annotmat2fascov(anotado);

Jellyfish script

Eu precisei criar um histograma dos k-mers para diferentes tamanhos. O jellyfish surpreende em performance e facilidade de uso. Mas mesmo assim, precisamos de vários passos. Segue um script para facilitar o uso dele. O script precisa de dois parâmetros: o nome do arquivo fasta/fastq e o prefixo do arquivo de resultados. Ex: run.sh reads.fasta jf_kmer_ #!/bin/bash for kmerSize in {13..29..2} do    echo "kmer size $kmerSize - creating kmer-map..."    jellyfish count -m $kmerSize -o output -c 16 -s 500000000 -t 60 $1    arq_out=`ls -1 output* | wc -l`    banco=out_$kmerSize    if [ $arq_out -gt 1 ]; then       echo "merging"       jellyfish merge -o $banco output\*       rm -rf output*       sleep 5    else       echo "renaming..."       auxFileName=`ls -1 output*`       mv $auxFileName $banco    fi   ...

Portando o "Free Associative Neurons" (FAN) para o WEKA

O WEKA é a melhor ferramenta livre (open source) para mineração de dados disponível na atualidade. As concorrentes que conheço são: Orange , RapidMiner , JHepWork , Konstanz Information Miner (KNIME) e o R Analytical Tool To Learn Easily (RATTLE). No geral, as principais técnicas de classificação, associação e agrupamento estão disponíveis nessas ferramentas, mas considero o WEKA sendo a ferramenta mais fácil de integrar em outras aplicações. Tanto que existem extensões para usar o WEKA em alguns dos programas acima. Apenas para deixar essa pequena lista mais completa, durante alguns anos eu usei o Tanagra na disciplina de Tópicos de Banco de Dados (TADS/UFPR), muito bom. Mas no final, o fato do WEKA ter uma ótima documentação, dos fontes da aplicação estarem disponíveis para os interessados, sempre se mostrou, nos meus estudos, o mais interessante. O "Free Associative Neurons" (FAN) é um modelo neuro-fuzzy de rede neural, inventada pelo Roberto Raittz, que associa o...

Programadores JAVA que não sabem OO vivem fazendo isso...

Veja o código que encontrei em uma aplicação open source famosa:     static double[] getValues(double[] source, int index) {         double[] result = new double[obj.size() - 1];         int index = obj.getIndex();         if (index == 0) {            for(int i=1 ; i                result[i-1] = values[i];            }         } else {             if (index == result.length) {                for(int i=0 ; i                   result[i] = values[i];                }             } else {                for(int i=0 ; i             ...

Normas da ABNT para referências no Office 2007/2010

No link abaixo encontrei os arquivos XSL para formatação: http://bibword.codeplex.com/releases/view/27212 E nesse link a descrição do processo de instalação: http://www.techtudo.com.br/dicas-e-tutoriais/noticia/2011/06/como-adicionar-normas-da-abnt-no-word-2007.html

Falha no serviço de consulta do IRPF 2012 (10/07/2012)

Imagem
Pessoal, não é nada grave, com uma ou duas tentativas a mais, a consulta ocorre sem maiores problemas. Mas não deixa de ser um bom exemplo, em especial para meus alunos de Banco de Dados (TADS/UFPR).  A aplicação de consulta deve estar limitada a 1000 usuários com acesso simultâneo ao banco de dados. E os servidores de aplicação devem estar utilizando cache local. Essa suposição se deve ao fato que a mensagem abaixo ocorreu duas vezes, a primeira com meu CPF, na segunda tentativa a consulta foi realizada. Repeti com o mesmo CPF para tentar pegar a mensagem... o erro não ocorreu, mudei de browser para evitar o efeito das sessões, o resultado foi bem sucedido. Apelei, realizei a busca com o CPF da minha esposa e ... bum, para minha sorte ocorreu de novo, afinal eu queria esse fato como exemplo para as aulas de tunning (risos). Mesmo assim, a suposição de cache pode estar errada, os sucessos e falhas  podem ter sido ocasionados pelo fator sorte (risos^2). Uma ...