Alinhamento de Sequências de Transcritos Gênicos

Slides:



Advertisements
Apresentações semelhantes
Utilizando o R. Técnicas para Predição de Dados 2 17/8/2008 Introdução ao R R é um linguagem (ambiente) de programação para computação estatística e gráfica.
Advertisements

Aula T-09 – BCC202 Listas (Parte 1) Túlio Toffolo www. decom. ufop
Programação em Java Prof. Maurício Braga
Software Básico Silvio Fernandes Universidade Federal Rural do Semi-Árido Departamento de Ciências Ambientais Ciência da Computação Aula 06: Funções.
Operadores e Funções do LINGO
Introdução à Programação usando Processing Programação Gráfica 2D Animações Exercício Animações 14/10/09 Bruno C. de Paula 2º Semestre 2009 > PUCPR >
14/10/09 Uma animação possui: Início; Passo; Fim; 1.
BD em.NET: Passo a passo conexão com SQL Server 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.
Software Básico Silvio Fernandes
Modelos no Domínio do Tempo de Sistemas LTI Contínuos
Universidade Federal de Viçosa
Montagem e análise de genomas
Série de Exercícios.
Seqüenciamento parcial de transcritos
Uso da bioinformática na análise genômica
1 Complexidade de Algoritmos Complexidade de pior caso Complexidade de melhor caso de uso bem menos freqüente em algumas situações específicas Complexidade.
Coleta de resíduos. Sumário Resíduos Coleta de resíduos Contador de referências Marcação e varredura Parada e cópia Marcação e compactação Gerenciamento.
1 MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE) BREVE HISTÓRICO CARACTERÍSTICAS CONCEITOS DE PROGRAMAÇÃO ORIENTADA A OBJETOS MODELAGEM DE ANÁLISE E DE.
Estatística Básica Utilizando o Excel
Pesquisa em Memória Primária
BCC101 – Matemática Discreta
Eukaryotic and prokaryotic promoter prediction using hybrid approach Hao Lin Qian-Zhong Li Theory in Biosciences, 2011.
Pesquisa em Memória Primária
Classificação e Pesquisa de Dados
Estudo de Caso 1: UNIX e LINUX
Análise Léxica Supondo o trecho de programa abaixo:
9 Controle de fluxo Seqüenciadores. Jumps. Escapes. Exceções.
Instrutor: Nilo Menezes
Aula 4 Nomes, Vinculações, Tipos e Escopos
CEP – Controle Estatístico de Processo
Arquivos Invertidos André Ferreira da Silva Jimy Marques Madeiro
Listas Encadeadas.
Revisão da Linguagem C.
Classes e objetos Arrays e Sobrecarga
Classes e objetos P. O. O. Prof. Grace.
Capítulo 10 Strings & File I/O. Strings Strings são um conjunto de Caracteres ASCII. No Controle de Instrumentação pode-se converter valores numéricos.
Campus de Caraguatatuba
Python Persistência de Dados
Prof. Natalia Castro Fernandes Mestrado em Telecomunicações – UFF 2º semestre/2012.
Sistemas Operacionais
Análise Computacional de Seqüências Nucleotídicas e Protéicas
Alinhamento de Seqüências Genéticas
Árvores binárias de pesquisa com balanceamento
Genómica Licenciatura em Ciências Biomédicas Departamento de Ciências da Saúde, UCP Fevereiro 2013.
Modelagem Estatística
Bioinformática (Alinhamento de Seqüências)
ENGA78 – Síntese de Circuitos Digitais
Monitoria GDI Aula Prática
IF803 - Introdução à Biologia Molecular Computacional Profa. Katia Guimarães 2007/2.
Sistemas Operacionais
Listas Simplesmente Encadeadas
SISTEMAS OPERACIONAIS I Gerenciamento de Arquivos
Bancos de Dados Natália F. Martins. BD de Seqüências Há uma quantidade gigantesca de informação sobre biomoléculas em BD públicos Mais de 348 BD –BD de.
Planilha Eletrônica - Excel
Análises de sequências
Linguagem de Programação II Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Banco de Dados Biológicos
Curso Intensivo de Anotação de ESTs de Crinipellis perniciosa Eduardo Fernandes Formighieri Laboratório de Genômica e Expressão / UNICAMP Fevereiro
RepeatMasker Aluno: Fred Ulisses maranhão Professora: Kátia S. Guimarães Algoritmos p/ processamento de Cadeias, Cin, UFPE - 1/2001.
Clusterização de sequências biológicas : PHRAP e CAP3
Identificação dos Genes de uma cadeia de DNA com a ferramenta GENSCAN
Definições e tipos de alinhamento. O uso do BLAST
PSI e PHI BLAST Eduardo Sampaio Rocha. BLAST Basic Local Alignment Search Tool –Desenvolvido por Altschul, Gish, Miller, Myers e Lipman em 1990 –Conjunto.
Melhorando Alinhamentos Locais Katia Guimarães
Análise Computacional de Seqüências Nucleotídicas e Protéicas BLAST Antonio Basílio de Miranda 24/11/2004 Adaptado por Marcos Catanho 10/05/2005.
XML Namespaces XML Namespaces provê um método para evitar conflito de nomes de elementos.
Principais algoritmos de alinhamento de sequências genéticas
Alinhamentos Múltiplos
Bioinformática Felipe G. Torres.
Alinhamento Global de Seqüências Katia Guimarães.
Transcrição da apresentação:

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

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

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

Sequências Genéticas

Sequence Read Archive “We’re growing by about 1 Tb/month.” 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 “(…) 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)

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

Formato Fasta sequence.fa sequence.qual Extensões: .fa, .fasta, .fna 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 0.1 20 0.01 30 0.001

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) = 70-64 = 6 (Qphred) = 0,25 (Perror) Extensões: .fastq

Color Space sequence.csfasta sequence.fasta T0 = T => T1 = G => G2 = A => ... 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 (pirograma) que pode ser convertido para o formato FASTA; Programa “sffinfo”.

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

Sequenciamento em pares (Illumina) Mate Pair Library Sequencing for Long Inserts paired-End Sequencing http://www.illumina.com/technology/mate_pair_sequencing_assay.ilmn http://www.illumina.com/technology/paired_end_sequencing_assay.ilmn

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

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.

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;

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.

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)

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

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

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

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

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;

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/)

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

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”;

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)

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)

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;

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;

Introdução Next-generation

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)

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

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

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 111011001110111) 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)

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 !

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

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

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”

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)

Á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]

Transformação de Burrows–Wheeler Inverse Transformation BWT(T) => T Input BNN^AA@A Add 1 Sort 1 Add 2 Sort 2 B N ^ A @ BA NA ^B AN @^ A@ Add 3 Sort 3 Add 4 Sort 4 BAN NAN NA@ ^BA ANA @^B A@^ BANA NANA NA@^ ^BAN ANAN ANA@ @^BA A@^B Add 5 Sort 5 Add 6 Sort 6 BANAN NANA@ NA@^B ^BANA ANANA ANA@^ @^BAN A@^BA BANANA NANA@^ NA@^BA ^BANAN ANANA@ ANA@^B @^BANA A@^BAN Add 7 Sort 7 Add 8 Sort 8 BANANA@ NANA@^B NA@^BAN ^BANANA ANANA@^ ANA@^BA @^BANAN A@^BANA BANANA@^ NANA@^BA NA@^BANA ^BANANA@ ANANA@^B ANA@^BAN @^BANANA A@^BANAN ANANA@^B ANA@^BAN A@^BANAN BANANA@^ NANA@^BA NA@^BANA ^BANANA@ @^BANANA Output ^BANANA@ 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@ @^BANANA A@^BANAN NA@^BANA ANA@^BAN NANA@^BA ANANA@^B BANANA@^ BNN^AA@A 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)

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

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]

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

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’;

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

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

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

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) -5/--trim5 <int> trim <int> bases from 5' (left) end of reads -3/--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. < 1.3 --solexa1.3-quals input quals are from GA Pipeline ver. >= 1.3 --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 -1, -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. 0.001); 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 with @) for SAM output --sam-nosq supppress @SQ header lines for SAM output --sam-RG <text> add <text> (usually "lab=value") to @RG 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

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;

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)

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

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); http://seqanswers.com/forums/showthread.php?t=6251 http://wiki.bioinformatics.ucdavis.edu/index.php/TrimBWAstyle.pl [/data/input]$ bwa aln –f out.sai /data/hg19.fa in.fastq

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

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

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

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

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 $

Bitwise FLAG Exemplo: FLAG 2 alinhamentos de leituras paired-end FLAGs: 99 (00001100011 ) 147 (00010010011 ) 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

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,

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

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

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; …

Integrative Genomics Viewer IGV (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!

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. 2010 Apr;38(6):1767-71. Epub 2009 Dec 16. Review. PubMed PMID: 20015970; PubMed Central PMCID: PMC2847217; Li H, Homer N. A survey of sequence alignment algorithms for next-generation sequencing. Brief Bioinform. 2010 Sep;11(5):473-83. Epub 2010 May 11. Review. PubMed PMID: 20460430; PubMed Central PMCID: PMC2943993; Li H, Durbin R. Fast and accurate short read alignment with Burrows-Wheeler transform. Bioinformatics. 2009 Jul 15;25(14):1754-60. Epub 2009 May 18. PubMed PMID: 19451168; PubMed Central PMCID: PMC2705234; Li H, Durbin R. Fast and accurate long-read alignment with Burrows-Wheeler transform. Bioinformatics. 2010 Mar 1;26(5):589-95. Epub 2010 Jan 15. PubMed PMID: 20080505; PubMed Central PMCID: PMC2828108; 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: 19261174; PubMed Central PMCID: PMC2690996; Li H, Ruan J, Durbin R. Mapping short DNA sequencing reads and calling variants using mapping quality scores. Genome Res. 2008 Nov;18(11):1851-8. Epub 2008 Aug 19. PubMed PMID: 18714091; PubMed Central PMCID: PMC2577856; Robinson JT, Thorvaldsdóttir H, Winckler W, Guttman M, Lander ES, Getz G, Mesirov JP. Integrative genomics viewer. Nat Biotechnol. 2011 Jan;29(1):24-6. PubMed PMID: 21221095; 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. 2009 Aug 15;25(16):2078-9. Epub 2009 Jun 8. PubMed PMID: 19505943; PubMed Central PMCID: PMC2723002;

Daniel Guariz Pinheiro dgpinheiro@gmail.com