Pré-processamento de Sequências de Transcritos
Daniel Guariz Pinheiro, PhD.Laboratório de Genética Molecular e BioinformáticaDepartamento de GenéticaFaculdade de Medicina de Ribeirão PretoUniversidade 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”
FERRAMENTAS PARA O PRÉ-PROCESSAMENTO DE SEQUÊNCIAS DE TRANSCRITOS
Introdução
Preparação (aula1)• Organização da estrutura de diretórios para a aula 1
cla ss es
dataset1
ra w
process ed
ali gned
bwa
dataset2
ra w
process ed
ali gned
bwa
bowtie
ref
hg 19
refGene
conta minants
indexes
hg 19
bwa
bowtie
conta minants
bla st
sc ripts
Preparação (aula2)• Organização da estrutura de diretórios para a aula 2
classes
dataset1
raw
processed
aligned
bwa
assembled
newbler
dataset2
raw
processed
aligned
bwa
bowtie
assembled
velvet
ref
hg19
refGene
contaminants
indexes
hg19
bwa
bowtie
contaminants
blast
scripts
Comandos úteis#Criar diretório (mkdir)mkdir –p /work/CBAB/nomedoaluno/
#Trocar de diretório (cd)cd /work/CBAB/nomedoaluno/
#Listar todo o conteúdo do diretório (ls)ls /work/CBAB/nomenoaluno/*
#Informar diretório atual (pwd)pwd
#Descompactar arquivos no formato .gzgunzip file.gz#Descompactar arquivos no formato .tar.gz ou .tgztar -zxvf file.tar.gz#Descompactar arquivos no formato .tartar -xvf file.tar#Descompactar arquivos no formato .tar.bz2 ou .tar.bztar -jxvf file.tar.bz2#Descompactar arquivos no formato .bz2 ou .bzbunzip2 file.bz2#Descompactar arquivos no formato .zipunzip file.zip
#Determinar o tipo do arquivo (file) file undeterminedfiletype.unk
#Criar um atalho (ln) ln -s /source/file.txt /destiny/linktofile.txt
#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 anonftp@ftp-
private.ncbi.nlm.nih.gov:/sra/sra-instant/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/sra-instant/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 qualidadefastx_quality_stats -Q 33 -i ERR022690.sra_1.fastq -o ERR022690.sra_1.fastq_qual_statfastx_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.pngfastq_quality_boxplot_graph.sh -i ERR022690.sra_2.fastq_qual_stat -o ERR022690.sra_2.fastq_qual_stat.png
FastQCFerramenta 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ênciasObjetivo: 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 fasta-to-compact --paired-end --quality-encoding Sanger -d -x PE_1.txt -o PE.compact-reads– goby 3g tally-reads -i PE.compact-reads -o myfilter– goby 3g compact-to-fasta -t fastq -f myfilter-keep.filter -i 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.fastasffinfo -qual INPUTREADS.sff > READS.qual
– Pirogramasffinfo -flow INPUTREADS.sff > READS.flow
– Somente idssffinfo -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
• Detecção entre sinais 1 e 2 = 100%.• Detecção entre sinais 5 e 6 = 20%.
0
1
2
3
4
5
6
1 2 3 4 5 6 7 8 9
ACTG
T C A G A ?c GG - AAAAA ?a key sequence (TCAG) – Calibragem do sinal
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 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>
http://sourceforge.net/projects/seqclean/
Reproduzir a poda no arquivo .qualcln2qual <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
prinseq-lite.pl -fasta input.fasta.masked -qual input.fasta.qual \ -ns_max_p 70 -out_good input.fasta.masked.cleaned ;
Filtra reads com mais de 70% de mascaramento.
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
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 --guidefile1 Guide file 1 (Original fastq p1 file - pre-filtering)-g2 --guidefile2 Guide file 2 (Original fastq p2 file - pre-filtering)
-i1 --inputfile1 Input file 1 (Filtered fastq p1 file - post-filtering)-i2 --inputfile2 Input file 2 (Filtered fastq p2 file - post-filtering)
-o1 --outputfile1 Output file 1-o2 --outputfile2 Output file 2-os --outputfiles Output file s
http://lgmb.fmrp.usp.br/redmine-1.0/projects/bitutils/repository
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.fastainput.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.fastashuffleSequences_fastq.pl P1.fastq P2.fastq input.fastq
@2009-05-05:4:1:2:762#0/1CCGATTTTCCGGAAAAAGGCTAAAACTACAAAGNNN+2009-05-05:4:1:2:762#0/1ababa`a`aaaaababaaaa_aaba`W`aabaYDDD@2009-05-05:4:1:2:762#0/2NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN+2009-05-05:4:1:2:762#0/2DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD@2009-05-05:4:1:2:1736#0/1ATGCGCATGGCCACCCCGCTGCTGATGCAGGCGNNN+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/2NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN+2009-05-05:4:1:2:1736#0/2DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
P1P2
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
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
Top Related