680 likes | 868 Vues
Alinhamento de Sequências de T ranscritos 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
E N D
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 • 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 • IntegrativeGenomicsViewer - 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, alternativesplicing, ...); • Inspeção visual; • Utilização de um browser de genoma (e.g.Genome Browser, GBrowse, IntegrativeGenomicsViewer (IGV), Gaggle Browser, ... )
SequenceReadArchive • 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 >SEQUENCE_1 cagtcagcatactcagtcagtcatgcatgctga gtcacttgcatgacgtcatgactgcatgactgc >SEQUENCE_1 1 9 7 15 20 21 16 26 31 37 38 ... 31 13 23 29 31 33 35 30 29 34 ... Extensões: .fa, .fasta, .fna
Qualidade O que queremos dizer com qualidade ? >SEQUENCE_1 1 9 7 15 20 21 16 26 31 37 38 ... 31 13 23 29 31 33 35 30 29 34 ...
Formato fastq Identificador padrão Illumina sequence.fastq @SOLEXA01:1:1:27:1992#0/1 AGTACAAGAGACAGACATTCTTTTTTTTGACACAAG +SOLEXA01:1:1:27:1992#0/1 \FFFMXPYDDHJSUMVUJLPSNFRXZEDLNLHKHIT Qualidadecodificadacomo um únicocaracterdatabela ASCII. F = 70 (ascii) = 70-64 = 6 (Qphred) = 0,25 (Perror) Extensões: .fastq
ColorSpace sequence.csfasta >9_62_1919_F3 T01231033313313303131110311003330000 T0 = T => T1 = G => G2 = A => ... sequence.fasta >9_62_1919_F3 TGATGGCGCATACGCCGTACACCGTGGGCGCCCCC
sff • “sff” refere-se a “Standard Flowgram Format”. Os arquivosgeradosporumacorrida de Roche-454. • Os arquivossffcontêm: • um cabeçalho manifesto, no início, o qualdescreveinformaçõessobre a corrida; • valoresreferentesàsintensidades dos sinaisparacada base; • Formatobinário (pirograma) quepode ser convertidopara o formato FASTA; • Programa “sffinfo”.
Sequenciamento em pares • Sequenciamento em pares • mate-pair • paired-ends (Korbelet al. , 2007) 36 bp 36 bp 36 bp 36 bp Referência: Referência: ~ 1928 bp a 4928 bp ~ 128 bp a ~428 bp >SOLEXA01:1:1:27:1992#0/1 >SOLEXA02:1:1:11:1992#0/1 >SOLEXA02:1:1:11:1992#0/2 >SOLEXA01:1:1:27:1992#0/2 paired-ends mate-pair
Sequenciamento em pares (Illumina) Mate PairLibrarySequencing for LongInserts paired-EndSequencing http://www.illumina.com/technology/mate_pair_sequencing_assay.ilmn http://www.illumina.com/technology/paired_end_sequencing_assay.ilmn
Introdução alinhamento de sequências
Alinhamento de Sequências EmBioinformática, alinhamento de sequências é uma forma de dispor as sequências de DNA, RNA, ouproteínasparaidentificarregiões de similaridadequepodem ser consequência de relacionamentosfuncionais, estruturaisourelaçõesevolutivas entre elas.
Significado Biológico do Alinhamento de Sequências • Definição de 3 termos importantes: • identidade: refere-se à fração de aminoácidosounucleotídeosidênticos entre pares de sequênciasapós um alinhamentodessassequências; • similaridade: refere-se à fração de aminoácidosounucleotídeossimilares (com propriedadesfísico-químicassemelhantes – aminoácidosconservados) entre pares de sequênciasapós um alinhamentodessassequências; • homologia: representa uma relação evolutiva entre as sequências; • Homólogos • Parálogos; • Ortólogos;
Há uma referência? • Resequenciamento • Existem sequências produzidas a partir de um genoma/transcriptoma da mesma espécie da amostra ou de uma espécie relacionada que podem ser usadas como referências. Alinhamento com a referência. • Sequenciamentode 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 • Sequenciamentode 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 SeqD Seq E Seq F Seq G ACAGTACGACAGTACGACCAGTACGATAGCAGTACGATACGACCGA TCCAGTACGATAGCAGTACGATCAG GCACAGTACGACCAGTACGATACAGGAAC CAGGTACGATACGACGGACGGGG ACAGTACGACAGTACGAAAC GTACGACCAGTACGATACACT AACGACAGTACGAAACGGG TATAGGTACGATACGACGGAC
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 (dotmatrix) • Informação qualitativa; [Goldstein e Gunawardenaa, 2000] DrosophilaDystrobrevinand Mouse ortholog
Soluções • Matrix de pontos (dotmatrix) • 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ênciasenvolvidas devem ser alinhadas de um extremo ao outro. Adequado quando as sequências possuem aproximadamente o mesmo tamanho. Seq X : C A TT 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 • 1 mismatch: -1 • 1 gap: -2 • > Score(-4-2): -6 • 2 gaps: -4 • 1 gap: -2 GG A GG A traceback 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, 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 (dotmatrix) • 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; • velocidade; • sensibilidade; • especificidade; • Ambiguidade causada por sequências repetitivas; • Erros inerentes às técnicas de sequenciamento.
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 (scorethreshold) 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—TheBLAST-LikeAlignmentTool • 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); • 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)
Implementações • Alinhadoresparaleituraslongas (>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 [Lunteret 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ênciak-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 Hashtabledas leituras e procura na referência • ELAND (Anthony. J. Cox, 2006, unpublished data) • MAQ (Li H et al., 2008) • Constrói Hashtabledas referências e procura nas leituras • SOAP (Li R et al., 2008)
Alinhamentos baseados em Hashingtable • Idéia dos algoritmos de alinhamentos baseados em hashingtables 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 --tcgt-- 00111100 2 ----gtat 00001111 3 ag--gt-- 11001100 4 --tc--at 00110011 5 ag----at 11000011 6
HashTables 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 (Suffixtree) • Arranjo de sufixos (Suffixarray) • Índice-FM (FM-index) (Ferraginaand Manzini, 2000) – BWT • Alinhadores de sequências: • Bowtie (Langmeadet al., 2009) • BWA • BWA-SHORT (Li andDurbin, 2009) • BWA-SW (Li andDurbin, 2010)
Árvore de sufixos String indexada: ^GOOGOL$ String procurada: LOL Mismatches permitidos: 1 Match: GOL [Li andDurbin, 2009]
Transformação de Burrows–Wheeler • FM-Index(Ferragina e Manzini, 2000); • Burrows-WheelerTransform(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 (primaryindex);
FM-Index Transformação de BurrowsWheeler Rotações Sequência [Li andDurbin, 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 SuffixArray Quando dois ponteiros se encontram: match Reconstrução da sequência original T => BWT(T) BWT(T) => T Exact Match [Langmeadet al., 2009]
InexactMatching depth-first-traversal Bowtie Backtracks [Langmeadet 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-beststrategy), • 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) representação implícita A - Árvore de sufixos ‘GOOGOL’; B – GrafoDirecionadoAcí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ênciasIllumina 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
BowtieIndexBuilder: bowtie-build Usage: bowtie-build [options]* <reference_in> <ebwt_outfile_base>reference_in comma-separated list of files with ref sequencesebwt_outfile_base write Ebwt data to files with this dir/basenameOptions: -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 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”
BowtieIndexInspector: 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
BowtieAligner: 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 colorspaceseqs as colors, not decoded bases --col-cqual print original colorspacequals, not decoded quals --col-keepends keep nucleotides at extreme ends of decoded alignmentSAM: -S/--sam write hits in SAM format --mapq <int> default mapping quality (MAPQ) to print for SAM alignments --sam-noheadsupppress header lines (starting with @) for SAM output --sam-nosqsupppress @SQ header lines for SAM output --sam-RG <text> add <text> (usually "lab=value") to @RG line of SAM headerPerformance: -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 shareOther: --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