Postagens

Conversão do encode do MariaDB para atender o moodle 3.8

A nova versão do moodle precisa do encode utf8mb4 para codificação os emoticons, após a atualização da versão 3.2 para a 3.8, tive que rever as tabelas no mariadb. Uma consulta simples para verificar a codificação das tabelas: select table_schema,table_name,table_collation from information_schema.TABLES where TABLE_SCHEMA='NOME_DO_BANCO'; E a rotina para converter as mais de 360 tabelas do moodle... DELIMITER // CREATE PROCEDURE convert_encode() BEGIN    DECLARE _stmt CHAR(255);    DECLARE cmd CHAR(255);    DECLARE done BOOL DEFAULT 0;    DECLARE c1 CURSOR FOR         SELECT CONCAT("ALTER TABLE ", TABLE_SCHEMA, '.', TABLE_NAME,         ' CONVERT TO CHARACTER SET "utf8mb4" COLLATE "utf8mb4_bin";')         FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='NOME_DO_BANCO' ;    DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;    OPEN c1; ...

GIT for dummies

Git em 15 minutos https://try.github.io Documentação github https://help.github.com/articles/git-and-github-learning-resources/  Livro GIT https://git-scm.com/book/pt-br/v2

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             ...