290 likes | 421 Views
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
E N D
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 (IlluminaGenomeAnalyzer) • 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
Preparação (aula2) • Organização da estrutura de diretórios para a aula 2
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) chmoda+x script.sh # p/ todososusuá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 anonftp@ftp-private.ncbi.nlm.nih.gov:/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 (Giardineet al., 2005) • http://g2.bx.psu.edu/
Checagem de qualidade fastx_quality_stats -Q 33 -iERR022690.sra_1.fastq -o ERR022690.sra_1.fastq_qual_stat fastx_quality_stats -Q 33 -iERR022690.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-houseperl 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: qualityscore (33 Phred/64 Illumina) • -t : qualitythreshold • -l : minimumlength • -i : input • -o: output • Trim.pl (byNikJoshi) • http://wiki.bioinformatics.ucdavis.edu/index.php/Trim.pl • Ideal para leituras paired-ends • perlTrim.pl--type 2 --qual-threshold30 --length-threshold31 --qual-type0 --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--singledataset2/input/ERR022690.sra_trim.fastq
Manipulação de arquivos SFF • Arquivos .sff (standard flowgram format) • Converter sffparafasta/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 T C A G A ?c GG - AAAAA ?a keysequence (TCAG) – Calibragem do sinal • Detecção entre sinais 1 e 2 = 100%. • Detecção entre sinais 5 e 6 = 20%.
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 Transcriptomacom 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 beanalyzed (multi-FASTA) -c use thespecifiednumberofCPUson local machine(default 1) -n numberofsequencestakenatonce in each search slice (default 2000) -v commadelimitedlistofsequence files to use for end-trimmingof <seqfile> sequences (usuallyvectorsequences) -l duringcleaning, considerinvalidthesequencessorterthan <minlen> (default 100) -s commadelimitedlistofsequence files to use for screening <seqfile> sequences for contamination (mito/riboordifferentspeciescontamination) -r writethecleaningreportinto file <reportfile> (default: <seqfile>.cln) -o output the "cleaned" sequences to file <outfasta> (default: <seqfile>.clean) -x minimumpercentidentity for analignemntwith a contaminant (default 96) -y minimumlengthof a terminal vector hit to beconsidered(>11, default 11) -N disabletrimmingofendsrich in Ns (undetermined bases) -M disabletrashingoflowqualitysequences -A disabletrimmingofpolyA/T tails -L disablelow-complexityscreening (dust) -I do notrebuildthecdbindex 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 : maisrápidoporémmenossensí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ênciascontaminates (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 (Filteredfastq p1 file - post-filtering) -i2 --inputfile2 Input file 2 (Filteredfastq 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 -fastqinput.fastq -out_format 2 \ > -out_good /tmp/input Arquivosgerados: 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. Qualitycontrolandpreprocessingofmetagenomicdatasets. Bioinformatics. 2011 Mar 15;27(6):863-4. Epub 2011 Jan 28. PubMed PMID:21278185; PubMed Central PMCID: PMC3051327; • Tarailo-Graovac M, Chen N. UsingRepeatMasker to identifyrepetitiveelements in genomicsequences. CurrProtocBioinformatics. 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 dgpinheiro@gmail.com
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