A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Alinhamento de Sequências de Transcritos Gênicos

Apresentações semelhantes


Apresentação em tema: "Alinhamento de Sequências de Transcritos Gênicos"— Transcrição da apresentação:

1 Alinhamento de Sequências de Transcritos Gênicos
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

2 Planejamento Introdução Sequências Alinhamento de Sequências
Formatos dos arquivos Alinhamento de Sequências Algoritmos para Alinhamento de Sequências Softwares para Alinhamento de Sequências no Genoma Bowtie BWA Software s auxiliares Identificar as sequências intersectBED Manipular saída de alinhamento (next-generation) samtools Navegar no genoma Integrative Genomics Viewer - IGV Exercícios

3 Introdução Mapeamento genômico de transcritos
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: mapeamentos em 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: configuração dos parâmetros para a interseção; 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, ... ) O que é importante conhecer para se começar a trabalhar com alinhamento, mapeamento de sequências

4 Sequências Genéticas

5 Sequence Read Archive “We’re growing by about 1 Tb/month.”
SRA (NCBI Sequence Read Archive): ENA (EBI European Nucleotide Archive): DRA (DDBJ Sequence Read Archive): “(…) In mid-September 2010, the SRA contained >500 billion reads consisting of 60 trillion base pairs available for download (…) Almost 80% of the sequencing data are derived from the Illumina GA platform. The SOLiD™ and Roche/454 platforms account for 15% and 5% of submitted base pairs, respectively.(…)” International Nucleotide Sequence Database Collaboration “We’re growing by about 1 Tb/month.” NCBI’s staff scientist Martin Shumway (Leinonen R et. al., 2011)

6 Modelo de Dados [http://trace.ddbj.nig.ac.jp/dra/documentation_e.shtml]

7 Formato Fasta sequence.fa sequence.qual Extensões: .fa, .fasta, .fna
cagtcagcatactcagtcagtcatgcatgctga gtcacttgcatgacgtcatgactgcatgactgc >SEQUENCE_1 Extensões: .fa, .fasta, .fna

8 Qualidade O que queremos dizer com qualidade ? >SEQUENCE_1 Score Perro 10 0.1 20 0.01 30 0.001

9 Formato fastq sequence.fastq Identificador padrão Illumina
@SOLEXA01:1:1:27:1992#0/1 AGTACAAGAGACAGACATTCTTTTTTTTGACACAAG +SOLEXA01:1:1:27:1992#0/1 \FFFMXPYDDHJSUMVUJLPSNFRXZEDLNLHKHIT SOLEXA01 the unique instrument name 1 flowcell lane (8 lanes) 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) Qualidade codificada como um único caracter da tabela ASCII. Originalmente desenvolvido no Wellcome Trust Sanger Institute F = 70 (ascii) = = 6 (Qphred) = 0,25 (Perror) Extensões: .fastq

10 Color Space sequence.csfasta sequence.fasta
T0 = T => T1 = G => G2 = A => ... sequence.fasta >9_62_1919_F3 TGATGGCGCATACGCCGTACACCGTGGGCGCCCCC

11 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 (pirograma) que pode ser convertido para o formato FASTA; Programa “sffinfo”.

12 Sequenciamento em pares
mate-pair paired-ends (Korbel et al. , 2007) >SOLEXA02:1:1:11:1992#0/1 >SOLEXA02:1:1:11:1992#0/2 Referência: ~ 1928 bp a 4928 bp mate-pair 36 bp >SOLEXA01:1:1:27:1992#0/1 >SOLEXA01:1:1:27:1992#0/2 Referência: ~ 128 bp a ~428 bp paired-ends 36 bp

13 Sequenciamento em pares (Illumina)
Mate Pair Library Sequencing for Long Inserts paired-End Sequencing

14 alinhamento de sequências
Introdução alinhamento de sequências

15 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.

16 Significado Biológico do Alinhamento de Sequências
Definição de 3 termos importantes: identidade: refere-se à fração de aminoácidos ou nucleotídeos idênticos entre pares de sequências após um alinhamento dessas sequências; similaridade: refere-se à fração de aminoácidos ou nucleotídeos similares (com propriedades físico-químicas semelhantes – aminoácidos conservados) entre pares de sequências após um alinhamento dessas sequências; homologia: representa uma relação evolutiva entre as sequências; Homólogos Parálogos; Ortólogos;

17 Há uma referência? Resequenciamento Sequenciamento de novo
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.

18 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 - Eliminar as sequência com hits múltiplos (ambiguous) - Identificar as sequência com hit único (unambiguous)

19 Montagem de sequências
Sequenciamento de novo Alinhamentos: Conjunto de Sequências X Conjunto de Sequências (alinhamento pareado) Alinhamento Múltiplo de Sequências (MSA) Consensus : Seq A Seq B Seq C Seq D Seq E Seq F Seq G ACAGTACGACAGTACGACCAGTACGATAGCAGTACGATACGACCGA TCCAGTACGATAGCAGTACGATCAG GCACAGTACGACCAGTACGATACAGGAAC CAGGTACGATACGACGGACGGGG ACAGTACGACAGTACGAAAC GTACGACCAGTACGATACACT AACGACAGTACGAAACGGG TATAGGTACGATACGACGGAC

20 algoritmos para alinhamento de sequências
Introdução algoritmos para alinhamento de sequências

21 Problema básico Transformar uma sequência de caracteres em outra:
Operações: inserção deleção substituição Custo de operação: Score de substituição Penalidade para Gaps (inserção/deleção) Qual é a quantidade de operações mínima ? Como achar a séries de operações que vai garantir que usamos a quantidade de operações mínima ? Exemplo: Scores: Match: 2 Mismatch (S): -1 Gap(I): -2 Gap(D): -2 ACGT || G-GT Score (4-2-1): 1 2 matches: 4 1 gap: -2 1 mismatch: -1

22 Soluções Matrix de pontos (dot matrix) Informação qualitativa;
[Goldstein e Gunawardenaa, 2000] Drosophila Dystrobrevin and Mouse ortholog

23 Soluções Matrix de pontos (dot matrix)
Informação qualitativa; Algoritmos de Programação Dinâmica Smith-Waterman; Needleman-Wunsch; SW é um algoritmo para achar o alinhamento mais provável com uma estrutura certa;

24 Alinhamentos de Sequências
Alinhamento Global (e.g. Algoritmo de Needleman-Wunsch) As sequências envolvidas devem ser alinhadas de um extremo ao outro. Adequado quando as sequências possuem aproximadamente o mesmo tamanho. Seq X : C A T T A G C A G C C T | | | | | | Seq Y : - A G T A – - A G C - - Alinhamento Local (e.g. Algoritmo de Smith–Waterman) Procura-se alinhar apenas as regiões mais similares, independente da localização relativa de cada região. Seq X [4,10]: T A G C A G C | | | | | Seq Y [3,7]: T A - - A G C Alinhamentos (Global/Local) (DNA/Protein) FASTA (http://fasta.bioch.virginia.edu/fasta_www2/fasta_list2.shtml) EMBOSS Align (http://www.ebi.ac.uk/Tools/emboss/align/)

25 Matriz de Programação Dinâmica
GG A > Score (-2-1): -3 1 gap: -2 1 mismatch: -1 > Score(-1-2): -3 > Score(-4-2): -6 2 gaps: -4 GG A GG A traceback resolve partes do problema 1- inicializa matriz (match/mismatch/gap) – valores em vermelho; 2-inicializa primeira coluna e primeira linha da matriz, representa acúmulo de gaps consecutivos; 3-preenche a matriz calculando o valor D(i,j) com o valor máximo de score e seleciona o caminho (verde) 4 – NW – inicia a percorrer o caminho selecionado a partir do canto inferior direito; SW – inicia a percorrer o caminho selecionado a partir do maior score; D(i-1, j-1) + s(xi, yj) (diagonal -> match/mismatch) D(i -1, j) + g (acima -> gap acima) D(i, j -1) + g (esquerda -> gap esquerda) D(i-1,j-1) D(i-1,j) D(i,j-1) D(i,j) D(i, j) = max Exemplo: Scores: Match: 2 Mismatch (S): -1 Gap(I): -2 Gap(D): -2 ACGT || G-GT Score (4-2-1): 1 2 matches: 4 1 gap: -2 1 mismatch: -1

26 Solução Matrix de pontos (dot matrix)
Informação qualitativa; Algoritmos de Programação Dinâmica Smith-Waterman; Needleman-Wunsch; SW é um algoritmo para achar o alinhamento mais provável com uma estrutura certa; Por razões de tempo e espaço, não pode ser usado para alinhamento de sequências de larga escala; Utilizações de aproximações (heurísticas); Geralmente, quanto mais rápida for a aproximação, mais distante estará a resposta da solução “correta”;

27 Desafios Eficiência; Ambiguidade causada por sequências repetitivas;
velocidade; sensibilidade; especificidade; Ambiguidade causada por sequências repetitivas; Erros inerentes às técnicas de sequenciamento. sensibilidade - capacidade de identificar corretamente a localização das sequências; VP/VP+FN) especificidade - capacidade de excluir corretamente aqueles alinhamentos espúrios; VN/(VN+FP) acurácia (VP+VN)/(VP+VN+FP+FN) revocação VP/(VP+FN) precisão VP/(VP+FP)

28 BLAST Basic Local Alignment Search Tool http://blast.ncbi.nlm.nih.gov/
Heurística: dicionário de palavras (hash) – k-word Constrói dicionário de palavras de cada k-mer da consulta (score threshold) e as procura nas referências por uma correspondência exata (match exato); E-value (S): número de diferentes alinhamentos com scores equivalentes ou melhores que S que são esperados ocorrer ao acaso em buscas em um banco de dados aleatório, do mesmo tamanho, com a mesma composição de bases; QUANTO MENOR... MELHOR!!! NÃO CONFUNDIR COM P-value (probabilidade)

29 BLAT BLAT—The BLAST-Like Alignment Tool http://genome.ucsc.edu/
Estruturalmente diferente (BLAST) Além de outros pontos, o Blat constrói o dicionário de palavras de tamanho k (k-mers) do banco de dado de sequências referências (database) e faz as buscas nas sequências as quais se deseja consultar (query); Possui código especialmente para lidar com intros em alinhamentos RNA/DNA; - permite identificar corretamente sítios de splice, com BLAST costuma haver uma extensão dessa posição. Blat é mais rápido, porém menos sensível; Possui código especialmente para lidar com intros em alinhamentos RNA/DNA; Comumente utilizado para localizar uma determinada sequência no genoma ou determinar a estrutura de exons de um RNA; Pode ser utilizado para alinhar sequências de Roche/454;

30 Alinhamento de sequências curtas
BLAST/BLAT são lentos demais para alinhar milhões de sequências (Illumina: 35bp-100bp/SOLiD: ) Considerações: Não precisamos de um alinhamento sofisticado como SW; Não precisamos de estatísticas com e-value; Normalmente, sabemos a quantidade de mismatches máximas que queremos;

31 Introdução Next-generation

32 Introdução à nova geração de algoritmos de alinhamento
Alinhamentos: construção de índices (referências ou sequências) Dependendo da propriedade do índice. Os algoritmos podem ser classificados em 3 categorias: Tabelas hash Índices de sufixos/prefixos (Árvores/Arranjos) merge-sorting slider (Malhis et al., 2009) q-gram – outro método de comparação (www.cin.ufpe.br/~tg/2005-2/fmg.pdf) Um q-gram é o conjunto de todas as substrings que podem ser geradas a partir de uma determinada string e “q” representa o tamanho destas substrings. Exemplo (q-gram gerado para a string “paciente” com q = 3): {##p, #pa, pac, aci, cie, ien, ent, nte, te$, e$$} Este algoritmo foi utilizado inicialmente como técnica de filtragem, cujo objetivo é descartar áreas onde não pode haver matching (casamento de palavras) [FOSTER 03]. Entretanto esta técnica pode ser aplicada de forma diferente para identificar sequências de texto que possuam palavras em comum. Se tivermos as strings A e B podemos gerar os q-grams de A e B e depois contamos o número de q-grams idênticos. Então é possível encontrar a “q-ram distance”: | q-ram distance | = | tamanho do maior q-grams | - | número de q-grams em comum | Exemplo, comparando “paciente” com “patient”: q-gram paciente q-gram patient {##p, #pa, pat, ati, tie, ent, nt$, t$$} q-gams em comum {##p, #pa, ent} Neste exemplo temos apenas 3 q-grams em comum, o que é um valor muito baixo, pois as strings comparadas são semelhantes, e a maior string possui 10 qgrams. Aplicando a fórmula vista acima obtemos: | q-ram distance | = 10 – 3 = 7. combinação de seeds (outro método melhoria da seed)

33 Implementações Alinhadores para leituras longas (>200bp):
BLAT, SSAHA2, BWA-SW, gsMapper. Alinhadores para leituras curtas: Bfast, BioScope, Bowtie, BWA, CLC bio, CloudBurst, Eland/Eland2, GenomeMapper, GnuMap, Karma, MAQ, MOM, Mosaik, MrFAST/MrsFAST, NovoAlign, PASS, PerM, RazerS, RMAP, SSAHA2, Segemehl, SeqMap, SHRiMP, Slider/SliderII, SOAP/SOAP2, Srprism, Stampy, vmatch, ZOOM, ...

34 Variação na Eficiência
[Lunter et al., 2010]

35 Introdução à nova geração de algoritmos de alinhamento
Tabelas hash Paradigma: seed-and-extend seed: correspondência (match) exata tabela hash: índice (chave) é uma string (sequência k-mer) chave: k-mer (k = 11 – BLAST default) extensão (Smith Waterman – BLAST) spaced-seed (match não consecutivo, baseado em um template ) número de matches do seed é o seu peso (weight) Constrói Hash table das leituras e procura na referência ELAND (Anthony. J. Cox, 2006, unpublished data) MAQ (Li H et al., 2008) Constrói Hash table das referências e procura nas leituras SOAP (Li R et al., 2008) q-gram – outro método de comparação (www.cin.ufpe.br/~tg/2005-2/fmg.pdf) Um q-gram é o conjunto de todas as substrings que podem ser geradas a partir de uma determinada string e “q” representa o tamanho destas substrings. Exemplo (q-gram gerado para a string “paciente” com q = 3): {##p, #pa, pac, aci, cie, ien, ent, nte, te$, e$$} Este algoritmo foi utilizado inicialmente como técnica de filtragem, cujo objetivo é descartar áreas onde não pode haver matching (casamento de palavras) [FOSTER 03]. Entretanto esta técnica pode ser aplicada de forma diferente para identificar sequências de texto que possuam palavras em comum. Se tivermos as strings A e B podemos gerar os q-grams de A e B e depois contamos o número de q-grams idênticos. Então é possível encontrar a “q-ram distance”: | q-ram distance | = | tamanho do maior q-grams | - | número de q-grams em comum | Exemplo, comparando “paciente” com “patient”: q-gram paciente q-gram patient {##p, #pa, pat, ati, tie, ent, nt$, t$$} q-gams em comum {##p, #pa, ent} Neste exemplo temos apenas 3 q-grams em comum, o que é um valor muito baixo, pois as strings comparadas são semelhantes, e a maior string possui 10 qgrams. Aplicando a fórmula vista acima obtemos: | q-ram distance | = 10 – 3 = 7. combinação de seeds (outro método melhoria da seed)

36 Alinhamentos baseados em Hashing table
Idéia dos algoritmos de alinhamentos baseados em hashing tables com spaced-seeds: read: agtcgtat | ||| || genoma: acggcacgaggaactcgaatctgacgcatgcagtacta Se admitirmos 2 mismatches entre a minha sequência e o genoma. Se separados em 4 fragmentos, vão existir pelo menos 2 fragmentos sem mismatches, ou seja, com matches exatos !

37 spaced-seeds 6 possibilidades de seeds (templates), com no mínimo 2 fragmentos com match perfeito (ELAND) read: agtcgtat agtc---- 1 2 --tcgt-- ----gtat 3 ag--gt-- 4 --tc--at 5 ag----at 6

38 Hash Tables 1 2 3 4 5 6 [Chen et al., 2009]

39 Alinhamento de Sequências com hashing
Softwares ELAND (Anthony. J. Cox, 2006, unpublished data), MAQ (Li H et al., 2008) SOAP (Li R et al., 2008) Características: Para detectar sequências com mais mismatches, precisamos de mais seeds: Mais mismatches => mais tempo Algoritmo mais sofisticado para o alinhamento vai requerer mais tempo: Indels/gaps => mais tempo Problemas com hashing: Memória e tempo Precisa de múltiplos processadores e muita memória. Necessidade de métodos menos “glutões”

40 Introdução à nova geração de algoritmos de alinhamento
Í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, utilizando representações: Árvore de sufixos (Suffix tree) Arranjo de sufixos (Suffix array) Índice-FM (FM-index) (Ferragina and Manzini, 2000) – BWT Alinhadores de sequências: Bowtie (Langmead et al., 2009) BWA BWA-SHORT (Li and Durbin, 2009) BWA-SW (Li and Durbin, 2010) q-gram – outro método de comparação (www.cin.ufpe.br/~tg/2005-2/fmg.pdf) Um q-gram é o conjunto de todas as substrings que podem ser geradas a partir de uma determinada string e “q” representa o tamanho destas substrings. Exemplo (q-gram gerado para a string “paciente” com q = 3): {##p, #pa, pac, aci, cie, ien, ent, nte, te$, e$$} Este algoritmo foi utilizado inicialmente como técnica de filtragem, cujo objetivo é descartar áreas onde não pode haver matching (casamento de palavras) [FOSTER 03]. Entretanto esta técnica pode ser aplicada de forma diferente para identificar sequências de texto que possuam palavras em comum. Se tivermos as strings A e B podemos gerar os q-grams de A e B e depois contamos o número de q-grams idênticos. Então é possível encontrar a “q-ram distance”: | q-ram distance | = | tamanho do maior q-grams | - | número de q-grams em comum | Exemplo, comparando “paciente” com “patient”: q-gram paciente q-gram patient {##p, #pa, pat, ati, tie, ent, nt$, t$$} q-gams em comum {##p, #pa, ent} Neste exemplo temos apenas 3 q-grams em comum, o que é um valor muito baixo, pois as strings comparadas são semelhantes, e a maior string possui 10 qgrams. Aplicando a fórmula vista acima obtemos: | q-ram distance | = 10 – 3 = 7. combinação de seeds (outro método melhoria da seed)

41 Árvore de sufixos String indexada: ^GOOGOL$ String procurada: LOL
Mismatches permitidos: 1 Match: GOL Baseiam-se na árvore de sufixos, diversas estruturas de dados foram criadas para permitir que seja possível uma busca na árvore considerando tempo e espaço. Porém uma das mais eficientes é a proposta por Ferragina e Manzini, chamada FM-Index. [Li and Durbin, 2009]

42 Transformação de Burrows–Wheeler
Inverse Transformation BWT(T) => T Input Add 1 Sort 1 Add 2 Sort 2 B N ^ A @ BA NA ^B AN @^ Add 3 Sort 3 Add 4 Sort 4 BAN NAN ^BA ANA @^B BANA NANA ^BAN ANAN @^BA Add 5 Sort 5 Add 6 Sort 6 BANAN ^BANA ANANA @^BAN BANANA ^BANAN @^BANA Add 7 Sort 7 Add 8 Sort 8 ^BANANA @^BANAN @^BANANA @^BANANA Output FM-Index (Ferragina e Manzini, 2000); Burrows-Wheeler Transform (BWT) Algoritmo usado normalmente em softwares de compressão (.bzip2); Ideia básica: dada uma sequência S de n símbolos, reordenar os símbolos formando outra sequência L, que verifica duas condições: a probabilidade de um símbolo ser igual ao anterior é muito elevada; é possível reconstruir S a partir de L e de mais alguma informação (primary index); Transformation T => BWT(T) Input All Rotations Sort the Rows Output @^BANANA Facilita a aplicação de técnicas de compressão de dados, aumentando a proximidade de caracteres redundantes. Língua portuguesa “a” ocorre com maior probabilidade (redução da entropia – sequências aparecem juntas com maior probabilidade)

43 FM-Index Transformação de Burrows Wheeler Rotações Sequência
[Li and Durbin, 2009] Array de sufixos

44 LF mapping A ordem de ocorrência de um caracter na última coluna é a mesma ordem de ocorrência na primeira coluna. Match exato (aac) BWT ponteiros Suffix Array Quando dois ponteiros se encontram: match Reconstrução da sequência original T => BWT(T) BWT(T) => T Exact Match [Langmead et al., 2009]

45 Inexact Matching depth-first-traversal Bowtie Backtracks
Equivalente a uma busca em profundidade na árvore de sufixos. [Langmead et al., 2009]

46 BWA-SW Heurísticas + Smith-Waterman-like
Apropriado para sequências longas (> 100 pb) Mais acurado e ~10 vezes mais rápido que o BLAT Percorre as duas estruturas de índices de sufixos (para a leitura e para a referência) alinhando-as utilizando programação dinâmica; Utiliza heurísticas para não percorrer toda a estrutura (Z-best strategy), identificando seeds de alinhamento com o maior score; Utiliza o algoritmo de Smith-Waterman para extender o alinhamento das seeds identificadas; Sequência Referência (reference) Sequência da leitura (query) - é uma representação implícita de uma árvore de sufixos (FM-index) representação implícita A - Árvore de sufixos ‘GOOGOL’; B – Grafo Direcionado Acíclico de Palavras (DAWG) ‘ GOOGOL’;

47 Bowtie http://bowtie-bio.sourceforge.net Burrows-Wheeler;
Reduz a quantidade de memória e de tempo para alinhar sequências curtas; Podem ser usadas sequências Illumina e SOLiD Deficiências: Não tem garantia de retornar todos os hits com mismatches (exceto com opção --best) Limite de 3 mismatches (demora mais) Reads longos reduz a velocidade Não permite alinhamento com gaps

48 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 /--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 -o/--offrate <int> To map alignments back to positions on the reference sequences, it's necessary to annotate ("mark") some or all of the Burrows-Wheeler rows with their corresponding location on the genome. -o/--offrate governs how many rows get marked: the indexer will mark every 2^<int> rows. Marking more rows makes reference-position lookups faster, but requires more memory to hold the annotations at runtime. The default is 5 (every 32nd row is marked; for human genome, annotations occupy about 340 megabytes). marcações no índice das posições na sequência referência, tem uma influência grande na performance, quanto maior o valor, menos memória é requerida, porém mais lento! quanto menor o valor, mais memória é requerida, porém é muito mais rápido. hg18.1.ebwt hg18.2.ebwt hg18.3.ebwt hg18.4.ebwt hg18.rev.1.ebwt hg18.rev.2.ebwt [/data/indexes]$ bowtie-build /data/hg18.fa hg18 $BOWTIE_INDEXES=“/data/indexes”

49 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> Number of characters across in FASTA output (default: 60) -n/--names Print reference sequence names only -s/--summary Print summary incl. ref names, lengths, index properties -e/--ebwt-ref Reconstruct reference from ebwt (slow, preserves colors) -v/--verbose Verbose output (for debugging) -h/--help print detailed description of tool and its options --help print this usage message [/data/indexes]$ bowtie-inspect -s hg18

50 Bowtie Aligner: bowtie
Usage: bowtie [options]* <ebwt> {-1 <m1> -2 <m2> | --12 <r> | <s>} [<hit>] <m1> Comma-separated list of files containing upstream mates (or the sequences themselves, if -c is set) paired with mates in <m2> <m2> Comma-separated list of files containing downstream mates (or the sequences themselves if -c is set) paired with mates in <m1> <r> Comma-separated list of files containing Crossbow-style reads. Can be a mixture of paired and unpaired. Specify "-" for stdin <s> Comma-separated list of files containing unpaired reads, or the sequences themselves, if -c is set. Specify "-" for stdin <hit> File to write hits to (default: stdout) Input: q query input files are FASTQ .fq/.fastq (default) f query input files are (multi-)FASTA .fa/.mfa r query input files are raw one-sequence-per-line c query sequences given on cmd line (as <mates>, <singles>) -C reads and index are in colorspace Q/--quals <file> QV file(s) corresponding to CSFASTA inputs; use with -f -C --Q1/--Q2 <file> same as -Q, but for mate files 1 and 2 respectively s/--skip <int> skip the first <int> reads/pairs in the input u/--qupto <int> stop after first <int> reads/pairs (excl. skipped reads) /--trim5 <int> trim <int> bases from 5' (left) end of reads /--trim3 <int> trim <int> bases from 3' (right) end of reads phred33-quals input quals are Phred+33 (default) phred64-quals input quals are Phred+64 (same as --solexa1.3-quals) solexa-quals input quals are from GA Pipeline ver. < solexa1.3-quals input quals are from GA Pipeline ver. >= integer-quals qualities are given as space-separated integers (not ASCII) Alignment: v <int> report end-to-end hits w/ <=v mismatches; ignore qualities or -n/--seedmms <int> max mismatches in seed (can be 0-3, default: -n 2) -e/--maqerr <int> max sum of mismatch quals across alignment for -n (def: 70) -l/--seedlen <int> seed length for -n (default: 28) --nomaqround disable Maq-like quality rounding for -n (nearest 10 <= 30) -I/--minins <int> minimum insert size for paired-end alignment (default: 0) -X/--maxins <int> maximum insert size for paired-end alignment (default: 250) --fr/--rf/--ff , -2 mates align fw/rev, rev/fw, fw/fw (default: --fr) --nofw/--norc do not align to forward/reverse-complement reference strand --maxbts <int> max # backtracks for -n 2/3 (default: 125, 800 for --best) --pairtries <int> max # attempts to find mate for anchor hit (default: 100) -y/--tryhard try hard to find valid alignments, at the expense of speed --chunkmbs <int> max megabytes of RAM for best-first search frames (def: 64) Reporting: -k <int> report up to <int> good alignments per read (default: 1) -a/--all report all alignments per read (much slower than low -k) -m <int> suppress all alignments if > <int> exist (def: no limit) -M <int> like -m, but reports 1 random hit (MAPQ=0); requires --best --best hits guaranteed best stratum; ties broken by quality --strata hits in sub-optimal strata aren't reported (requires --best) Output: -t/--time print wall-clock time taken by search phases -B/--offbase <int> leftmost ref offset = <int> in bowtie output (default: 0) --quiet print nothing but the alignments --refout write alignments to files refXXXXX.map, 1 map per reference --refidx refer to ref. seqs by 0-based index rather than name --al <fname> write aligned reads/pairs to file(s) <fname> --un <fname> write unaligned reads/pairs to file(s) <fname> --max <fname> write reads/pairs over -m limit to file(s) <fname> --suppress <cols> suppresses given columns (comma-delim'ed) in default output --fullref write entire ref name (default: only up to 1st space) Colorspace: --snpphred <int> Phred penalty for SNP when decoding colorspace (def: 30) or --snpfrac <dec> approx. fraction of SNP bases (e.g ); sets --snpphred --col-cseq print aligned colorspace seqs as colors, not decoded bases --col-cqual print original colorspace quals, not decoded quals --col-keepends keep nucleotides at extreme ends of decoded alignment SAM: -S/--sam write hits in SAM format --mapq <int> default mapping quality (MAPQ) to print for SAM alignments --sam-nohead supppress header lines (starting for SAM output --sam-nosq header lines for SAM output --sam-RG <text> add <text> (usually "lab=value") line of SAM header Performance: -o/--offrate <int> override offrate of index; must be >= index's offrate -p/--threads <int> number of alignment threads to launch (default: 1) --mm use memory-mapped I/O for index; many 'bowtie's can share --shmem use shared mem for index; many 'bowtie's can share Other: --seed <int> seed for random number generator --verbose verbose output (for debugging) --version print version information and quit -h/--help print this usage message [/data]$ bowtie hg18 \ > -c "AGGAATTGCGGGAGGAAAATGGGTAGTTAGCTATTT,AGGGCCCATAGCAACAGATTTCTAGCCCCCTGAAGA" > --best --strata --tryhard -m 1

51 Principais parâmetros do Bowtie
Alignment: -n <int>: número máximo de mismatches na seed [1..3] (2) – Mutuamente exclusivo (-v); -v <int>: número máximo de mismatches em todo o alinhamento, ignorando qualidade; -l <int>: tamanho da seed [5..*] (28); -e <int>: total valor qualidade [10..30] máximo para as posições onde há mismatch, considerando o alinhamento todo (70); --maxbts <int> : número máximo de backtracks permitidos (125, 800 com --best); --pairtries <int>: número máximo de tentativas de encontrar sequências em pares; --try_hard: equivalente p/ valores altos de --maxbts e –pairtries Reporting: --best: 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) -a: reporta todos os alinhamentos válidos; -k <int>: reporta até k alinhamentos válidos; -m <int>: suprime os alinhamentos múltiplos de uma leitura se há mais que m alinhamentos válidos;

52 BWA http://bio-bwa.sourceforge.net/
Dois algoritmos baseados na Transformação de Burrows-Wheeler (BWT) sequências pequenas (queries) até ~200bp com baixa taxa de erro (<3%) Alinhamento global (FM-index) com respeito às queries, suporta sequências paired-ends. BWA (Li and Durbin, 2009) sequências longas (queries) com taxa de erro maior Alinhamento local = heurísticas+Smith-Waterman-like em árvores de sufixos, não suporta sequências paired-ends. Lento para sequências pequenas. BWA-SW (Li and Durbin, 2010)

53 BWA (index) bwa index [-p prefix] [-a algoType] [-c] <in.db.fasta> Index database sequences in the FASTA format. Constrói os índices das sequências de referência que serão utilizadas no alinhamento. OPTIONS: -c Build color-space index. The input fast should be in nucleotide space. -p STR Prefix of the output database [same as db filename] -a STR Algorithm for constructing BWT index. Available options are: is IS linear-time algorithm for constructing suffix array. - requires 5.37*N (N = size of the database) - IS is moderately fast, but does not work with database larger than 2GB. bwtsw Algorithm implemented in BWT-SW. - does not work with database smaller than 10MB and it is usually slower than IS. [/data/indexes]$ bwa index –a bwtsw /data/hg19.fa

54 BWA (aln) [/data/input]$ bwa aln –f out.sai /data/hg19.fa in.fastq
bwa aln [-n maxDiff] [-o maxGapO] [-e maxGapE] [-d nDelTail] [-i nIndelEnd] [-k maxSeedDiff] [-l seedLen] [-t nThrds] [-cRN] [-M misMsc] [-O gapOsc] [-E gapEsc] [-q trimQual] [-f <out.sai>] <in.db.fasta> <in.query.fq> Encontra as coordenadas das leituras no array de sufixos; MAIN OPTIONS: -I The input is in the Illumina 1.3+ read format; -n NUM Maximum edit distance (maxDiff). Máximo de diferenças permitidas no alinhamento todo. Se inteiro é a distância de edição, se ponto flutuante, automaticamente seleciona essa distância de edição com base nos valores de taxa de erro (uniforme) 2%, tamanho das sequências e NUM (threshold) [0.04]; -l INT Take the first INT subsequence as seed (seedLen) – Tamanho da primeira semente de alinhamento. Se INT maior que o tamanho das sequências, desabilita seeding [32]; -k INT Maximum edit distance in the seed (maxSeedDiff) – Número máximo de diferenças permitidas na primeira semente de alinhamento (seed) [2]; -t INT Number of threads (multi-threading mode) [1]; -o INT Maximum number of gap opens [1] -e INT Maximum number of gap extensions, -1 for k-difference mode (disallowing long gaps) [-1] -d INT Disallow a long deletion within INT bp towards the 3’-end [16] -i INT Disallow an indel within INT bp towards the ends [5] -N Disable iterative search. All hits with no more than maxDiff differences will be found. This mode is much slower than the default. -q INT Parameter for read trimming (soft clipping). -N - Desabilita a busca iterativa, heurística para não percorrer todos os intervalos no array de sufixos (caso os intervalos sejam repetitivos); [/data/input]$ bwa aln –f out.sai /data/hg19.fa in.fastq

55 BWA (samse/sampe) bwa samse [-n maxOcc] –f <out.sam> <in.db.fasta> <in.sai> <in.fq> Gera alinhamentos no formato SAM a partir de leituras single-end. Hits repetitivos são escolhidos aleatoriamente. bwa sampe [-a maxInsSize] [-o maxOcc] [-n maxHitPaired] [-N maxHitDis] [-P] -f <out.sam> <in.db.fasta> <in1.sai> <in2.sai> <in1.fq> <in2.fq> Gera alinhamentos no formato SAM a partir de leituras paired-end. Hits de pares repetitivos são escolhidos aleatoriamente. MAIN OPTIONS: -n INT Maximum number of alignments to output in the XA tag for reads paired properly. If a read has more than INT hits, the XA tag will not be written. [3] -N INT Maximum number of alignments to output in the XA tag for disconcordant read pairs (excluding singletons). If a read has more than INT hits, the XA tag will not be written. [10] -s Disable Smith-Waterman for the unmapped mate; [/data/input]$ bwa samse –f out.sam /data/hg19.fa out.sai in.fastq leituras em pares discordantes (em outros cromossomos, distantes) leituras em pares concordantes (tamanho esperado) Smith-Waterman realizado nas leituras que alinham isoladamente (singletons) e tenta recuperar o mapeamentos de um par com muitas diferenças [/data/input]$ bwa sampe –f outpe.sam /data/hg19.fa out1.sai out2.sai \ > in1.fastq in2.fastq

56 BWA (bwasw) bwa bwasw [-a matchScore] [-b mmPen] [-q gapOpenPen] [-r gapExtPen] [-t nThreads] [-w bandWidth] [-T thres] [-s hspIntv] [-z zBest] [-N nHspRev] [-c thresCoef] –f <out.sam> <in.db.fasta> <in.fq> Gera alinhamento de sequências longas no formato SAM. MAIN OPTIONS: -t INT Number of threads in the multi-threading mode [1] -z INT Z-best heuristics. Higher -z increases accuracy at the cost of speed. [1] -s INT Maximum SA interval size for initiating a seed. Higher -s increases accuracy at the cost of speed. [3] A more efficient strategy would be to use BWA-SW to find partial matches and apply the Smith–Waterman algorithm to extend. In dynamic programming, we know the number of partial matches being considered at any pair because this can be calculated from the size of the SA interval. When Guv is good enough and the SA interval size of v is below a certain threshold (3 by default), we save the (u,v) pair, called a seed interval pair, and do not go deeper from the v node in (X). By looking up the suffix array of X and W, we can derive seed matches, or simply seeds, from seed interval pairs. These seeds are then extended by the Smith–Waterman algorithm later. If the entire query is a highly repetitive sequence, it will be aligned purely with the algorithm described in the last section without the Smith–Waterman extension. [/data/input]$ bwa bwasw –f out.sam /data/hg19.fa in.fastq

57 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 corpo (alinhamentos); O alinhamento é representado no corpo por linhas com campos (11 mandatórios) delimitados por TAB;

58 Formato SAM (1) Col Field Description 1 QNAME Query (pair) NAME 2 FLAG
bitwise FLAG 3 RNAME Reference sequence NAME 4 POS 1-based leftmost POSition/coordinate of clipped sequence 5 MAPQ MAPping Quality (Phred-scaled) 6 CIGAR extended CIGAR string 7 MRNM Mate Reference sequence NaMe (‘=’ if same as RNAME) 8 MPOS 1-based Mate POSistion 9 ISIZE Inferred insert SIZE 10 SEQ query SEQuence on the same strand as the reference 11 QUAL query QUALity (ASCII-33 gives the Phred base quality) 12 OPT variable OPTional fields in the format TAG:VTYPE:VALUE tamanho inferido para o inserto distância entre o início do p1 e o fim do p2 (início p2+tamanhop2)

59 Mapping Quality Qualidade do mapeamento – escala Phred de qualidade (Li et al., 2008);

60 Formato SAM (2) SAM pile-up C
cabeçalho – lista as referências e tamanhos SQ – ordem das referências SN – Sequence Name LN – LeNgth pileup empilhar - nome da referência - posição (inicia somente onde começa a ter algum alinhamento) base na referência quantidade de bases edição ou match qualidade de cada base Nota: deleção sempre a base anterior à deleção .-1G (deleção de um G); na base da deleção * (missing) padding – * (read) concordante com a referência (*) inserção – base (read) discordante com a referência 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 $

61 Bitwise FLAG Exemplo: FLAG 2 alinhamentos de leituras paired-end
FLAGs: 99 ( ) ( ) Flag (Hex) Description 0x0001 the read is paired in sequencing 0x0002 the read is mapped in a proper pair 0x0004 the query sequence itself is unmapped 0x0008 the mate is unmapped 0x0010 strand of the query (1 for reverse) 0x0020 strand of the mate 0x0040 the read is the first read in a pair 0x0080 the read is the second read in a pair 0x0100 the alignment is not primary 0x0200 QC failure 0x0400 optical or PCR duplicate 99 1 147 1 sequências paired-end

62 Formato BED Formato flexível para definição de dados de anotação. Os três primerio campos são requeridos: chrom – Nome do cromossomo chromStart – Início da coordenada no cromossomo chromEnd – Final da coordenada no cromossomo name – Nome da linha de anotação score – Pontuação entre 0 e 1000 strand – Fita do DNA + ou - thickStart – Início da coordenada de destaque (por ex. start codon) thickEnd – Fim da coordenada de destaque (por ex. stop codon) itemRgb – Valor RGB no formato R,G,B (e.g. 255,0,0) ; cor no Genome Browser blockCount – Número de blocos de alinhamento (por ex. exons) blockSizes – Lista (separada por vírgula) de tamanho dos blocos blockStarts – Lista (separada por vírgula) com o iníco da coordenada dos blocos Exemplo Genome Browser chr1 34610 36081 NR_026818 - 3 564,205,361, 0,666,1110, 803450 812182 NR_027055 605,1044,57, 0,6041,8675,

63 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 ...

64 samtools http://samtools.sourceforge.net/
Provê várias ferramentas para manipulação dos alinhamentos no formato SAM/BAM Funcionalidades import Conversão de SAM-para-BAM view Conversão de BAM-para-SAM e recuperação de subalinhamentos sort Ordenação (posição nos cromossomos) merge união de múltiplos alinhamentos ordenados index Indexação de alinhamentos ordenados faidx Indexação de arquivos FASTA e recuperação de subsequências tview Visualização do alinhamento pileup Gera arquivo de cobertura por posição

65 goby http://campagnelab.org/software/goby/
Sistema computacional para manipulação de dados da nova geração de sequenciamento, com aplicações que facilitam a implementação de “pipelines” de análise de dados; Funcionalidades Filtragem de leituras redunantes; Criação de arquivos nos formatos wiggle/bed para visualização; Análise de expressão gênica diferencial; Detecção de variações;

66 Integrative Genomics Viewer
IGV (Genome Browser) 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!

67 Referências Cock PJ, Fields CJ, Goto N, Heuer ML, Rice PM. The Sanger FASTQ file format for sequences with quality scores, and the Solexa/Illumina FASTQ variants. Nucleic Acids Res Apr;38(6): Epub 2009 Dec 16. Review. PubMed PMID: ; PubMed Central PMCID: PMC ; Li H, Homer N. A survey of sequence alignment algorithms for next-generation sequencing. Brief Bioinform Sep;11(5): Epub 2010 May 11. Review. PubMed PMID: ; PubMed Central PMCID: PMC ; Li H, Durbin R. Fast and accurate short read alignment with Burrows-Wheeler transform. Bioinformatics Jul 15;25(14): Epub 2009 May 18. PubMed PMID: ; PubMed Central PMCID: PMC ; Li H, Durbin R. Fast and accurate long-read alignment with Burrows-Wheeler transform. Bioinformatics Mar 1;26(5): Epub 2010 Jan 15. PubMed PMID: ; PubMed Central PMCID: PMC ; Langmead B, Trapnell C, Pop M, Salzberg SL. Ultrafast and memory-efficient alignment of short DNA sequences to the human genome. Genome Biol. 2009;10(3):R25. Epub 2009 Mar 4. PubMed PMID: ; PubMed Central PMCID: PMC ; Li H, Ruan J, Durbin R. Mapping short DNA sequencing reads and calling variants using mapping quality scores. Genome Res Nov;18(11): Epub 2008 Aug 19. PubMed PMID: ; PubMed Central PMCID: PMC ; Robinson JT, Thorvaldsdóttir H, Winckler W, Guttman M, Lander ES, Getz G, Mesirov JP. Integrative genomics viewer. Nat Biotechnol Jan;29(1):24-6. PubMed PMID: ; Li H, Handsaker B, Wysoker A, Fennell T, Ruan J, Homer N, Marth G, Abecasis G, Durbin R; 1000 Genome Project Data Processing Subgroup. The Sequence Alignment/Map format and SAMtools. Bioinformatics Aug 15;25(16): Epub 2009 Jun 8. PubMed PMID: ; PubMed Central PMCID: PMC ;

68 Daniel Guariz Pinheiro


Carregar ppt "Alinhamento de Sequências de Transcritos Gênicos"

Apresentações semelhantes


Anúncios Google