Reads

Transcrição

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

Documentos relacionados

Tratamento inicial de sequências

Tratamento inicial de sequências • Relatório geral e para cada sequência

Leia mais

Introdução

Introdução > -1 ../dataset1/raw/ERR022660_100k_1000_1.fastq \ > -2 ../dataset1/raw/ERR022660_100k_1000_2.fastq \ > --offrate 10 -a -S --best --strata \ > -m 1 > ../dataset1/bowtie_output/ERR022660_100k_1000.sam

Leia mais

from lvaruzza.com - Leonardo Varuzza`s Site

from lvaruzza.com - Leonardo Varuzza`s Site 1 Introdução 1.1 O que é NGS . . . . . . . . . . . . . 1.2 Como funciona o NGS . . . . . . . . 1.2.1 Preparo da amostra . . . . . 1.2.2 Amplificação de biblioteca . . 1.2.3 Sequenciamento . . . . ....

Leia mais