Reads
Transcrição
Reads
Análise de Transcriptomas utilizando dados de RNA-Seq 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 Sumário • Introdução – RNA-Seq – Dados • Mapeamento genômico – Alinhamento de sequências curtas (NGS) • Bowtie • Formato SAM – Sequence Alignment Map – Genome Browser • Identificação de junções em encadeamento (splicing) de exons; – TopHat • Estimativas da expressão para cada isoforma dos genes; – Cufflinks Introdução RNA-SEQ Por quê sequenciar o transcritoma? • Mantém o foco da pesquisa nas regiões gênicas do genoma; • Acelera o processo de anotação genômica; – • Descoberta de novos genes e modelos gênicos; Visão geral da atividade gênica celular em determinado momento; – Obtenção da expressão gênica relativa para diferentes células sob diferentes condições; • Pode auxiliar na identificação de eventos de processamento alternativo de transcritos (e.g. Alternative Splicing, Alternative PolyAdenilation, Sítios Alternativos de Início da Transcrição, etc.) em tecidos ou condições biológicas específicas; • Detecção de mutações pontuais e/ou estruturais, tais como fusão de genes; • … RNA-Seq • Whole Transcriptome Shotgun Sequencing (WTSS) • Definição simplificada: – Abordagem para obter perfis de transcrição (transcriptoma níveis de transcritos e suas isoformas) utilizando tecnologias de sequenciamento de nova geração (deepsequencing technologies). • • • • • ABI SOLiD Illumina GA Roche 454 Helicos … Wang Z, Gerstein M, Snyder M. RNA-Seq: a revolutionary tool for transcriptomics. Nat Rev Genet. 2009 Jan;10(1):57-63. Tecnologias para obter perfis de expressão gênica de transcritomas Wang Z, Gerstein M, Snyder M. RNA-Seq: a revolutionary tool for transcriptomics. Nat Rev Genet. 2009 Jan;10(1):57-63. Reprodutibilidade (RNA-Seq) RNA-Seq Alta acurácia na quantificação de expressão gênica especialmente devido à forte correlação com qPCR e controles (spike-in RNA) com concentrações conhecidas. Mostrando também o alto nível de reprodutibilidade em replicatas técnicas e biológicas. [Nagalakshmi U et al., 2008] A- RNA-Seq x qPCR B- RNA-Seq x tilling array C- RNA-Seq x gene expression array D- distribuição de seqs. [Mortazavi A, et al. , 2008] RNA-Seq x microarray [Wang Z et al., 2009] Introdução DADOS Formato Fasta sequence.fa sequence.qual >SEQUENCE_1 cagtcagcatactcagtcagtcatgcatgctga gtcacttgcatgacgtcatgactgcatgactgc >SEQUENCE_1 1 9 7 15 20 21 16 26 31 37 38 ... 31 13 23 29 31 33 35 30 29 34 ... Extensões: .fa, .fasta, .fna Qualidade O que queremos dizer com qualidade ? >SEQUENCE_1 1 9 7 15 20 21 16 26 31 37 38 ... 31 13 23 29 31 33 35 30 29 34 ... Score Perro 10 Q phred 10 log 10 ( P error ) 20 30 0.1 0.01 0.001 Formato fastq Identificador padrão Illumina sequence.fastq @SOLEXA01:1:1:27:1992#0/1 AGTACAAGAGACAGACATTCTTTTTTTTGACACAAG +SOLEXA01:1:1:27:1992#0/1 \FFFMXPYDDHJSUMVUJLPSNFRXZEDLNLHKHIT Qualidade codificada como um único caracter da tabela ASCII. F = 70 (ascii) = 70-64 = 6 (Qphred) = 0.25 (Perror) Extensões: .fastq SOLEXA01 the unique instrument name 1 flowcell lane (8 lanes) 1 tile number within the flowcell lane 27 'x'-coordinate of the cluster within the tile 1992 'y'-coordinate of the cluster within the tile #0 index number for a multiplexed sample (0 for no indexing) /1 the member of a pair, /1 or /2 (paired-end or mate-pair reads only) Q Q solexa phred 10 log 10 10 log P error ( ) 1 P error 10 ( P error ) Color Space sequence.csfasta >9_62_1919_F3 T01231033313313303131110311003330000 sequence.fasta >9_62_1919_F3 TGATGGCGCATACGCCGTACACCGTGGGCGCCCCC sff • “sff” refere-se a “Standard Flowgram Format”. Os arquivos gerados por uma corrida de Roche-454. • Os arquivos sff contêm: – um cabeçalho manifesto, no início, o qual descreve informações sobre a corrida; – valores referentes às intensidades dos sinais para cada base; • Formato binário que pode ser convertido para o formato texto, como o formato fasta; Introdução MAPEAMENTO GENÔMICO Alinhamento de Sequências Em Bioinformática, alinhamento de sequências é uma forma de dispor as sequências de DNA, RNA, ou proteínas para identificar regiões de similaridade que podem ser consequência de relacionamentos funcionais, estruturais ou relações evolutivas entre elas. Há uma referência? • Resequenciamento – Existem sequências produzidas a partir de um genoma/transcriptoma da mesma espécie da amostra ou de uma espécie relacionada que podem ser usadas como referências. Alinhamento com a referência. • Sequenciamento de novo – Não há sequências que podem ser usadas como referências. Este tipo de sequenciamento exigirá uma montagem (assembly) das sequências, utilizando apenas os dados obtidos desse sequenciamento. Alinhamento entre as sequencias geradas, que permitirá a obtenção de um consenso. Identificação das sequências • Resequenciamento – Alinhamento: Conjunto de Sequências X Sequências Referências (Ex.: Genoma) >seq1 gcagtcagtcacacatgtca... >seq2 cgcgcatgcGcgtactctat... >seq3 tcgagcatcatcagtcgtca... >seq4 tatgctttatagcgagtcat... ..... >chrX atcacacatgtcacatggtcag ggcatcagtcagtcagtcatgc gcgcgcatgcCcgtactctatc tcatgcgtcagtcatgcatgcg agcagtcatgcatgcatcgcac tgcatcatacgtcatgcatgaa ..... Objetivos: - Eliminar as sequência sem hit (artefatos da técnica); - Obter as sequência com hit único (unambiguous); Mapeamento Genômico de Transcritos ETAPAS ENVOLVIDAS • Alinhamento das sequências de cDNA obtidas de experimentos (e.g. RNA-Seq) no genoma referência; – Identidade aceitável; • Desafio: qualidade das sequências e configuração dos parâmetros do software de alinhamento; – Não ambígua (há uma única identidade); • • Desafio: regiões repetitivas; Identificação das sequências alinhadas em relação a elementos já mapeados no genoma (e.g. transcritos conhecidos); – Interseção entre coordenadas de alinhamento; • Desafio: definição das bordas e junções de exons, além de genes nas duas fitas; – Identificação de novas regiões com evidências de transcrição; • • • Agrupamento de sequências em uma região onde não há transcritos conhecidos; Desafio: isolar o que é “ruído”, ou seja, artefatos da técnica; Integrar essas informações; – Relacionar informações de diversas fontes (e.g. expressão gênica, SNPs, regiões regulatórias, alternative splicing, ...); – Inspeção visual; – Utilização de um browser de genoma (e.g. Genome Browser, GBrowse, Integrative Genomics Viewer (IGV), Gaggle Browser, ... ) Algoritmos de Alinhamento (NGS) Alinhamentos: construção de índices (referências ou sequências). • Principais estratégias de indexação – Tabelas Hash • Exemplo: MAQ (Li H et al., 2008) – Índices de sufixos/prefixos (Árvores/Arranjos) • Estrutura de dados que permite a representação de todos os sufixos/prefixos de um determinada string S. Possibilitando encontrar as ocorrências de um determinado padrão (sequência); • Alinhamento: encontrar os matches exatos no índice; – Árvore de sufixos (Suffix tree)/Arranjo de sufixos (Suffix array) » Índice-FM (FM-index) (Ferragina and Manzini, 2000) – BWT (Burrows Wheeler Transformation) • Alinhadores de sequências: • Bowtie (Langmead et al., 2009) • BWA • BWA-SHORT (Li and Durbin, 2009) • BWA-SW (Li and Durbin, 2010) Bowtie • http://bowtie-bio.sourceforge.net – Burrows-Wheeler Transformation (BWT) e Índice-FM (FM-index) (Ferragina and Manzini, 2000); • Reduz a quantidade de memória e de tempo para alinhar sequências curtas; A busca por um alinhamento entre uma sequência e o genoma referência, mimetiza uma busca em profundidade na árvore de prefixos que indexa a sequência do genoma; Bowtie Index Builder: bowtie-build Usage: bowtie-build [options]* <reference_in> <ebwt_outfile_base> reference_in comma-separated list of files with ref sequences ebwt_outfile_base write Ebwt data to files with this dir/basename Options: -f reference files are Fasta (default) -c reference sequences given on cmd line (as <seq_in>) -C/--color build a colorspace index -a/--noauto disable automatic -p/--bmax/--dcv memory-fitting -p/--packed use packed strings internally; slower, uses less mem -B build both letter- and colorspace indexes --bmax <int> max bucket sz for blockwise suffix-array builder --bmaxdivn <int> max bucket sz as divisor of ref len (default: 4) --dcv <int> diff-cover period for blockwise (default: 1024) --nodc disable diff-cover (algorithm becomes quadratic) -r/--noref don't build .3/.4.ebwt (packed reference) portion -3/--justref just build .3/.4.ebwt (packed reference) portion -o/--offrate <int> SA is sampled every 2^offRate BWT chars (default: 5) -t/--ftabchars <int> # of chars consumed in initial lookup (default: 10) --ntoa convert Ns in reference to As --seed <int> seed for random number generator -q/--quiet verbose output (for debugging) -h/--help print detailed description of tool and its options --usage print this usage message --version print version information and quit [/data/indexes]$ bowtie-build $BOWTIE_INDEXES=“/data/indexes” /data/hg19.fa hg19 hg19.1.ebwt hg19.2.ebwt hg19.3.ebwt hg19.4.ebwt hg19.rev.1.ebwt hg19.rev.2.ebwt Bowtie Index Inspector: bowtie-inspect Usage: bowtie-inspect [options]* <ebwt_base> <ebwt_base> ebwt filename minus trailing .1.ebwt/.2.ebwt By default, prints FASTA records of the indexed nucleotide sequences to standard out. With -n, just prints names. With -s, just prints a summary of the index parameters and sequences. With -e, preserves colors if applicable. Options: -a/--across <int> -n/--names -s/--summary -e/--ebwt-ref -v/--verbose -h/--help --help Number of characters across in FASTA output (default: 60) Print reference sequence names only Print summary incl. ref names, lengths, index properties Reconstruct reference from ebwt (slow, preserves colors) Verbose output (for debugging) print detailed description of tool and its options print this usage message [/data/indexes]$ bowtie-inspect -s hg19 Bowtie Aligner: bowtie Usage: bowtie [options]* <ebwt> {-1 <m1> -2 <m2> | --12 <r> | <s>} [<hit>] <m1> <m2> <r> <s> Comma-separated list of files containing upstream mates (or the sequences themselves, if -c is set) paired with mates in <m2> Comma-separated list of files containing downstream mates (or the sequences themselves if -c is set) paired with mates in <m1> Comma-separated list of files containing Crossbow-style reads. Can be a mixture of paired and unpaired. Specify "-" for stdin. Comma-separated list of files containing unpaired reads, or the sequences themselves, if -c is set. Specify "-" for stdin. File to write hits to (default: stdout) <hit> Input: -q -f -r -c -C -Q/--quals <file> --Q1/--Q2 <file> -s/--skip <int> -u/--qupto <int> -5/--trim5 <int> -3/--trim3 <int> --phred33-quals --phred64-quals --solexa-quals --solexa1.3-quals --integer-quals Alignment: -v <int> or -n/--seedmms <int> -e/--maqerr <int> -l/--seedlen <int> --nomaqround -I/--minins <int> -X/--maxins <int> --fr/--rf/--ff --nofw/--norc --maxbts <int> --pairtries <int> -y/--tryhard --chunkmbs <int> query input files are FASTQ .fq/.fastq (default) query input files are (multi-)FASTA .fa/.mfa query input files are raw one-sequence-per-line query sequences given on cmd line (as <mates>, <singles>) reads and index are in colorspace QV file(s) corresponding to CSFASTA inputs; use with -f -C same as -Q, but for mate files 1 and 2 respectively skip the first <int> reads/pairs in the input stop after first <int> reads/pairs (excl. skipped reads) trim <int> bases from 5' (left) end of reads trim <int> bases from 3' (right) end of reads input quals are Phred+33 (default) input quals are Phred+64 (same as --solexa1.3-quals) input quals are from GA Pipeline ver. < 1.3 input quals are from GA Pipeline ver. >= 1.3 qualities are given as space-separated integers (not ASCII) report end-to-end hits w/ <=v mismatches; ignore qualities max mismatches in seed (can be 0-3, default: -n 2) max sum of mismatch quals across alignment for -n (def: 70) seed length for -n (default: 28) disable Maq-like quality rounding for -n (nearest 10 <= 30) minimum insert size for paired-end alignment (default: 0) maximum insert size for paired-end alignment (default: 250) -1, -2 mates align fw/rev, rev/fw, fw/fw (default: --fr) do not align to forward/reverse-complement reference strand max # backtracks for -n 2/3 (default: 125, 800 for --best) max # attempts to find mate for anchor hit (default: 100) try hard to find valid alignments, at the expense of speed max megabytes of RAM for best-first search frames (def: 64) Reporting: -k <int> -a/--all -m <int> -M <int> --best --strata Output: -t/--time -B/--offbase <int> --quiet --refout --refidx --al <fname> --un <fname> --max <fname> --suppress <cols> --fullref Colorspace: --snpphred <int> or --snpfrac <dec> --col-cseq --col-cqual --col-keepends SAM: -S/--sam --mapq <int> --sam-nohead --sam-nosq --sam-RG <text> Performance: -o/--offrate <int> -p/--threads <int> --mm --shmem Other: --seed <int> --verbose --version -h/--help report up to <int> good alignments per read (default: 1) report all alignments per read (much slower than low -k) suppress all alignments if > <int> exist (def: no limit) like -m, but reports 1 random hit (MAPQ=0); requires --best hits guaranteed best stratum; ties broken by quality hits in sub-optimal strata aren't reported (requires --best) print wall-clock time taken by search phases leftmost ref offset = <int> in bowtie output (default: 0) print nothing but the alignments write alignments to files refXXXXX.map, 1 map per reference refer to ref. seqs by 0-based index rather than name write aligned reads/pairs to file(s) <fname> write unaligned reads/pairs to file(s) <fname> write reads/pairs over -m limit to file(s) <fname> suppresses given columns (comma-delim'ed) in default output write entire ref name (default: only up to 1st space) Phred penalty for SNP when decoding colorspace (def: 30) approx. fraction of SNP bases (e.g. 0.001); sets --snpphred print aligned colorspace seqs as colors, not decoded bases print original colorspace quals, not decoded quals keep nucleotides at extreme ends of decoded alignment write hits in SAM format default mapping quality (MAPQ) to print for SAM alignments supppress header lines (starting with @) for SAM output supppress @SQ header lines for SAM output add <text> (usually "lab=value") to @RG line of SAM header override offrate of index; must be >= index's offrate number of alignment threads to launch (default: 1) use memory-mapped I/O for index; many 'bowtie's can share use shared mem for index; many 'bowtie's can share seed for random number generator verbose output (for debugging) print version information and quit print this usage message [/data]$ bowtie hg19 \ > -c "AGGAATTGCGGGAGGAAAATGGGTAGTTAGCTATTT,AGGGCCCATAGCAACAGATTTCTAGCCCCCTGAAGA" > --best --strata --tryhard -m 1 Principais parâmetros do Bowtie Alignment: -n <int> -v <int> -l <int> -e <int> --maxbts <int> --pairtries <int> --try_hard Reporting: --best -a -k <int> -m <int> : número máximo de mismatches na seed [1..3] (2) – Mutuamente exclusivo (-v); : número máximo de mismatches em todo o alinhamento, ignorando qualidade; : tamanho da seed [5..*] (28); : total valor qualidade [10..30] máximo para as posições onde há mismatch, considerando o alinhamento todo (70); : número máximo de backtracks permitidos (125, 800 com --best); : número máximo de tentativas de encontrar sequências em pares; : equivalente p/ valores altos de --maxbts e --pairtries : reporta os melhores alinhamentos considerando número de mismatches na seed e o valor de qualidade dessas bases; (1 mismatch qual 40 é melhor que 2 mismatches qual 10) : reporta todos os alinhamentos válidos; : reporta até k alinhamentos válidos; : suprime os alinhamentos múltiplos de uma leitura se há mais que m alinhamentos válidos; The Sequence Alignment Map • Formato genérico para armazenar o resultado dos alinhamentos de sequências de leituras contra sequências de referência; – [Li et al., 2009] • Suporta o armazenamento de dados das mais variadas plataformas de sequenciamento; – Há duas seções: • cabeçalho (iniciadas por @) • corpo (alinhamentos); – O alinhamento é representado no corpo por linhas com campos (11 mandatórios) delimitados por TAB; Formato SAM (1) Col 1 2 3 4 5 6 7 8 9 10 Field QNAME FLAG RNAME POS MAPQ CIGAR MRNM MPOS ISIZE SEQ 11 QUAL 12 OPT Description Query (pair) NAME bitwise FLAG Reference sequence NAME 1-based leftmost POSition/coordinate of clipped sequence MAPping Quality (Phred-scaled) extended CIGAR string Mate Reference sequence NaMe (‘=’ if same as RNAME) 1-based Mate POSistion Inferred insert SIZE query SEQuence on the same strand as the reference Example ERR022660.366 163 chr21 982734 255 36M = 9827506 201 CGACCCATTCGAACGTCTGCCCTATCAA CTTTCGAT ?BBB+>BB@BC,C<B:C<?/=A2BBB<@ query QUALity (ASCII-33 gives the Phred base quality) )@@B?CBB variable OPTional fields in the format TAG:VTYPE:VALUE XA:i:0 MD:Z:36 NM:i:0 Mapping Quality • Qualidade do mapeamento probabilidade da leitura ser mapeada incorretamente (Pr{read is wrongly mapped}) – escala Phred de qualidade [Li et al., 2008]; Formato SAM (2) C SAM pile-up forward match (.) mismatch (base in lower case) reverse match (,) mismatch (base in upper case) insertion +<LENGTH><BASES> deletion -<LENGTH><BASES> missing * start read alignent ^ end read alignment $ Bitwise FLAG Exemplo: FLAG 2 alinhamentos de leituras paired-end FLAGs: 99 (00001100011 ) 147 (00010010011 ) Flag (Hex) Description 99 147 0x0001 0x0002 the read is paired in sequencing the read is mapped in a proper pair 1 1 1 1 0x0004 the query sequence itself is unmapped 0 0 0x0008 the mate is unmapped 0 0 0x0010 strand of the query (1 for reverse) 0 1 0x0020 strand of the mate 1 0 0x0040 the read is the first read in a pair 1 0 0x0080 0x0100 the read is the second read in a pair the alignment is not primary 0 0 1 0 0x0200 0x0400 QC failure optical or PCR duplicate 0 0 0 0 samtools • http://samtools.sourceforge.net/ • Provê várias ferramentas para manipulação dos alinhamentos no formato SAM/BAM • Funcionalidades – import – view – – – – – – sort merge index faidx tview pileup Conversão de SAM-para-BAM Conversão de BAM-para-SAM e recuperação de subalinhamentos Ordenação (posição nos cromossomos) união de múltiplos alinhamentos ordenados Indexação de alinhamentos ordenados Indexação de arquivos FASTA e recuperação de subsequências Visualização do alinhamento Gera arquivo de cobertura por posição Visualização • IGV Integrative Genomics Viewer (Genome Browser) – http://www.broadinstitute.org/software/igv/home – Download – ~10Mb (.zip) – Permissão execução p/ todos – chmod a+x igv_linux.sh – Aumentar espaço de alocação de memória – Editar arquivo igv_linux.sh (-Xmx1200m) – Necessita acesso à internet! Genome Browser http://genome.ucsc.edu/ Formato GFF • GFF (General Feature Format) – 9 campos mandatórios separados por TAB; – http://www.sanger.ac.uk/resources/software/gff/ – Breve descrição dos campos GFF : – seqname – Nome da sequência (chromosome or scaffold); source feature start end score strand frame group – Fonte desse atributo (feature) (ex.: programa que gerou); – Nome do tipo de atributo (ex.: "CDS", "start_codon", "stop_codon" e "exon“); – Posição inicial deste atributo na sequência (inicia em 1); – Posição final deste atributo (inclusivo); – Um score entre 0 e 1000; – Fita do DNA. Valores válidos: '+', '-', or '.' (inexistente); – Se atributo é exon codificador, início da leitura do codon base (0, 1 ou 2) ou não codificador '. '; – Grupo de atributos extras; Exemplo de uma linha do arquivo: chr1 hg19_refGene exon 23239955 23241823 0.000000 + . gene_id "NM_017449"; transcript_id "NM_017449"; Formato GTF • GTF (Gene Transfer Format) – Refinamento do formato GFF (General Feature Format) – Os 8 campos são os mesmos do GFF – O 9º campo pode ser expandido em uma lista de atributos consistindo do par tipo/valor. Os atributos terminam em ponto-e-vírgula e são separados por exatamente um espaço. – Inicia com dois atributos mandatórios: • gene_id – Identificador do gene; • transcript_id – Identificador do transcrito; – Exemplo do 9º campo: gene_id "Em:U62317.C22.6.mRNA"; transcript_id "Em:U62317.C22.6.mRNA"; exon_number 1 • • A organização no arquivo segue a hierarquia: gene, transcritos, exons e CDS. Mais informações: http://mblab.wustl.edu/GTF2.html. Introdução TOPHAT TopHat: discovering splice junctions with RNA-Seq TopHat – algoritmo eficiente para mapeamento eficiente de sequências de um experimento RNA-Seq, sem contar com sítios já conhecidos de splice. Resultados: – 72% junções de splice previamente reportados; • ERANGE; – Mortazavi A, et al. Mapping and quantifying mammalian transcriptomes by RNA-Seq. Nat. Meth. (2008) 5:621–628. » RNA-Seq - Cérebro de camundongo (Mus musculus); – 20,000 junções não reportadas previamente; – Mapeamento de 2,2 milhões de sequências por hora CPU Disponibilidade: – http://tophat.cbcb.umd.edu – Livre e open-source ERANGE • Mapping and Quantifying Mammalian Transcriptomes by RNA-Seq – http://woldlab.caltech.edu/rnaseq/ – Funcionalidades • • • • • Todas as reads são armazenadas em arquivo RDS (sqlite-based); Suporta paired-end reads em RNA-seq; Wiggle unificado – (reads únicas, multireads e spliced); Suporta descoberta de SNPs expressos; Suporta peak finder com modelos de direcionalidade de reads e multireads; • Suporta deslocamento de reads no ChIP-seq peakfinder; • Suporta Bowtie e blat como alternativas ao ELAND, para o mapeamento; Mapeamento de sequências • Mapeamento no genoma (Transcritomas incompletos) – Identificação de novos transcritos a partir das regiões cobertas; – Estimação de abundância dos transcritos pela profundidade dessa cobertura; • Estratégias atuais de mapeamento; – (e.g. Cloonan et al., 2008; Marioni et al., 2008; Mortazavi et al., 2008; Sultan et al., 2008); • Alinhamento de sequências em exons conhecidos no genoma; – PROBLEMA: algumas sequências atravessam a borda de exons, e parte dela não alinha de forma contígua, levando à falha no alinhamento dessa seq; – SOLUÇÃO: concatenação de exons adjacentes conhecidos em fragmentos de sequências sintéticos; Detecção de sítios de splice ab initio • Identificação de leituras (reads) que atravessam junções de exons; – Desafios computacionais (short reads); • Tratar a pouca profundidade na cobertura das junções , especialmente em genes raramente expressos; – poucas bases ou nenhuma em um dos lados da junção; • O tamanho das leituras (read) é um grande desafio; Estratégia: QPALMA • QPALMA pipeline (De Bona et al., 2008); – Support Vector Machine (SVM); • Treinamento – junções de splice conhecidas (genoma interesse); – Fase de alinhamento; • Vmatch (Abouelhoda et al., 2004); – alinhador baseado em array de sufixos (lento; requer muita memória); » 644 400 reads/CPU hour (genoma de 120 Mb de A. thaliana); – algoritmo de pontuação para sítios de splicing (exige um tempo maior ainda); » 71 milhões RNA-Seq reads (A. thaliana); » ~180.000 reads/CPU hour; Estratégia: TopHat • Estratégia ab initio; • ~2,2 milhões reads/CPU hour; • Alinhamento de todos os sítios de forma eficiente; – Codificação 2-bit-per-base; • e.g. A=00; C=01;G=10;T=11; – Layout de dados que efetivamente usa o cache de processadores modernos; – Alinhamento prévio de reads dentro de exons; • Bowtie (Langmead et al., 2009); Métodos • Mapeamento no genoma referência em 2 fases: – (1ª) Todas as reads contra o genoma de referência • Bowtie – Limitação de 1 ou mais * (< 10) “multireads”+ alinhamentos para cada read: » Região 5’: poucos mismatchs (2 default); » Região 3’: mismatches adicionais [Phred-quality-weighted Hamming distance < 70 (default)]; – Consequências da política de limitação em relação às multireads: » Reads em regiões de baixa complexidade serão descartadas; » Reads em regiões de famílias gênicas podem ser capturadas; – Reads inicialmente não mapeadas (IUM); • Identificação de ilhas contíguas de reads (exons putativos): – Maq (Li et al., 2008) – montar consenso das ilhas contíguas de reads, inferindo exons putativos; – Inclusão de regiões (45bp – default) em ambos os lados flanqueando essas ilhas; – Reads em genes pouco expressos – baixa cobertura – gaps » Aceitos gaps de cobertura 6 bp (default) (Mamíferos – introns pequenos <70bp são raros) Métodos – TopHat enumera todos os sítios canônicos de splice (GT-AG) nas ilhas identificadas que são vizinhas; – (2ª) Mapeamento das reads inicialmente não mapeadas (IUM) nessas regiões de junção selecionadas; – Avalia somente introns maiores que 70 bp e menores que 20 000 bp (default) – Camundongo: mais de 93% dos introns (know genes UCSC) estão nessa faixa; – Exclui sítos de pares doador-receptor que estejam dentro de uma única ilha, ao menos que essa ilha tenha muita profundidade(*) (junções dentro de uma única ilha); Dij – Valor normalizado de profundidade da ilha [i..j] quando dimensionado à escala [0..1000] (*) D >= 300 i – coordenada inicial (ilha) j – coordenada final (ilha) dm - depth coverage (coordenada m) n – tamanho do genoma de referencia Métodos Intron inteiramente sobreposto pela 5’ UTR de outro transcrito. Ambas as isoformas estão presentes na amostra de RNA de cérebro de camundongo. Métodos – Junções dentro de únicas ilhas ocorem em altos valores de D (D >= 300 – TopHat default). Valores altos previnem TopHat de ter que investigar junções em ilhas únicas, aumentando o tempo. Um baixo D-value pode encontrar mais junções; – Encontrar reads que atravessam as junções com no mínimo k bases em ambos os lados (k=5 default), utilizando estratégia seedand-extend; – lookup table (“tabela de consulta”) – seeds (IUMs indexadas) – índices 2*k-mers (k = 5 bp = 10bp) blocos cinza-escuros – seed blocos cinza-claros – extensão TopHat – 28 bp 5’ (HQ) aceitando x mismatches Seed-and-extend • Lookup table – Possíveis junções de splice a partir das regiões selecionadas, unindo os exons putativos; • k bases de ambos os lados (default: 5) extraídas da região alta de qualidade 28 bp (5’ end) – Indexação » key: 2*k-mers » Value: reads que contém os 2k-mers – O match exato possibilita encontrar todas as reads que podem ser mapeadas nessa região e depois tenta estender o mapeamento, permitindo uma certa quantidade de mismatches. Métodos – O algoritmo reporta todos os alinhamentos com splice e constrói um conjunto de junções não-redundantes; – Heurística para discartar junções (eliminar falsos-positivos): – Observação: 86% isoformas menos frequentes são expressas ao menos 15% do nível da isoforma principal (Wang et al.,2008); – Baseado na observação acima, TopHat divide cada lado da junção e obtém média de cobertura individual para cada um dos lados. O número de alinhamentos que atravessam a junção é dividido pela cobertura do lado com a maior profundidade e obtém uma estimativa da frequência da isoforma; – 15% (default) valor mínimo de frequência isoforma 2/8 = 25% 3/8 = 37,5% 8/8 = 100% Resultados • TopHat x ERANGE – 47 781 892 reads RNA-Seq (25bp); • Cérebro camundongo (Mortazavi et al., 2008); • ERANGE; – 205 151 junções anotadas extraídas do genoma; – Medida de atividade de transcrição • RPKM (Reads per kilobase of exon per million mapped reads); • 2 Niveis de transcrição: >=15 (moderado) >=25 (alto); • ERANGE (108 674 junções com RPKM positivo); – 37 675 em genes com RPKM >= 15.0; • TopHat (104 711 junções identificadas) – 81,9% (junções ERANGE em genes acima 15 RPKM); – 72,2% (todas junções ERANGE); – 30 121 junções identificadas pelo ERANGE e não identificadas pelo TopHat; » 52% estão com RPKM abaixo de 5 (baixa cobertura); » 10% com RPKM acima de 5 (exons distantes > 20000bp); » 15% heurística baseada na frequência da isoforma; – identificou junções não reportadas pelo ERANGE; » 84 988 (81,1%) junções considerando os modelos de genes do UCSC foram identificadas; » 19 722 podem representar novas junções; Sensitividade TopHat Velvet – montagem de novo RNA-Seq [Zerbino and Birney, 2008] gmap - alinhamento de transcritos no genoma [Wu and Watanabe, 2005] Sensibilidade TopHat identificação exata das junções de splicing gene Pnlip - 7.88 RPKM Simulação • Simulador Maq para reads curtas; – distribuição empírica calculada a partir dos dados de Mortazavi et al. (2008) para simular erros de sequenciamento; – ASTD (Alternatively Splicing Transcript Database)’ • (Le Texier et al., 2006) • 1 295 transcritos cromossomo 7 de camundongo; – 9 879 junções verdadeiras; – 94% Verdadeiros positivos com cobertura 50 – fold-coverage; TopHat junction finding under simulated sequencing of transcripts Depth of True Total (%) False Reported (%) sequence coverage positives 1 1744 17 114 6 5 7666 77 585 7 10 8737 88 428 4 25 9275 93 267 2 50 9351 94 235 2 positives The simulation sampled a set of transcripts with 9879 true splice junctions. Fold-Coverage • http://en.wikipedia.org/wiki/Fold_coverage#Coverage –N*L/G • Tamanho da Sequência do Genoma (G) • Número de leituras (reads) (N) • Tamanho das leituras (L) GenBank ESTs • Grupos – 1 : junções conhecidas (ERANGE); • 205 151 (Mortazavi et al., 2008); – 2 : novas junções reportadas pelo TopHat; • 19 722; – 3 : Controle negativo (junções aleatórias); • Sequências 42 bp de 1 000 junções escolhidas aleatóriamente; • Grupos [1, 2 e 3] x Mouse ESTs (dbEST) GenBank ESTs • TopHat x UCSC – 104 711 junções (TopHat) • 84 988 (UCSC gene models) e • 19 722 (novas junções) – BLAST x GenBank ESTs • 2 543 (das 19 722) tinham hit com dbEST c/ e-value < 1x10-6) • 17 719 - 10 499 uniam novos exons; 6 077 unia um novo exon com um conhecido; 603 uniam um par de exons conhecidos; • Modelos de genes do UCSC podem estar incompletos - teste - controle negativo - controle positivo Novas junções gene (ADP-ribosylation) Arfgef1 = nova isoforma predita na linha horizontal no topo categoria: novo exon com exon conhecido; Discussão e Conclusões • Os resultados sugerem que o TopHat possui relativa sensibilidade para detectar junções conhecidas e que é capaz de detectar novas junções; – 19722 nova junções com parâmetros bem rigorosos • • • • • âncoras longas em ambos os lados da junção; somente matches únicos para cada junção; ERANGE é apropriado para medir a expressão gênica em projetos RNA-Seq, provendo uma anotação confiável das junções de splice; QPALMA pode ser acurado na detecção de junções sem anotação prévia mas a performance torna-o impraticável em grandes genomas; TopHat, combina performance e capacidade de detecção de junções sem anotação prévia; – A estratégia requer muitas reads para a detecção; – Junções em introns muito longos ou introns sem os sítios canônicos são perdidas, além das dificuldades de detecção de junções em únicas ilhas; – Protocolos RNA-Seq com a produção de reads paired-end devem auxiliar a detecção de novas junções (considera sítios de splicing não canônicos “GC-AG” e “AT-AC” somente com paired-end reads); – O pipeline atualmente não tem a capacidade de detectar microexons (menores que uma única read), pela etapa inicial com o Bowtie (uma etapa adicional com as IUMs pode solucionar isso) TopHat Comandos tophat [options] <bowtie_index> <reads1[,reads2,...]> [reads1[,reads2,...]] \ [quals1,[quals2,...]] [quals1[,quals2,...]] --output-dir <output-dir> --mate-inner-dist <int> --mate-std-dev <int> --num-threads <int> --max-multihits <int> --library-type <lib-type> --transcriptome-max-hits <int> --GTF <gtf-file> --solexa1.3-quals --min-intron-length <int> --max-intron-length <int> --min-anchor-length <int> ... : diretório onde serão gravados os arquivos gerados; : distância em bases entre os dois fragmentos em sequênciamento paired-end; : desvio padrão para a distância entre os fragmentos pares; : número de threads (processos) em paralelo; : número máximo de hits para um alinhamento no genoma; : tipo de biblioteca (fr-unstranded Standard Illumina); : máximo de hits para um alinhamento dentro do transcriptoma; : arquivo GTF com as coordenadas do transcriptoma; : codificação fastq (Solexa 1.3); : tamanho mínimo para introns; : tamanho máximo para introns; : tamanho mínimo da região âncora; [/data]$ tophat --output-dir tophat_output/ --mate-inner-dist 200 --num-threads 12 \ > --max-multihits 1 --library-type fr-unstranded --transcriptome-max-hits 1 --GTF refGene.gtf \ > tophat_indexes/hg19 dataset1/raw/PAIREDEND_1.fastq dataset1/raw/PAIREDEND_2.fastq Arquivos gerados • accepted_hits.bam. A list of read alignments in SAM format. SAM is a compact short read alignment format that is increasingly being adopted. • junctions.bed. A UCSC BED track of junctions reported by TopHat. Each junction consists of two connected BED blocks, where each block is as long as the maximal overhang of any read spanning the junction. The score is the number of alignments spanning the junction. • insertions.bed and deletions.bed. UCSC BED tracks of insertions and deletions reported by TopHat. • unmapped_left.fq.z • unmapped_right.fq.z Formato BED Formato flexível para definição de dados de anotação. Os três primerio campos são requeridos: • • • chrom chromStart chromEnd – Nome do cromossomo – Início da coordenada no cromossomo – Final da coordenada no cromossomo • • • • • • • • • name score strand thickStart thickEnd itemRgb blockCount blockSizes blockStarts – Nome da linha de anotação – Pontuação entre 0 e 1000 – Fita do DNA + ou – Início da coordenada de destaque (por ex. start codon) – Fim da coordenada de destaque (por ex. stop codon) – Valor RGB no formato R,G,B (e.g. 255,0,0) ; cor no Genome Browser – Número de blocos de alinhamento (por ex. exons) – Lista (separada por vírgula) de tamanho dos blocos – Lista (separada por vírgula) com o iníco da coordenada dos blocos Exemplo chr1 34610 36081 NR_026818 0 chr1 803450 812182 NR_027055 0 - 36081 36081 0 3 564,205,361, 0,666,1110, 812182 812182 0 3 605,1044,57, 0,6041,8675, TopHat junctions (BED) chrom chromStart chr20 264677 chromEnd 270946 name score JUNC00000001 strand 3 thickStart - thickEnd 264677 bed_to_juncs < junctions.bed > junctions.junc chr20 264721 270899 - itemRgb 270946 blockCount 255,0,0 2 blockSizes 45,47 blockStarts 0,6222 BEDtools • http://code.google.com/p/bedtools/ • Conjunto de utilitários que permitem executar tarefas comuns em genômica, tais como encontrar coordenadas de alinhamentos que possuem sobreposição; • Funcionalidades – bamToBed Converte alinhamentos no formato BAM para o formato BED – intersectBed Retorna as sobreposições entre dois arquivos no formato BED – ... Introdução CUFFLINKS Cufflinks: Transcript assembly, differential expression, and differential regulation for RNA-Seq • [Trapnell, C. et al., 2010] • http://cufflinks.cbcb.umd.edu/ • Cufflinks realiza a montagem de transcritos estimando suas abundâncias e testando a expressão diferencial e em experimentos RNA-Seq. – A estimativa é feita baseada em quantas leituras suportam cada transcrito, levando em consideração os vieses nos protocolos de preparação das bibliotecas. Visão global a) TopHat (fragmentos); b) Grafo de Sobreposição (Overlap graph); c) Conjunto mínimo de cadeias (caminhos no grafo) que percorrem todos os elementos do grafo (Teorema de Dilworth). Cada caminho torna-se um transcrito. Todos os transcritos devem explicar os fragmentos gerados; d) Estimação da abundância de cada transcrito (cores que identificam os fragmentos); e) Modelo probabislístico linear que melhor explica a abundância dos fragmentos de cada transcrito; [Trapnell, C. et al., 2010] Reference Annotation Based Transcript (RABT) Assembly [Roberts A., et al., 2011] Roberts A, Pimentel H, Trapnell C, Pachter L. Identification of novel transcripts in annotated genomes using RNA-Seq. Bioinformatics. 2011 Sep 1;27(17):2325-9. Epub 2011 Jun 21. PubMed PMID: 21697122. Vieses • Objetivo: abundância de fragmentos deve reflitir a abundância de transcritos; • Métodos de sequenciamento: – Viés posicional – efeito local; – Viés na composição da sequência – efeito global; • Solução: – Estimativa da expressão por método de estimação por máxima verossimilhança; • Busca valores para os parâmetros do modelo de maneira a maximizar a probabilidade dos dados amostrados, dado o modelo assumido; – Re-Estimativa da abundância dividindo cada leitura mapeada múltiplas vezes probabilísticamente baseada na estimativa inicial dos genes nos quais elas mapeiam; [Roberts A, et al., 2011] Fragments Per Kilobase of exon per Million fragments mapped (FPKM) • Medida de abundância relativa do transcrito • Fragments Per Kilobase of exon per Million fragments mapped (FPKM); – análogo ao "RPKM“; • RPKM 10^9*C/NL – C = número de leituras (reads) do transcrito; – L = tamanho do transcrito; – N = número total de leituras (reads) da amostra; – No caso de single-end reads RPKM=FPKM; Cufflinks Comandos cufflinks [options]* <aligned_reads.(sam/bam)> --output-dir <output-dir> --num-threads <int> --library-type <lib-type> --GTF-guide <gtf-file> --frag-bias-correct <ref.genome> --multi-read-correct ... : diretório onde serão gravados os arquivos gerados; : número de threads (processos) em paralelo; : tipo de biblioteca (fr-unstranded Standard Illumina); : arquivo GTF com as coordenadas do transcriptoma; : arquivo da referência genômica para correção do viés de fragmentos; : realizar a correção de alinhamentos em múltiplas posições; [/data]$ cufflinks --GTF-guide ./refs/refGene.gtf --num-threads 12 --frag-bias-correct \ > ./refs/hg19.fa --multi-read-correct --library-type fr-unstranded --output-dir ./cufflinks_output/ \ > ./tophat_output/accepted_hits.bam Cuffmerge Comandos cuffmerge [options]* <assembly_GTF_list.txt> assembly_GTF_list.txt dataset1/cufflinks_output/transcripts.gtf dataset2/cufflinks_output/transcripts.gtf --ref-sequence <ref-seqs-dir> --num-threads <int> --ref-gtf <gtf-file> ... : diretório onde estão as sequências referências no formato fasta; : número de threads (processos) em paralelo; : arquivo GTF com as coordenadas do transcriptoma; Output: ./merged_asm/ [/data]$ cuffmerge –-ref-sequence ./data/refs/fa/ --num-threads 12 \ > --ref-gtf refs/refGene.gtf assembly_GTF_list.txt Cuffdiff Comandos cuffdiff [options]* <transcripts.gtf> <sample1_replicate1.sam[,...,sample1_replicateM]> <sample2_replicate1.sam[,...,sample2_replicateM.sam]>... [sampleN.sam_replicate1.sam[,...,sample2_replicateM.sam]] --output-dir <output-dir> --num-threads <int> --library-type <lib-type> --frag-bias-correct <ref.genome> --multi-read-correct ... \ : diretório onde serão gravados os arquivos gerados; : número de threads (processos) em paralelo; : tipo de biblioteca (fr-unstranded Standard Illumina); : arquivo da referência genômica para correção do viés de fragmentos; : realizar a correção de alinhamentos em múltiplas posições; [/data]$ cuffdiff --num-threads 12 --frag-bias-correct refs/hg19.fa --multi-read-correct \ > --library-type fr-unstranded merged_asm/merged.gtf dataset1/tophat_output/accepted_hits.bam \ > tophat_output/accepted_hits.bam Conclusão CONSIDERAÇÕES FINAIS Habilidades essenciais (Bioinformática) 1. Conhecimentos e alguma experiência na área de Biologia Molecular, Computação e Estatística; 2. Conhecimentos e experiência em utilizar as principais ferramentas e pacotes de análises em Bioinformática; 3. Se sentir à vontade no ambiente de linha de comando; 4. Conhecimentos e experiência em linguagens de programação C/C++, Perl ou Python; Considerações • A Bioinformática “estima”, você é que afirma. • G.I.G.O. - “Garbage in, garbage out”; Entra lixo, sai lixo. • Quanto mais informações corretas você puder dar, melhor será o resultado. • Sempre há um resultado, pode ser bom ou ruim, mas como julgar? • Não há fuga da bancada. • Se você torturar os dados o suficiente, eles irão confessar qualquer coisa. Daniel Guariz Pinheiro, PhD [email protected]
Documentos relacionados
Introdução
> -1 ../dataset1/raw/ERR022660_100k_1000_1.fastq \ > -2 ../dataset1/raw/ERR022660_100k_1000_2.fastq \ > --offrate 10 -a -S --best --strata \ > -m 1 > ../dataset1/bowtie_output/ERR022660_100k_1000.sam
Leia maisfrom lvaruzza.com - Leonardo Varuzza`s Site
1 Introdução 1.1 O que é NGS . . . . . . . . . . . . . 1.2 Como funciona o NGS . . . . . . . . 1.2.1 Preparo da amostra . . . . . 1.2.2 Amplificação de biblioteca . . 1.2.3 Sequenciamento . . . . ....
Leia mais