pré-processamento de sequências de transcritos daniel guariz pinheiro, phd. laboratório de...

Post on 18-Apr-2015

126 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

classes

dataset1

raw

processed

aligned

bwa

dataset2

raw

processed

aligned

bwa

bowtie

ref

hg19

refGene

contaminants

indexes

hg19

bwa

bowtie

contaminants

blast

scripts

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

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

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

dgpinheiro@gmail.com

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