Pré-processamento de
Sequências de Transcritos
Daniel Guariz Pinheiro, PhD.
Laboratório de Genética Molecular e Bioinformática
Departamento de Genética
Faculdade de Medicina de Ribeirão Preto
Universidade de São Paulo
Planejamento
• Preparação da árvore de diretórios
• Obtenção dos dados
– dataset1 (Roche 454 GS FLX)
– dataset2 (Illumina Genome Analyzer)
• Pré-processamento
– Mapeamento
– Montagem “de novo”
Introdução
FERRAMENTAS PARA O PRÉPROCESSAMENTO DE SEQUÊNCIAS DE
TRANSCRITOS
Preparação (aula1)
•
Organização da estrutura de diretórios para a aula 1
raw
dataset1
processed
aligned
bwa
raw
processed
dataset2
bwa
aligned
bowtie
hg19
classes
ref
refGene
contaminants
bwa
hg19
bowtie
indexes
scripts
contaminants
blast
Preparação (aula2)
•
Organização da estrutura de diretórios para a aula 2
raw
processed
dataset1
aligned
bwa
assembled
newbler
raw
processed
bwa
dataset2
aligned
bowtie
assembled
classes
velvet
hg19
ref
refGene
contaminants
bwa
hg19
bowtie
indexes
scripts
contaminants
blast
Comandos úteis
#Criar diretório (mkdir)
mkdir –p /work/CBAB/nomedoaluno/
#Informar diretório atual (pwd)
pwd
#Trocar de diretório (cd)
cd /work/CBAB/nomedoaluno/
#Listar todo o conteúdo do diretório (ls)
ls /work/CBAB/nomenoaluno/*
#Determinar o tipo do arquivo (file)
file undeterminedfiletype.unk
#Criar um atalho (ln)
ln -s /source/file.txt /destiny/linktofile.txt
#Descompactar arquivos no formato .gz
gunzip file.gz
#Descompactar arquivos no formato .tar.gz ou .tgz
tar -zxvf file.tar.gz
#Descompactar arquivos no formato .tar
tar -xvf file.tar
#Descompactar arquivos no formato .tar.bz2 ou .tar.bz
tar -jxvf file.tar.bz2
#Descompactar arquivos no formato .bz2 ou .bz
bunzip2 file.bz2
#Descompactar arquivos no formato .zip
unzip file.zip
#Atribuir permissão de execução (chmod)
chmod a+x script.sh # p/ todos os usuários
#Imprimir as n linhas de um arquivo (head)
head -10 file1.txt # primeiras 10 linhas
#Imprimir todas linhas de arquivo(s) (cat)
cat file1.txt file2.txt
Repositórios públicos
•
•
•
SRA (NCBI Sequence Read Archive): http://www.ncbi.nlm.nih.gov/sra
ENA (EBI European Nucleotide Archive): http://www.ebi.ac.uk/ena/
DRA (DDBJ Sequence Read Archive): http://trace.ddbj.nig.ac.jp/dra/index_e.shtml
[http://trace.ddbj.nig.ac.jp/dra/documentation_e.shtml]
dataset1
• Pool de 2 amostras de culturas de melanócitos de epiderme humana
normal (454 GS FLX)
– SRA
• http://trace.ncbi.nlm.nih.gov/Traces/sra/sra.cgi?view=download_reads
– GEO
• http://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSM566260
– SRR063336.sra
• NCBI SRA Toolkit (sff-dump)
–
http://trace.ncbi.nlm.nih.gov/Traces/sra/sra.cgi?cmd=show&f=software&m=software&s=software
sff-dump -A SRR063336.sra
– SRR063336.sff
– Aspera Download (command-line)
• ascp -i ~/.aspera/connect/etc/asperaweb_id_dsa.putty -Q -l100m
[email protected]:/sra/srainstant/reads//ByRun/sra/SRR/SRR063/SRR063336/SRR063336.sra .
dataset2
• Amostra de uma linhagem celular de linfoblastos humanos
obtidas de paciente com câncer de maama (Illumina GA)
– http://trace.ncbi.nlm.nih.gov/Traces/sra/sra.cgi?view=download_reads
– ERR022690.sra
• NCBI SRA Toolkit (fastq-dump)
–
http://trace.ncbi.nlm.nih.gov/Traces/sra/sra.cgi?cmd=show&f=software&m=software&s=software
fastq-dump -A ERR022690.sra
– ERR022690.sra_1.fastq
– ERR022690.sra_2.fastq
– Aspera Download (command-line)
• ascp -i ~/.aspera/connect/etc/asperaweb_id_dsa.putty -Q -l100m
[email protected]:/sra/srainstant/reads//ByRun/sra/SRR/SRR022/SRR022690/SRR022690.sra .
Manipulação arquivos fastq
• FASTX-Toolkit
– http://hannonlab.cshl.edu/fastx_toolkit/
– Ferramentas executadas via linha de comando para
manipulação das sequências no formato FASTQ. Por
exemplo, produzem estatísticas de qualidade das leituras,
realizam uma poda de qualidade ou de adaptadores, etc.
• Apropriado para dados de Illumina;
• Pode ser utilizado para dados de Roche 454 convertidos para o
formato FASTQ;
– Galaxy (Giardine et al., 2005)
• http://g2.bx.psu.edu/
Checagem de qualidade
fastx_quality_stats -Q 33 -i ERR022690.sra_1.fastq -o ERR022690.sra_1.fastq_qual_stat
fastx_quality_stats -Q 33 -i ERR022690.sra_2.fastq -o ERR022690.sra_2.fastq_qual_stat
The output TEXT file will have the following fields (one row per column):
column = column number (1 to 36 for a 36-cycles read solexa file)
count
= number of bases found in this column.
min
= Lowest quality score value found in this column.
max
= Highest quality score value found in this column.
sum
= Sum of quality score values for this column.
mean
= Mean quality score value for this column.
Q1
= 1st quartile quality score.
med
= Median quality score.
Q3
= 3rd quartile quality score.
IQR
= Inter-Quartile range (Q3-Q1).
lW
= 'Left-Whisker' value (for boxplotting).
rW
= 'Right-Whisker' value (for boxplotting).
A_Count = Count of 'A' nucleotides found in this column.
C_Count = Count of 'C' nucleotides found in this column.
G_Count = Count of 'G' nucleotides found in this column.
T_Count = Count of 'T' nucleotides found in this column.
N_Count = Count of 'N' nucleotides found in this column.
max-count= max. number of bases (in all cycles)
fastq_quality_boxplot_graph.sh -i ERR022690.sra_1.fastq_qual_stat -o ERR022690.sra_1.fastq_qual_stat.png
fastq_quality_boxplot_graph.sh -i ERR022690.sra_2.fastq_qual_stat -o ERR022690.sra_2.fastq_qual_stat.png
FastQC
Ferramenta para análise e controle de qualidade
• http://www.bioinformatics.bbsrc.ac.uk/projects/fastqc/
fastqc seqfile1 seqfile2 .. seqfileN
fastqc
[-o output dir] [--(no)extract] [-f fastq|bam|sam]
[-c contaminant file] seqfile1 .. seqfileN
Estatísticas
•
assemblystats
– http://community.g2.bx.psu.edu/tool/
– Métricas em arquivos fasta
•
•
•
•
•
•
•
Min read length
Max read length
Mean read length
Standard deviation of read length
Median read length
N50 read length
PRINSEQ
– http://prinseq.sourceforge.net
– Métricas em arquivos fasta, qual e fastq
– Filtros
•
•
•
•
•
qualidade
poly(A)
Conteúdo de GC
duplicações
FASTQC
– http://www.bioinformatics.bbsrc.ac.uk/projects/fastqc/
– Necessita conversão para fastq
•
sff2fastq
–
https://github.com/indraniel/sff2fastq
Colapsar sequências
Objetivo: Evitar duplicação de leituras ocorridas na etapa de PCR. Adequado para detecção de
mutações, mas não em expressão gênica diferencial, o melhor é utilizar um modelo que considere a
ocorrência dessas duplicações.
•
FASTX-Toolkit
fastx_collapser -Q 33 -i ERR022690.sra.merged.fastq -o ERR022690.sra.merged.collapsed.fasta
•
PRINSEQ (requer MUITA memória!)
–
•
http://prinseq.sourceforge.net/
in-house perl scripts (requer preferencialmente “nsort” - http://www.ordinal.com caso contrário demora muito
tempo!). Entrada é FASTQ.
–
–
http://lgmb.fmrp.usp.br/redmine-1.0/projects/bitutils/repository
dedup.sh
Obs.: Nas três abordagens acima, no caso de leituras paired-end é necessário concatenar os pares, colapsar as
sequências e depois separá-las novamente.
•
Goby (http://campagnelab.org/software/goby/)
–
–
–
goby 3g
goby 3g
goby 3g
fasta-to-compact
tally-reads
-i
compact-to-fasta
--paired-end --quality-encoding Sanger -d
-x
PE_1.txt
PE.compact-reads
-o
myfilter
-t fastq
-f
myfilter-keep.filter
-i PE.compact-reads
-o PE.compact-reads
-o PE_p1.txt
-p PE_pair.txt
Podas de qualidade (1) /
Cauda poli-A/T
•
prinseq-lite.pl
A filtragem de cauda poli-A/T pode reduzir o número de falsos positivos nos
alinhamentos.
A eliminação de regiões de baixa qualidade pode reduzir o número de falsos
negativos.
Principais argumentos:
-derep
: opção 1 (idêntico)
-min_len
: tamanho mínimo
-out_format
: opção 2 (FASTA e QUAL)
-trim_tail_right
: tamanho mínimo
-trim_tail_left : tamanho mínimo
-trim_qual_step
: passo para o deslize da janela
-trim_qual_window
: tamanho da janela
-out_good
: arquivo de saída
Podas de qualidade (2)
• fastq_quality_trimmer -Q 33 -t 31 -i ERR022690.sra_2.fastq o ERR022690.sra_2_trim31.fastq
–
–
–
–
–
-Q: quality score (33 Phred/64 Illumina)
-t : quality threshold
-l : minimum length
-i : input
-o: output
• Trim.pl (by Nik Joshi)
– http://wiki.bioinformatics.ucdavis.edu/index.php/Trim.pl
– Ideal para leituras paired-ends
• perl Trim.pl --type 2 --qual-threshold 30 --length-threshold 31 -qual-type 0 --pair1 dataset2/input/ERR022690.sra_1.fastq --pair2
dataset2/input/ERR022690.sra_2.fastq --outpair1
dataset2/input/ERR022690.sra_1_trim20.fastq --outpair2
dataset2/input/ERR022690.sra_2_trim20.fastq --single
dataset2/input/ERR022690.sra_trim.fastq
Manipulação de arquivos SFF
• Arquivos .sff (standard flowgram format)
– Converter sff para fasta/qual
sffinfo -seq INPUTREADS.sff > READS.fasta
sffinfo -qual INPUTREADS.sff > READS.qual
– Pirograma
sffinfo -flow INPUTREADS.sff > READS.flow
– Somente ids
sffinfo -a INPUTREADS.sff > ACCS.txt
– Gerar outro sff (lista)
sfffile -i ACCS.txt -o OUTREADS_ACCS.sff INPUTREADS.sff
– Gerar outro sff (aleatório 10k reads)
sfffile –pickr 10k –o OUTREADS_10k.sff
INPUTREADS.sff
Homopolímeros
6
5
4
A
C
T
G
3
2
1
0
1
T
2
C
3
A
4
G
5
A
6
7
?c
GG
key sequence (TCAG) – Calibragem do sinal
• Detecção entre sinais 1 e 2 = 100%.
• Detecção entre sinais 5 e 6 = 20%.
8
9
- AAAAA ?a
Protocolos especiais 454
• Paired-Ends
– Orientação fwd-fwd
• Multiplex
– Adaptadores MID
• Scripts úteis
– http://www.genome.ou.edu/informatics.html
Biblioteca Padrão x Biblioteca MID
Montagem Transcriptoma
com leituras 454
• Desafios extras
– Cauda poly(A)
– Genes ribossomais
• Bancos de dados pré-montados (est2assembly)
• http://www.ncbi.nlm.nih.gov/
– Genoma mitocondrial
• Bancos de dados pré-montados (est2assembly)
• http://www.ncbi.nlm.nih.gov/
– Elementos repetitivos (e.g. elementos transponíveis)
• http://www.girinst.org/repbase/
– Adaptadores/Primers
• http://vbc.med.monash.edu/cgi-bin/wiki.pl/454_HowTo
seqclean
http://sourceforge.net/projects/seqclean/
seqclean <seqfile> [-v <vecdbs>] [-s <screendbs>] [-r <reportfile>]
[-o <outfasta>] [-n slicesize] [-c {<num_CPUs>|<PVM_nodefile>}]
[-l <minlen>] [-N] [-A] [-L] [-x <min_pid>] [-y <min_vechitlen>]
[-m <e-mail>]
Parameters
<seqfile>: sequence file to be analyzed (multi-FASTA)
-c use the specified number of CPUs on local machine(default 1)
-n number of sequences taken at once in each search slice (default 2000)
-v comma delimited list of sequence files to use for end-trimming of <seqfile> sequences
(usually vector sequences)
-l during cleaning, consider invalid the sequences sorter than <minlen> (default 100)
-s comma delimited list of sequence files to use for screening <seqfile> sequences for
contamination
(mito/ribo or different species contamination)
-r write the cleaning report into file <reportfile> (default: <seqfile>.cln)
-o output the "cleaned" sequences to file <outfasta> (default: <seqfile>.clean)
-x minimum percent identity for an alignemnt with a contaminant (default 96)
-y minimum length of a terminal vector hit to be considered(>11, default 11)
-N disable trimming of ends rich in Ns (undetermined bases)
-M disable trashing of low quality sequences
-A disable trimming of polyA/T tails
-L disable low-complexity screening (dust)
-I do not rebuild the cdb index file
-m send e-mail notifications to <e-mail>
Reproduzir a poda no arquivo .qual
cln2qual <cln_report> <qual_file>
RepeatMasker
• Mascarar elementos repetitivos espalhados no
genoma
– e.g., transposons, retrotransposons, ISs
• http://www.repeatmasker.org/
RepeatMasker -qq -no_is -nolow <FASTA FILE> -lib <REPEATLIBFILE> -species
<SPECIES>
-qq
: mais rápido porém menos sensível
-no_is
: não mascarar inserção de sequências de bactérias (IS)
-nolow : não mascarar sequências de baixa complexidade
-pa
: número de processadores
-lib
: arquivo com as sequências dos elementos repetitivos no formato FASTA
Filtra reads com mais de 70% de mascaramento.
prinseq-lite.pl -fasta input.fasta.masked -qual input.fasta.qual \
-ns_max_p 70 -out_good input.fasta.masked.cleaned ;
Clipping adapters/primers/barcodes
(FASTQ - Illumina)
• Lista Sequências contaminates (Illumina)
– http://bioinfo-core.org/index.php/Sequence_Contaminant_List
cat ERR022690.sra_2.fastq |\
fastx_clipper -Q 33 -l 31 -v -a ACACTCTTTCCCTACACGACGCTCTTCCGATCT |\
fastx_clipper -Q 33 -l 31 -v -a CGGTCTCGGCATTCCTACTGAACCGCTCTTCCGATCT |\
fastx_clipper -Q 33 -l 31 -v -a ATGATACGGCGACCACCGAGATCTACACTCTTTCCCTACACGACGCTCTTCCGATC |\
fastx_clipper -Q 33 -l 31 -v -a CAAGCAGAAGACGGCATACGAGATCGGTCTCGGCATTCCTGCTGAACCGCTCTTCCGATC |\
fastx_artifacts_filter -Q 33 -v |\
fastq_quality_filter -Q 33 -q 20 -p 50 -v -o ERR022690.sra_2_cleaned.fastq;
fastx_artifacts_filter – remoção de sequências baixa complexidade;
fastx_quality_filter – remoção das sequências que não possuem –p % de bases com
qualidade maior ou igual a –q ;
Reparar a ordem das leituras
http://lgmb.fmrp.usp.br/redmine-1.0/projects/bitutils/repository
pair-ends.pl
[-h/--help] [
-g1 PEExp_1.fastq -g2 PEExp_2.fastq
-i1 PEExp_1_cleaned.fastq -i2 PEExp_2_cleaned.fastq
-o1 PEExp_1_cleaned_paired.fastq -o2 PEExp_2_cleaned_paired.fastq
–os EExp_cleaned_single.fastq
-h
--help
Help
-g1
-g2
--guidefile1
--guidefile2
Guide file 1 (Original fastq p1 file - pre-filtering)
Guide file 2 (Original fastq p2 file - pre-filtering)
-i1
-i2
--inputfile1
--inputfile2
Input file 1 (Filtered fastq p1 file - post-filtering)
Input file 2 (Filtered fastq p2 file - post-filtering)
-o1
-o2
-os
--outputfile1
--outputfile2
--outputfiles
Output file 1
Output file 2
Output file s
Preparação da Entrada para o
Newbler
• Converter o arquivo pré-processado no formato FASTQ para FASTA e QUAL
prinseq-lite.pl -fastq input.fastq -out_format 2 \
> -out_good /tmp/input
Arquivos gerados:
input.fasta
input.qual
Preparação da Entrada (paired-ends)
para o Velvet
• Une os arquivos em pares P1 (forward) e P2 (reverse)
shuffleSequences_fasta.pl P1.fasta P2.fasta input.fasta
shuffleSequences_fastq.pl P1.fastq P2.fastq input.fastq
@2009-05-05:4:1:2:762#0/1
CCGATTTTCCGGAAAAAGGCTAAAACTACAAAGNNN
+2009-05-05:4:1:2:762#0/1
ababa`a`aaaaababaaaa_aaba`W`aabaYDDD
@2009-05-05:4:1:2:762#0/2
NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
+2009-05-05:4:1:2:762#0/2
DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
@2009-05-05:4:1:2:1736#0/1
ATGCGCATGGCCACCCCGCTGCTGATGCAGGCGNNN
+2009-05-05:4:1:2:1736#0/1
`]`a^aaT`\a`a`a`a^`\][KO\RX`[MM\PDDD
@2009-05-05:4:1:2:1736#0/2
NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
+2009-05-05:4:1:2:1736#0/2
DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
P1
P2
Referências
• Schmieder R, Edwards R. Quality control and preprocessing
of metagenomic datasets. Bioinformatics. 2011 Mar
15;27(6):863-4. Epub 2011 Jan 28. PubMed
PMID:21278185; PubMed Central PMCID: PMC3051327;
• Tarailo-Graovac M, Chen N. Using RepeatMasker to
identify repetitive elements in genomic sequences. Curr
Protoc Bioinformatics. 2009 Mar;Chapter 4:Unit 4.10.
PubMed PMID: 19274634;
• http://sourceforge.net/projects/seqclean/
• http://seqanswers.com/
• http://trace.ddbj.nig.ac.jp/dra/documentation_e.shtml
• http://prinseq.sourceforge.net/manual.html
• http://www.bioinformatics.bbsrc.ac.uk/projects/fastqc/
• http://hannonlab.cshl.edu/fastx_toolkit/index.html
Daniel Guariz Pinheiro
[email protected]
Tutorial
• http://lgmb.fmrp.usp.br/~daniel/downloads/TutorialCBAB.docx
• os arquivos ecoli_... rDNA... mito... (têm que ser
descomprimidos de est2assembly_dataC.tar)
• Arquivos já foram baixados !!! Não façam download dos dados
aqui no curso...
– /home/labinfo/DanielGP
• Os arquivos neste diretório devem ser copiados para as respectivas pastas
dentro da estrutura de diretórios organizada (classes/).
• Alternativa: criar links simbólicos (somente usuários avançados);
• Diretório de trabalho
– /cbab/labinfo/
• ALMOÇO: 13:00 RETORNO: 14:00 hrs
Download

LNCC-CBAB-2011-Pr_-processamento