super_banner_728x90

terça-feira, 9 de dezembro de 2014

Mais um sorteio de livro no blog (dessa vez você escolhe o livro)

Olá, pessoal.

A Editora Novatec está com três super lançamentos. Vamos fazer um sorteio e o ganhador vai poder escolher o livro que irá receber!

Os livros são:
  1. HTML5 em Ação
  2. E-Commerce com PHP e MySQL
  3. AngularJS – Uma abordagem prática e objetiva
Descrições mais detalhadas dos livros vão abaixo.

Para participar, você deve seguir as regras de sempre:
1. O participante deverá curtir a página da Novatec (https://www.facebook.com/novatec)
2. O participante deverá ter um endereço de entrega no Brasil
3. O sorteio será realizado até 23h59 do dia 17/12/2014
4. O ganhador terá até 1 (uma) semana (dia 27/12/2014) para entrar em contato, através desta fanpage ("Estudar Computação") ou pelo e-mail lelimaufc@gmail.com. Caso contrário, o sorteio será refeito. Quando mais rápido o ganhador entrar em contato, mais rápido o livro será entregue (se entrar em contato em até 2 dias, o livro ainda poderá ser entregue esse mês).
5. A Novatec conferirá se o ganhador seguiu as regras da promoção. Se estiver tudo certo, o livro escolhido pelo ganhador será enviado. Caso contrário, o sorteio será refeito.

Link para participar do sorteio:
https://www.sorteiefb.com.br/tab/promocao/411991

***********************************************

Novatec Editora lança livro sobre desenvolvimento web com HTML5
HTML5 em Ação é uma introdução ao assunto por meio de códigos e exemplos do mundo real

Há uma boa razão para o HTML5 ser um dos tópicos mais falados do desenvolvimento web. Além de ser a última versão da linguagem de marcação da web, define um padrão totalmente novo para o desenvolvimento de aplicações. 
O HTML5 é a primeira versão a adotar a web como uma plataforma para o desenvolvimento de aplicativos web, e não constitui apenas tags e recursos novos adicionados a um velho padrão. Ele é a base da Web moderna, alavancando seus serviços interativos, UI de página única, jogos interativos e aplicativos empresariais complexos. Tem também suporte ao desenvolvimento de aplicativos móveis baseados em padrões, recursos poderosos (como o armazenamento local e WebSockets), ótimas APIs de áudio e vídeo e novas opções de layout com o uso de CSS3, SVG e Canvas.
O livro HTML5 em Ação lançado pela Novatec Editora é uma introdução completa ao assunto direcionada a desenvolvedores de aplicações web, web designers e interessados no assunto. A obra examina a especificação HTML5 por meio de códigos e exemplos do mundo real e é um guia útil e prático para a construção segura de aplicativos e sites.
O conteúdo inclui explicações sobre os novos elementos semânticos, tipos de entrada de formulário, design de aplicativo de página única, criação de elementos gráficos interativos, aplicativos web móveis e tudo sobre os novos recursos HTML5.
Sobre os autores:
Rob Crowther é desenvolvedor web, blogueiro e autor de Hello! HTML5 & CSS3.
Joe Lennon é desenvolvedor de aplicativos empresariais móveis.
Ash Blue constrói projetos interativos premiados.
Greg Wanish é desenvolvedor independente da Web e de e-commerce.



Livro que ensina passo a passo para a criação de lojas virtuais é lançado pela Novatec Editora
E-Commerce com PHP e MySQL” ensina o processo de criação de lojas online seguras e eficientes 
A pergunta para a qual todo desenvolvedor web de lojas virtuais quer encontrar a resposta: como criar um site de e-commerce bom e seguro? O sucesso de qualquer site depende de sua confiabilidade e de seu desempenho, e foi pensando nisso que o autor Larry Ullman escreveu o livro E- Commerce com PHP e MySQL, um guia com um passo a passo completo para a criação de sites de e-commerce, lançado pela Novatec Editora.
O livro conduz o leitor por todos os passos do processo de desenvolvimento: design da interface visual, criação do banco de dados, apresentação do conteúdo, criação de um catálogo online, administração do carrinho de compras, tratamento dos pedidos, processamento dos pagamentos e atendimento. 
E-Commerce com PHP e MySQL utiliza dois exemplos com vários recursos e diversos objetivos para apresentar a maior variedade possível do que significa fazer um site eficiente. Explica também o método Stripe para processamento de pagamentos e as alterações mais recentes nas opções e metodologias do PayPal e do Authorize.net
O leitor aprenderá a criar um ambiente de servidor e um banco de dados seguros, utilizar transações seguras, evitar vulnerabilidades comuns, incorporar diferentes gateways de pagamento, fazer o design de sites escaláveis fáceis de manter e muito mais.
Sobre o autor:
Larry Ullman é escritor, instrutor e desenvolvedor. Já escreveu inúmeros livros aclamados pela crítica, que já venderam mais de 350 mil cópias em todo o mundo em mais de 20 idiomas. Conforme seus leitores, estudantes e clientes podem atestar, o ponto forte de Larry está em sua habilidade de converter assuntos técnicos e misteriosos em algo compreensível e útil.



Novatec Editora lança livro com abordagem prática sobre AngularJS
Título é indicado para desenvolvedores que querem aprender a tecnologia de forma simples e objetiva

O AngularJS é o framework revolucionário criado e mantido por um time de engenheiros do Google. Ele simplifica o desenvolvimento de aplicações web robustas e de sucesso, e é por isso que tem crescido e sido considerado a melhor tecnologia do momento para os desenvolvedores.
Os estudantes e profissionais que querem aprender a trabalhar com o AngularJS têm agora um material objetivo e simplificado, lançado pela Novatec Editora: o livro AngularJS – Uma abordagem prática e objetiva, do Michael Henrique R. Pereira. Com uma série de exemplos, o título proporciona um conhecimento sólido sobre conceitos do framework.
O leitor será capaz de criar uma aplicação single-page com AngularJS, criar módulos, aplicar MVC de maneira correta, ampliar o vocabulário HTML, utilizar o mecanismo de rotas do AngularJS, internacionalizar a aplicação, criar formulários e aplicar CSS, implementar a comunicação de componentes por meio de eventos, efetuar a comunicação com o servidor, criar uma aplicação utilizando AngularJS e RequireJS e muito mais.
Sobre o autor:
Michael Henrique R. Pereira é arquiteto e desenvolvedor de software, apaixonado por JavaScript e um aficionado por tecnologias de ponta, como o AngularJS. Já desenvolveu aplicações utilizando diversas tecnologias de backend e frontend e dá cursos e palestras sobre várias tecnologias, como tecnologias da plataforma Java, JavaScript, Node.js, arquiteturas RESTful e o próprio AngularJS.

segunda-feira, 1 de dezembro de 2014

Pipeline de exoma completo - parte 2 (alinhamento/mapeamento das sequências)

# 2_alinhamento.sh
# Criado em 15/08/2014
# Modificado em 27/11/2014
# Autor: Leandro Lima <llima@ime.usp.br>

# Baixando o programa para alinhar as sequências (bwa)
# A versão mais nova pode ser encontrada aqui:
# http://sourceforge.net/projects/bio-bwa/files/
cd $mydir/tools
# Quando fiz esse tutorial, a versão mais nova era a 0.7.10
wget http://downloads.sourceforge.net/project/bio-bwa/bwa-0.7.10.tar.bz2
tar -xvjf bwa-0.7.10.tar.bz2
cd bwa-0.7.10
make # para compilar o programa na sua máquina

# Para ficar mais fácil de encontrarmos o bwa, vamos criar uma variável
# para acessar a localização dele na sua máquina. Se você souber o que
# significa adicionar o programa ao PATH, fique à vontade para fazer isso.
BWA=$mydir/tools/bwa-0.7.10/bwa


# O 'bwa' precisa que a referência tenha um índice (index), para que as
# sequência sejam localizadas mais facilmente. A boa notícia é que o
# próprio bwa é usado para criar esse índice.

# Comando para criar o arquivo de índices do genoma.
# Isso pode levar alguns minutos.
$BWA index $hg19

# Instalando o 'samtools', para visualização de arquivos sam/bam
# http://sourceforge.net/projects/samtools/files/latest/download
cd $mydir/tools
wget http://downloads.sourceforge.net/project/samtools/samtools/1.0/samtools-1.0.tar.bz2
tar -xvjf samtools-1.0.tar.bz2
cd samtools-1.0
make
SAMTOOLS=$mydir/tools/samtools-1.0/samtools

# Agora vamos para a parte do alinhamento.
cd $mydir/results
mkdir 2_aln
cd 2_aln

# ALINHAMENTO
# Isso também vai levar bastante tempo, dependendo do número de sequências
# a serem mapeadas. Basicamente é a parte mais demorada do pipeline.
# O 'bwa' gera um arquivo de saída que contem informações sobre todas as
# sequências usadas no alinhamento (como: onde foram mapeadas, se foram
# mapeadas perfeitamente ou se houve inclusão, remoção ou troca de bases,
# e até mesmo se a sequência não foi mapeada em nenhum lugar). Esse arquivo
# (SAM, de "Sequence Alignment/Map") é bem grande, já que guarda bastante
# informações sobre as sequências. No entanto, ele tem uma versão compactada,
# ou binária (BAM), que pode ser gerada usando-se o programa samtools.
# As 4 próximas linhas, que estão comentadas, equivalem exatamente às próximas
# linhas que vêm neste script. Vamos usar o 'bwa' para mapear as sequências,
# e depois pegar a saída do mapeamento (arquivo SAM) e transformar num
# arquivo BAM. A diferença é que os comandos não comentados fazem isso sem
# precisar guardar o arquivo SAM (grande), economizando espaço em disco.
# Isso é muito bom, ainda contando com o fato de que o arquivo SAM pode ser
# gerado usando-se o arquivo BAM através do programa 'samtools'.

# Saiba mais sobre o 'bwa':
# http://bio-bwa.sourceforge.net/bwa.shtml

# Saiba mais sobre o 'samtools':
# http://samtools.sourceforge.net/samtools.shtml

# Você não precisa rodar as 4 linhas abaixo!
# $BWA mem -t 4 $hg19 $SINGLE > aln_se.sam
# $BWA mem -t 4 $hg19 $R1 $R2 > aln_pe.sam
# $SAMTOOLS view -Sb aln_se.sam > aln_se.bam
# $SAMTOOLS view -Sb aln_pe.sam > aln_pe.bam

# Como explicado anteriormente, os comandos abaixo irão mapear
# as sequências usando o 'bwa' (com 4 threads, ou seja, seu
# mapeamento será executada em 4 processos paralelamente),
# depois a saída desse alinhamento é passada como entrada
# para o programa 'samtools' com a opção 'view', que irá pegar
# um arquivo SAM (argumento 'S') e gerar um arquivo binário
# (argumento 'b').
$BWA mem -t 4 $hg19 $SINGLE | $SAMTOOLS view - -Sb > aln_se.bam
$BWA mem -t 4 $hg19 $R1 $R2 | $SAMTOOLS view - -Sb > aln_pe.bam

# Depois, iremos juntar as sequências pareadas (método "paired-end")
# com as sequências não-pareadas (método "single-end") usando
# o programa 'samtools' com a opção 'merge'.
$SAMTOOLS merge aln_se_pe.bam aln_se.bam aln_pe.bam

# Agora, vamos visualizar algumas informaçõe sobre os arquivos
# usando o programa 'samtools' com a opção 'view'.

# Primeiramente, vamos entender como funciona um arquivo SAM.
# Um arquivo SAM (ou BAM) contem algumas colunas com diversas
# informações sobre cada sequência.
# Coluna 1: o nome da sequência (que originalmente estava no
# arquivo "fastq").
# Coluna 2: contem um número inteiro que é a soma de diversos
# valores menores que apresentam características da sequência
# e seu alinhamento.
# Coluna 3: nome da sequência que serviu de referência para o
# alinhamento (nesse caso, um cromossomo).
# Coluna 4: a posição, na referência (cromossomo), em que o
# alinhamento começou.
# Coluna 5: qualidade do alinhamento/mapeamento

# Saiba mais sobre as especificações dos arquivos SAM/BAM:
# http://samtools.sourceforge.net/samtools.shtml#5

# Quant. de sequências pareadas no arquivo de single-end
$SAMTOOLS view -f 0x1 aln_se.bam | wc -l 

# Quant. de sequências pareadas no arquivo de paired-end
$SAMTOOLS view -f 0x1 aln_pe.bam | wc -l 

# Quant. de sequências pareadas no arquivo com todas as sequências (merge)
$SAMTOOLS view -f 0x1 aln_se_pe.bam | wc -l 

# Quant. de sequências mapeadas
$SAMTOOLS view -F 0x4 aln_se.bam | wc -l 
# Quant. de sequências não-mapeadas
$SAMTOOLS view -f 0x4 aln_se.bam | wc -l 

# Obs: a soma do número de sequências mapeadas com o número de sequências
# não-mapeadas sempre deve ser igual ao total de sequências
$SAMTOOLS view aln_se.bam | wc -l 

$SAMTOOLS view -F 0x4 aln_pe.bam | wc -l 
$SAMTOOLS view -F 0x4 aln_se_pe.bam | wc -l 

# Observe que o número de seqs. mapeadas do arquivo com todas as seqs.
# deve ser a soma das seqs. single-end (189558) com as seqs. paired-end (14797410)
# 189558 + 14797410 = 14986968

# Depois de ver essas estatísticas, podemos remover os arquivos
# separados, para economizar espaço em disco.
rm aln_se.bam aln_pe.bam


Acesse aqui o pipeline completo: http://www.estudarcomputacao.com/2014/09/pipeline-de-exoma-completo-parte-0.html

quinta-feira, 27 de novembro de 2014

Pipeline de exoma completo - parte 1 (FastQC e qualidade das sequências)

# Parte 1: controle de qualidade das sequências
# Criado em 15/08/2014
# Modificado em 27/11/2014
# Autor: Leandro Lima <llima@ime.usp.br>

# Vamos continuar usando o diretório padrão
# utilizado na parte 0 do pipeline

cd $mydir # 'cd' muda o diretório de trabalho para $mydir

# FERRAMENTAS
# Agora vamos criar um diretório específico
# para guardar as ferramentas
mkdir tools
cd tools

# FASTQC - Ferramenta para olhar verificar a qualidade geral das sequências
# Mais informações sobre o programa podem ser encontradas aqui:
# http://www.bioinformatics.babraham.ac.uk/projects/fastqc/

wget http://www.bioinformatics.babraham.ac.uk/projects/fastqc/fastqc_v0.11.2.zip
unzip fastqc_v0.11.2.zip
cd FastQC/
chmod +x fastqc # Adicionando permissão de execução
FASTQC=$mydir/tools/FastQC/fastqc

# Criando um diretório para o fastqc
cd $mydir/results
mkdir 1_fastqc
cd 1_fastqc

# Rodando o fastqc para os diferentes arquivos de sequências
$FASTQC $R1 
$FASTQC $R2 
$FASTQC $SINGLE

# Abra os arquivos "html" gerados para dar uma olhada nas estatísticas geradas.
# Nesse tutorial não iremos a fundo em todas essas informações, mas é interessante
# passar por todas elas e tentar entender o que é cada medida.
# É desejável que para todas as medidas, haja um "sinal verde", mas não é isso que
# ocorre geralmente. Vou chamar atenção principalmente para a medida "Per base
# sequence quality", que mostra a qualidade média das bases por posição nas sequências.
# Por causa do processo de leitura das bases, é esperado que as bases iniciais tenham
# uma qualidade melhor, e que depois a qualidade vá caindo. Por enquanto, não vamos
# remover nenhuma sequência, mas poderemos filtrá-las lá na frente, no processo.
# Algumas pessoas cortam/quebram a sequência para que ela fique somente com a
# parte que tem mais qualidade. No entanto, isso vai confundir os programas
# que forem remover sequências repetidas (duplicadas), lá na frente, neste
# pipeline. Portanto, deixaremos as sequências inalteradas. Nas próximas
# etapas, iremos usar a medida de qualidade do genótipo (genotype quality),
# que une várias medidas numa só, levando em consideração, além da qualidade
# do alinhamento, a qualidade da base.


Acesse aqui o pipeline completo: http://www.estudarcomputacao.com/2014/09/pipeline-de-exoma-completo-parte-0.html

quinta-feira, 30 de outubro de 2014

Sorteio do livro "Python para desenvolvedores", da Editora Novatec

Lançado o livro Python para Desenvolvedores, um curso rápido e prático sobre o assunto
A Novatec traz mais um título de Python repleto de exemplos para desenvolvedores
As linguagens dinâmicas, que no passado eram vistas apenas como linguagens script, hoje conquistam cada vez mais espaço no mercado, chamando a atenção de grandes fornecedores de tecnologia. Entre elas, o Python se destaca como uma das mais populares e poderosas.
O Python inclui diversas estruturas de alto nível (listas, dicionários, data/hora, complexos e outras) e uma vasta coleção de módulos prontos para uso, além de frameworks de terceiros que podem ser adicionados. Também inclui recursos como geradores, introspecção, persistência, metaclasses e unidades de teste. 
O livro Python para Desenvolvedores, lançado pela Novatec Editora, descreve os principais recursos da linguagem Python, focado em sua versão 3.3, com um texto direto e conciso, repleto de exemplos para descrever desde os conceitos mais básicos até recursos avançados, como a integração com outras linguagens.
O livro aborda conceitos básicos de linguagem, biblioteca-padrão, geradores, programação funcional, classes, testes automatizados, armazenamento de dados, aplicações web, processamento numérico, interface gráfica, computação gráfica, processamento distribuído, plataformas portáteis, empacotamento e distribuição e integração com aplicativos e outras linguagens.
Sobre o autor:
Luiz Eduardo Borges é engenheiro eletrônico e analista de sistemas, com pós-graduação em Computação Gráfica pela Universidade do Estado do Rio de Janeiro (UERJ). Atua há mais de duas décadas na área de informática.

Clique aqui para ir para a página do sorteio, que vai ocorrer dia 24/11/2014.
https://www.sorteiefb.com.br/tab/promocao/397685


domingo, 28 de setembro de 2014

Pipeline de exoma completo - parte 0 (Bioinformática)

Atualização com as partes já publicadas.

Parte 0: referências e conceitos básicos
http://www.estudarcomputacao.com/2014/09/pipeline-de-exoma-completo-parte-0.html

Parte 1: controle de qualidade das sequências
http://www.estudarcomputacao.com/2014/11/pipeline-de-exoma-completo-parte-1.html

Parte 2: alinhamento/mapeamento das sequências
http://www.estudarcomputacao.com/2014/12/pipeline-de-exoma-completo-parte-2.html

----------------------------------------------------------

# Parte 0: referências e conceitos básicos
# Criado em 15/08/2014
# Modificado em 30/09/2014
# Autor: Leandro Lima 

# Oi pessoal. Tudo bem?
# Meu nome é Leandro de Araújo Lima. No momento (fim de 2014) estou concluindo meu
# doutorado em Bioinformática na Universidade de São Paulo (USP), e estou fazendo
# estágio sanduíche no Children's Hospital of Philadelphia (http://www.chop.edu),
# mais especificamente no Center for Applied Genomics (http://caglab.org).

# Você pode me encontrar através do e-mail llima@ime.usp.br ou através da página
# http://www.ime.usp.br/~llima, que tem mais informações sobre mim.

# Este pipeline foi feito para quem não tem experiência com Bioinformática, e
# mesmo para quem não tem experiência com o uso do terminal do Linux (ou Mac,
# por exemplo). Se você tem experiência com o terminal e/ou Bioinformática, mas
# não tem experiência com análise de exomas, este pipeline também é pra você.

# Antes de começar, você precisa ter algumas noções de Biologia Molecular.
# Se você não sabe ou não lembra dois conceitos de DNA, cromossomo e genoma
# (humanos), recomendo que você dê uma relembrada. E, é claro, exoma!
# http://pt.wikipedia.org/wiki/Ácido_desoxirribonucleico
# http://pt.wikipedia.org/wiki/Sequência_de_DNA
# http://pt.wikipedia.org/wiki/Cromossomo
# http://pt.wikipedia.org/wiki/Genoma
# http://pt.wikipedia.org/wiki/Genoma_humano
# http://pt.wikipedia.org/wiki/Exoma

# Não continue sem saber os conceitos acima. Dê pelo menos uma olhada nesses
# artigo da Wikipedia. Alguns deles, inclusive, são bem curtos.

# Recomendo também que você leia alguns post no blog da Genomika.
# Os posts estão em português, e muito bem escritos.
# http://www.genomika.com.br/blog/

# Continuando...

# Todos os comandos a seguir deverão ser executados em um terminal, seja este
# no Linux, BSD ou Mac (por exemplo). Esse código que você está vendo, incluindo
# este texto nas linhas que começam com '#' (jogo-da-velha), são um código de
# uma linguagem própria para ser interpretada e usada no terminal. Esses programas,
# que se comunicam com o Sistema Operacional, são chamados de "shell". O que
# você vai executar são comandos do "bash", que é um tipo específico de shell.
# Saiba mais sobre o "bash": http://pt.wikipedia.org/wiki/Bash (artigo muito legal!)

# Os comandos poderão/deverão ser executados copiando-os e colando-os no terminal.
# Todas as linhas que NÃO começam com o "#" são comandos executáveis. Já as linhas
# que começam com o "#" são comentários, e serão descartadas no terminal.


# OK, agora vamos começar!

# Abra o terminal do Linux e crie um diretório de trabalho. Você pode fazer isso
# usando o comando "mkdir ". Certifique-se de ter uma
# máquina com pelo menos 4GB de memória e 100GB de espaço em disco.

# Caso você não tenha tanto espaço em disco, entre em contato, por favor!
# Posso disponibilizar arquivos menores.

# O "mydir" vai ser o diretório de trabalho. Você pode substituir $PWD por outro
# diretório qualquer ou simplesmente copiar a linha abaixo para tornar o diretório
# em que você está o diretório de trabalho. "mydir" vai passar a ser uma variável
# que vai ser referenciada usando o caracter $ na frente (ou seja, $mydir)

mydir=$PWD

cd $mydir # 'cd' muda o diretório de trabalho para $mydir

# REFERÊNCIAS
mkdir reference # 'mkdir' cria um diretório
cd reference 

# Baixando o genoma humano (versão de montagem: GRCh37, para o 1000 genomas)
# O comando 'wget' serve para baixar um arquivo.
wget ftp://gsapubftp-anonymous@ftp.broadinstitute.org/bundle/2.8/b37/human_g1k_v37.fasta.gz
gunzip human_g1k_v37.fasta.gz # gunzip para descompactar o arquivo .gz

# Saiba mais sobre as versões usadas no 1000 genomas aqui:
# http://www.1000genomes.org/faq/which-reference-assembly-do-you-use

# esse comando vai criar uma variável que representa o caminho para o
# genoma e pode ser acessada pelo terminal
hg19=$mydir/reference/human_g1k_v37.fasta

# Entenda mais sobre as versões do genoma no link abaixo
# http://en.wikipedia.org/wiki/Reference_genome

# Observe que o arquivo tem a extensão 'fasta'
# Em poucas palavras, um arquivo fasta é um arquivo texto com sequências.
# Nesse arquivo do genoma humano, cada sequência é um dos cromossomos
# humanos, e mais algumas sequências de regiões ainda não montadas
# completamente, ou de DNA mitocondrial.
# Você pode ler mais sobre as especificações do arquivo fasta nos links abaixo.
# http://rosalind.info/glossary/fasta-format/
# http://en.wikipedia.org/wiki/FASTA_format

# Para visualizar um arquivo de texto, você pode usar o comando "less". Por exemplo:

less $hg19

# Pressione "q" para sair

# Você vai observar que o arquivo contem, além das sequências, os nomes (rótulos)
# da cada sequência. As linhas com esses nomes têm um sinal de maior (">") logo
# no início. Você pode usar o comando "grep" para ver quais os nomes das sequências
# que estão no arquivo do hg19. Por exemplo:

grep '^>' $hg19
# o sinal circunflexo diz para o grep que você só quer pegar o sinal ">" que esteja
# no início da linha.

# AMOSTRAS
# Agora vamos criar um diretório e baixar os arquivos das sequências que deverão ser mapeadas
cd .. # vai para o diretório pai
mkdir data
cd data

# O "1000 genomas" é um projeto que tem o objetivo de encontrar as variantes mais
# frequentes em diferentes populações. Foram escolhidas mais de 1000 pessoas com
# origens diferentes (afro-americanos, europeus, asiáticos, etc.) e o genoma dessas
# pessoas foi utilizado para encontrar as frequências das variações em cada população,
# além de deixar públicos os dados brutos das sequências.
# Saiba mais sobre o projeto "1000 genomas": http://www.1000genomes.org/

# O sequenciamento das amostras do 1000 genomas foi feito usando o método pareado
# ("paired-end"). Nesse método, a máquina que faz o sequenciamento faz a leitura
# das sequências de duas formas, que é usando cada uma das pontas da sequência
# gerada como início (ou seja, uma leitura do começo para o final, e outra do
# final para o começo). Essa leituras são colocadas em arquivos diferentes,
# mas têm o mesmo nome, só mudando a indicação de se é a sequência 1 (do
# início) ou a 2 (do fim). Depois de baixar as amostras, vamos ver isso.
# Também há um arquivo separado com as sequências cujo par não foi encontrado.
# Saiba mais sobre o sequnciamento pareado ("paired-end"):
# http://en.wikipedia.org/wiki/Paired-end_tag
# http://www.cureffi.org/2012/12/19/forward-and-reverse-reads-in-paired-end-sequencing/
# http://technology.illumina.com/technology/next-generation-sequencing/paired-end-sequencing_assay.html

# Baixando dados das sequências de uma amostra do projeto 1000 genomas
# Sequências do início
wget ftp://ftp-trace.ncbi.nih.gov/1000genomes/ftp/data/HG01242/sequence_read/SRR100169_1.filt.fastq.gz
# Sequências do fim
wget ftp://ftp-trace.ncbi.nih.gov/1000genomes/ftp/data/HG01242/sequence_read/SRR100169_2.filt.fastq.gz
# Sequências sem par
wget ftp://ftp-trace.ncbi.nih.gov/1000genomes/ftp/data/HG01242/sequence_read/SRR100169.filt.fastq.gz

# Vamos criar variáveis para referenciar o caminho completo das sequências
R1=$mydir/data/SRR100169_1.filt.fastq.gz
R2=$mydir/data/SRR100169_2.filt.fastq.gz
SINGLE=$mydir/data/SRR100169.filt.fastq.gz

# Vamos visualizar um dos arquivos "fastq". Como ele está compactado,
# vamos usar o comando "zcat". Como não queremos que todo o conteúdo
# do arquivo seja jogado de uma vez só na tela, vamos usar o comando
# "less" para abrir o conteúdo do arquivo e olhá-lo com calma.
# Para pegar a saída de um programa (ex: zcat) e direcionar para a entrada
# de outro programa (ex: less), usamos o sinal da barra vertical ("|"),
# também conhecido como "pipe". Por exemplo:
zcat $R1 | less # Lembre-se de pressionar "q" para sair

# Observação: os dois comandos acima podem ser resumidos usando-se 
# o comando "zless" (ex: zless $R1).

# O comando "wc" ("word count") serve para contar palavras em um
# arquivo. Mas além de contar palavras, ele também tem uma opção
# para contar linhas (-l). Por exemplo:
wc -l $R1 # isso vai contar o número de linhas do arquivo $R1

# Arquivos "fastq" são uma extensão do arquivo "fasta",
# mas que possibilita incluir a qualidade das bases.
# Essa qualidade é importante para sabermos o quanto devemos confiar
# se cada base é mesmo o que foi lido no processo de sequenciamento.
# No arquivo "fastq", as sequências são mostradas a cada 4 linhas.
# Veja isso usando o comando "head", que mostra as primeiras linhas
# de um arquivo texto (use a opção -n para definir a quantidade,
# que por padrão é de 10 linhas). Nos exemplos abaixo, serão mostradas
# a 8 primeiras linhas (ou seja, 2 sequências de cada arquivo. Compare
# os nomes das sequências de R1 com as sequências de R2.
zcat $R1 | head -n8
zcat $R2 | head -n8

# A primeira linha, que inicia com "@", apresenta o nome da sequência
# (no arquivo "fasta" era o símbolo ">", lembra?).
# A segunda linha apresenta a sequência propriamente dita.
# A terceira linha contem somente um sinal de "+".
# A quarta linha contem as qualidades de cada letra representada na
# 2a linha (cada caractere representa um valor de qualidade da base).
# Entenda mais sobre o formato de arquivo de sequências "fastq"
# http://en.wikipedia.org/wiki/FASTQ_format
# http://maq.sourceforge.net/fastq.shtml
# http://rosalind.info/problems/tfsq/

# Exercícios
# 1 - Quantas sequências há em cada arquivo?
numero_de_linhas=`zcat $R1 | wc -l`
expr $numero_de_linhas / 4
# ou, em uma linha só...
zcat $R1 | echo $((`wc -l`/4))

# O número de linhas/sequências do arquivo R2 deve ser exatamente
# igual ao número de linhas do arquivo R1, pois para cada sequência
# do arquivo R1, há o par correspondente no arquivo R2.

# Infelizmente, não podemos fazer como nos arquivos "fasta",
# buscando pelas linhas que começam com "@" com o grep e 
# depois contá-las. Isso porque o caracter "@" também é
# usado como caracter de qualidade, então ele não só aparece
# no início das linhas com nomes (o mesmo ocorre com o "+").


# 2 - Como imprimir somente os nomes (labels) das sequências (reads)?
zcat $R1 | awk 'NR % 4 == 1' | less
# Observação: o programa "awk" está sendo usado para verificar uma
# condição, que é se a linha sendo lida é a primeira de uma série de 4
# (ou seja, se o número da linha dividido por 4 deixa resto 1) 


terça-feira, 5 de agosto de 2014

Sorteio do primeiro volume da série "Vida de Programador"

Novatec Editora lança o primeiro volume da série Vida de Programador
Tirinhas bem-humoradas sobre a vida dos programadores vão virar série de livros
As tirinhas do site Vida de Programador fazem sucesso na internet entre estudantes e profissionais da área de informática que se identificam com as situações engraçadas que acontecem com os personagens: o Programador, o amigo P.A., o estagiário, o chefe, a esposa e outros que fazem parte das histórias sobre o universo dos programadores.
Andre Noel, criador do site conhecido por seu vício em café (por este motivo, a mancha de café na capa do livro), começou a criar as tirinhas em 2011 como uma forma de desestressar e contar as histórias curiosas e engraçadas que viveu e ouviu. O Vida de Programador cresceu, ganhou público fiel na internet e as tirinhas serão lançadas em uma série de livros publicados pela Novatec Editora.
Vida de Programador – Volume 0 é o primeiro da série e contém 136 páginas de tirinhas e outras histórias sobre o dia a dia dos profissionais de TI. Os leitores vão se divertir com o sarcasmo do personagem Programador lidando com o estagiário, as dificuldades ao tentar explicar o que é programação para sua mãe, a falta de paciência com as dúvidas dos usuários e os pedidos inesperados do chefe.
Sobre o autor
Nascido em São Paulo (SP), mudou-se para Maringá (PR) aos 6 anos de idade (não por iniciativa própria) e vive lá desde então. Ainda criança, teve o primeiro contato com o computador na empresa de seu pai, onde jogava joguinhos em um monitor monocromático.
Desde pequeno apaixonou-se pela computação, chegando a pedir um “Apple Macintosh” para a Porta da Esperança, mesmo sem saber direito o que isso significava.
Mais novo de três irmãos, teve o primeiro computador em casa somente aos 14 anos, um 386, que tempos depois ele estragou testando para descobrir para quê serviam alguns arquivos do sistema.
Formou-se em Ciência da Computação na UEM (Universidade Estadual de Maringá), onde conheceu o Linux, tornou-se usuário em 2002 e membro oficial da comunidade Ubuntu em 2005. Atualmente está fazendo mestrado, também em Ciência da Computação.
Faz programas por dinheiro desde 2002, sendo um profundo conhecedor de métodos alternativos (gambiarras) e totalmente viciado em café.
Mantém a sua lucidez graças à sua linda esposa Raquel e desenvolveu com perfeição duas novas instâncias da classe Ser Humano, o Mateus e a Gabrielle.
Em 2011, começou o site Vida de Programador, como uma forma de desestressar e contar as diversas histórias que viveu e ouviu. Só consegue desenhar porque um dia aprendeu a manipular vetores. Nunca imaginou a proporção que isso ia tomar e que um dia escreveria um livro sobre isso.
Por fim, graças à sua inigualável beleza, passou a aventurar-se como videologger no YouTube e parece que está dando certo.

Detalhes do livro:

Título: Vida de Programador
Autor: Andre Noel
ISBN: 978-85-7522-320-8
Número de páginas: 136
Link para o sorteio:
https://www.sorteiefb.com.br/tab/promocao/371875



segunda-feira, 30 de junho de 2014

Sorteio do livro "Web Design Responsivo", do Maujor, lançado pela Editora Novatec

Olá, pessoal! Está no ar mais um sorteio de livro no blog. Dessa vez é o livro "Web Design Responsivo", do autor Maurício Samy Silva, publicado pela Editora Novatec. Veja abaixo mais informações sobre o livro e o sorteio, que será realizado dia 28/07/2014.



Sorteio do livro "Web Design Responsivo"
Título ensina a criar páginas web que funcionam em qualquer dispositivo 
Com a internet presente em grande parte das tarefas do cotidiano das pessoas e as inúmeras opções de fontes de informação existentes na web, os usuários estão cada vez mais exigentes em relação à experiência de uso da web. Diminui a tolerância a sites com performance ruim, dificuldades de uso, inacessibilidade e outros incômodos que ainda são bastante comuns. 
Em dispositivos móveis, é ainda mais difícil manter o usuário se a performance não for satisfatória. Acessar via mobile um site que demora para carregar e que não possui funcionamento simples e intuitivo faz com que boa parte desista do acesso. 
Para profissionais e estudantes envolvidos na criação de sites e aplicações para a web que querem aprender a criar páginas que funcionam bem em qualquer dispositivo, o autor Maurício Samy Silva, o Maujor, escreveu o livro Web Design Responsivo, publicado pela Novatec Editora. 
O web design responsivo é uma abordagem de web design que permite que as páginas web se adaptem e funcionem em qualquer dispositivo, de computadores a smartphones. Com informações detalhas sobre as técnicas do design responsivo, seus princípios, métodos e tecnologias aplicáveis, Maujor explica através de exemplos práticos e de forma simples e clara tudo o que é preciso saber para a criação de uma página com design adaptável e layout responsivo. 
Com o livro Web Design Responsivo, os leitores obterão o conhecimento que precisam para o planejamento e execução das funcionalidades de suas criações e todas as ferramentas e técnicas necessárias para o desenvolvimento de sites acessíveis e com melhor experiência ao usuário. 

Sobre o autor: 
Maurício Samy Silva é graduado em Engenharia Civil pelo Instituto Militar de Engenharia (IME).
É um obstinado divulgador dos Padrões Web e desenvolve o site do Maujor (maujor.com) e o Blog do Maujor (maujor.com/blog).
Em 2011, lançou o site maujorsvg.com.br, destinado à divulgação da emergente tecnologia SVG. Maujor, como é conhecido na Internet, escreve para revistas de desenvolvimento web, é palestrante em eventos de TI e autor dos livros Construindo sites com CSS e (X)HTMLCriando sites com HTMLjQueryAJAX com jQueryJavaScriptHTML5CSS3JQuery MobileJQuery UI e Fundamentos da SVG; todos publicados pela Novatec Editora. 

Detalhes do livro:
Título: Web Design Responsivo
 Autor: Maurício Samy Silva
ISBN: 978-85-7522- 392-5 
Número de páginas: 336



Regulamento
1. O participante deverá curtir a página da Novatec (https://www.facebook.com/novateceditora)
2. O participante deverá ter um endereço de entrega no Brasil
3. O sorteio será realizado até 23h59 do dia 28/07/2014
4. O ganhador terá até 1 (uma) semana (dia 04/08/2014) para entrar em contato, através desta fanpage ("Estudar Computação") ou pelo e-mail lelimaufc@gmail.com. Caso contrário, o sorteio será refeito.
5. A Novatec conferirá se o ganhador seguiu as regras da promoção. Se estiver tudo certo, o livro será enviado para o ganhador do sorteio.
Caso contrário, o sorteio será refeito.

Link do sorteio: http://sorteiefb.com.br/tab/promocao/359245