Grafos De Bruijn para identificação de variações genéticas usando GBS
-
Upload
marcos-castro -
Category
Science
-
view
1.091 -
download
5
Transcript of Grafos De Bruijn para identificação de variações genéticas usando GBS
![Page 1: Grafos De Bruijn para identificação de variações genéticas usando GBS](https://reader031.fdocument.pub/reader031/viewer/2022031519/5aab64957f8b9a52318b474d/html5/thumbnails/1.jpg)
Grafos de Bruijn para identificação de variações
genéticas usando GBSMARCOS CASTRO
GRUPO DE BIOINFORMÁTICA - UNIFESP
![Page 2: Grafos De Bruijn para identificação de variações genéticas usando GBS](https://reader031.fdocument.pub/reader031/viewer/2022031519/5aab64957f8b9a52318b474d/html5/thumbnails/2.jpg)
Grafos ...- Conjunto de bolinhas (vértices ou nós) e linhas (arestas ou arcos).
◦ vértices: entidades (exemplo: uma pessoa)
◦ arestas: relação entre as entidades (exemplo: Adenina é amiga da Guanina)
Adenina Guaninaamiga
2
![Page 3: Grafos De Bruijn para identificação de variações genéticas usando GBS](https://reader031.fdocument.pub/reader031/viewer/2022031519/5aab64957f8b9a52318b474d/html5/thumbnails/3.jpg)
... de Bruijn ...Nicolaas de Bruijn (1946)◦ superstring problem: encontrar a menor superstring circular que contém todas as possíveis
substrings de tamanho “k” de um dado alfabeto.
◦ Supor o alfabeto de dois elementos (n = 2) {0, 1} e k = 3
◦ k-mers: substrings de tamanho “k”
◦ Se k = 3, então temos 3-mers
◦ Todos os 3-mers: 000, 001, 010, 011, 100, 101, 110, 111 (total de mers: n ^ k)
◦ A menor superstring circular é: 0001110100
◦ Essa superstring contém todos os 3-mers onde cada 3-mer aparece apenas uma vez.
◦ Como resolver? Dica: pontes de Konigsberg
exponenciação
Isso é um grafo.
3
![Page 4: Grafos De Bruijn para identificação de variações genéticas usando GBS](https://reader031.fdocument.pub/reader031/viewer/2022031519/5aab64957f8b9a52318b474d/html5/thumbnails/4.jpg)
.... de Bruijn ....Nó: (k – 1)-mer
Aresta: liga um (k – 1)-mer a outro (k – 1)-mer se o sufixo do primeiro for igual ao prefixo dosegundo.
Arestas representam todos os possíveis k-mers.
Um ciclo euleriano representa a menor superstring que contém cada k-mer apenas uma vez.
Solução: algoritmo de Euler.
001 0100010
4
![Page 5: Grafos De Bruijn para identificação de variações genéticas usando GBS](https://reader031.fdocument.pub/reader031/viewer/2022031519/5aab64957f8b9a52318b474d/html5/thumbnails/5.jpg)
..... de Bruijn .....Importante:
◦ Ciclo euleriano: inicia em um nó, visita cada aresta apenas uma vez e retorna ao nó de origem
Se as arestas representam todos os possíveis k-mers...
... então foi por isso que o matemático Nicolaas de Bruijn conseguiu formar a menor superstringcontendo todos os k-mers onde cada k-mer aparece somente uma vez!
E se ao invés de euleriano, tivéssemos um ciclo hamiltoniano?◦ Problema NP-Completo
◦ Caixeiro-viajante
◦ Não se conhece um algoritmo eficiente para achar ciclo hamiltoniano!
5
![Page 6: Grafos De Bruijn para identificação de variações genéticas usando GBS](https://reader031.fdocument.pub/reader031/viewer/2022031519/5aab64957f8b9a52318b474d/html5/thumbnails/6.jpg)
... identificação de variações genéticas ...Diferença entre os indivíduos.
Exemplo de forma de variação genética: SNP.
SNP = polimorfismo de base única
A detecção de variações genéticas é importante para o entendimento evolutivo!
6
![Page 7: Grafos De Bruijn para identificação de variações genéticas usando GBS](https://reader031.fdocument.pub/reader031/viewer/2022031519/5aab64957f8b9a52318b474d/html5/thumbnails/7.jpg)
... usando GBSGBS = genotipagem por sequenciamento.
É um método para descoberta de marcadores moleculares e genotipagem de alto desempenho.◦ Exemplo de marcador molecular: SNP
◦ Genotipagem: processo de definir o genótipo.
◦ Genótipo: conjunto de genes.
◦ Gene: segmento de uma molécula de DNA.
Vantagens da técnica de GBS:◦ Produz um grande volume de dados em pouco tempo (rápido)
◦ Baixo custo
Por que o interesse em SNP?◦ Supor uma doença que é causada por um único nucleotídeo diferente em um único gene.
7
![Page 8: Grafos De Bruijn para identificação de variações genéticas usando GBS](https://reader031.fdocument.pub/reader031/viewer/2022031519/5aab64957f8b9a52318b474d/html5/thumbnails/8.jpg)
Sequenciando...Sequenciar: determinar a sequência de nucleotídeos de uma molécula de DNA.
Os sequenciadores não conseguem trabalhar com a molécula de DNA completa de uma vez...◦ Solução: shotgun (quebra em fragmentos)
genoma
fragmentos
8
![Page 9: Grafos De Bruijn para identificação de variações genéticas usando GBS](https://reader031.fdocument.pub/reader031/viewer/2022031519/5aab64957f8b9a52318b474d/html5/thumbnails/9.jpg)
Por que sequenciar?Para compreender melhor o genoma de uma determinada espécie, levantar as causas depossíveis doenças, indicar tratamentos adequados, entender melhor como a vida funciona,selecionar os melhores indivíduos...
9
![Page 10: Grafos De Bruijn para identificação de variações genéticas usando GBS](https://reader031.fdocument.pub/reader031/viewer/2022031519/5aab64957f8b9a52318b474d/html5/thumbnails/10.jpg)
Métodos de sequenciamentoSanger (1977) foi o primeiro.
Sanger foi superado pelas tecnologias NGS (next-gen sequencing).
Melhorias do NGS: rapidez, custo, necessita de menos DNA ...
Exemplo de sequenciadores: Illumina, Solid.
Uma das vantagens do Illumina: custo relativamente baixo.
Tecnologias NGS geram milhares de reads por amostra.◦ Revolução
◦ Grande volume de dados (big data)
◦ Desafios?
fragmento de DNA sequenciado
10
![Page 11: Grafos De Bruijn para identificação de variações genéticas usando GBS](https://reader031.fdocument.pub/reader031/viewer/2022031519/5aab64957f8b9a52318b474d/html5/thumbnails/11.jpg)
Desafios Big DataNo Sanger não havia tantos dado$$$.
Tecnologias NGS produzem (muitos)^10 dados.◦ Alto grau de paralelismo
O que fazer com um dilúvio de dados?◦ Preciso pensar em métodos que processem tudo isso rapidamente!
◦ Novos algoritmos, softwares...
Objetivo: fazer com que esses dados façam algum sentido.
Produzir conhecimento a partir do processamento e análise dos dados.
Tirar algum proveito das informações contidas nos milhares de reads!
11
![Page 12: Grafos De Bruijn para identificação de variações genéticas usando GBS](https://reader031.fdocument.pub/reader031/viewer/2022031519/5aab64957f8b9a52318b474d/html5/thumbnails/12.jpg)
Tamanho dos reads – Sanger vs NGSLembrando: reads são fragmentos sequenciados
Sanger: 800-1000 pb
NGS: 35-100 pb
Conclusão: tecnologias NGS produzem reads menores (short reads).
Qual a consequência disso?
NGS sacrifica o comprimento do read em detrimento da velocidade.
Short reads: custo menor.
Short reads adicionam uma dificuldade a mais no pós-sequenciamento: montagem.
12
ponto fraco
![Page 13: Grafos De Bruijn para identificação de variações genéticas usando GBS](https://reader031.fdocument.pub/reader031/viewer/2022031519/5aab64957f8b9a52318b474d/html5/thumbnails/13.jpg)
Nem tão “short” assim...Quando surgiram, as tecnologias NGS produziam sequências muito curtas.
Ao longo dos últimos anos, o tamanho médio dos reads NGS vem se aproximando do tamanhomédio conseguido por reads baseados na técnica de Sanger.
◦ Pesquise sobre pirosequenciamento.
13
![Page 14: Grafos De Bruijn para identificação de variações genéticas usando GBS](https://reader031.fdocument.pub/reader031/viewer/2022031519/5aab64957f8b9a52318b474d/html5/thumbnails/14.jpg)
MontagemE depois do sequenciamento? É preciso realizar a montagem.
Montagem = reconstrução da sequência original (sequence assembly).
Analogia: quebra-cabeça.
Princípio básico: sobreposição (overlap). Como representar a sobreposição?
14
![Page 15: Grafos De Bruijn para identificação de variações genéticas usando GBS](https://reader031.fdocument.pub/reader031/viewer/2022031519/5aab64957f8b9a52318b474d/html5/thumbnails/15.jpg)
Montagem
15
![Page 16: Grafos De Bruijn para identificação de variações genéticas usando GBS](https://reader031.fdocument.pub/reader031/viewer/2022031519/5aab64957f8b9a52318b474d/html5/thumbnails/16.jpg)
Short reads, big challengesÉ mais complexo se trabalhar com montagem de short reads.
Quanto menor o fragmento, mais complexo é o processo de montagem.
A possibilidade de ocorrer sobreposição é maior porque as regiões se repetem.
Diminui a possibilidade de unir corretamente estas sobreposições.
Desafio: lidar com o problema das repetições!
Diante desse novo cenário, novas ferramentas de montagem precisam ser desenvolvidas.
16
![Page 17: Grafos De Bruijn para identificação de variações genéticas usando GBS](https://reader031.fdocument.pub/reader031/viewer/2022031519/5aab64957f8b9a52318b474d/html5/thumbnails/17.jpg)
Montagem - ComplexidadeGrande número de fragmentos
+
Erros de sequenciamento
=
Problema NP-Difícil
Os assemblers, através de uma série de pré e pós-processamentos nos dados, tentam eliminarou pelo menos diminuir os desafios.
17
![Page 18: Grafos De Bruijn para identificação de variações genéticas usando GBS](https://reader031.fdocument.pub/reader031/viewer/2022031519/5aab64957f8b9a52318b474d/html5/thumbnails/18.jpg)
Montagem – mais problemas...Os montadores precisam lidar com topologias problemáticas nos grafos que modelam asrelações entre os reads.
Vamos ver essas topologias mais para frente, mas elas são causadas basicamente por:◦ Repetições do genoma
◦ Polimorfismos
◦ Erros de sequenciamento
Isso tudo afeta o processo de montagem tornando-o mais custoso computacionalmente!
18
![Page 19: Grafos De Bruijn para identificação de variações genéticas usando GBS](https://reader031.fdocument.pub/reader031/viewer/2022031519/5aab64957f8b9a52318b474d/html5/thumbnails/19.jpg)
Tipos de montagens1) O bioinformata possui um genoma de referência
◦ Compara-se áreas semelhantes entre os dois genomas para alinhamento das sequências.
2) O bioinformata não possui um genoma de referência◦ Tem-se apenas a informação gerada pelos sequenciadores.
◦ Chamada montagem de novo (ab initio)
A montagem de novo é um problema NP-Difícil [Pop, 2009].
Problema NP-Difícil, analogia: procurar uma agulha na floresta Amazônica. Um campo de buscamuito extenso!
19
![Page 20: Grafos De Bruijn para identificação de variações genéticas usando GBS](https://reader031.fdocument.pub/reader031/viewer/2022031519/5aab64957f8b9a52318b474d/html5/thumbnails/20.jpg)
Montagem – Abordagens (paradigmas)Existem algumas abordagens para realizar a montagem de genomas:
◦ Estratégia gulosa (greedy algorithms)
◦ OLC (overlap-layout-consensus)
◦ Metaheurísticas (exemplo: algoritmos genéticos)
◦ Grafos De Bruijn
20
![Page 21: Grafos De Bruijn para identificação de variações genéticas usando GBS](https://reader031.fdocument.pub/reader031/viewer/2022031519/5aab64957f8b9a52318b474d/html5/thumbnails/21.jpg)
Algoritmos gulosos (greedy)Paradigma guloso: faz escolhas locais.
Algoritmo:◦ 1) Realizam-se os alinhamentos par a par de todos os fragmentos;
◦ 2) Escolhe-se dois fragmentos com a maior sobreposição;
◦ 3) Junta-se os fragmentos escolhidos;
◦ 4) Repete-se os passos 2 e 3 até restar somente um fragmento.
Algoritmos gulosos são “míopes”, não enxergam mais para frente.
Imagine regiões repetidas que sejam mais extensas do que o tamanho dos reads...
A utilização da informação global (maior abrangência) é prejudicada pelas escolhas locais.
Essa abordagem não funciona bem com short reads.
21
![Page 22: Grafos De Bruijn para identificação de variações genéticas usando GBS](https://reader031.fdocument.pub/reader031/viewer/2022031519/5aab64957f8b9a52318b474d/html5/thumbnails/22.jpg)
Algoritmos gulosos (greedy)Existem alguns assemblers que se baseiam no paradigma guloso.
Exemplos: Phrap, SSAKE, SHARCGS. VCAKE
Por que eles geram resultados diferentes?◦ Eles se baseiam em algoritmos gulosos, mas cada um realiza processamentos diferentes que levam a
resultados diferentes.
22
![Page 23: Grafos De Bruijn para identificação de variações genéticas usando GBS](https://reader031.fdocument.pub/reader031/viewer/2022031519/5aab64957f8b9a52318b474d/html5/thumbnails/23.jpg)
OLC (overlap-layout-consensus)Cada read é representado por um nó (vértice).
A aresta é determinada pela sobreposição entre os fragmentos (reads).
Primeiro realiza-se um processo de comparação par a par dos reads.◦ Muito custoso, tempo quadrático para realizar as comparações.
Considere k = 3:◦ ACTGCT
◦ CTGCT (overlap de tamanho 5)
◦ GCTAA (overlap de tamanho 3)
23
ACTGCT
CTGCT
GCTAA
![Page 24: Grafos De Bruijn para identificação de variações genéticas usando GBS](https://reader031.fdocument.pub/reader031/viewer/2022031519/5aab64957f8b9a52318b474d/html5/thumbnails/24.jpg)
MetaheurísticasExemplo: Algoritmo Genético (GA)
Possível modelagem:◦ k genes
◦ Cada gene armazena um read
◦ Um bom indivíduo da população possui genes adjacentes que compartilham sobreposições entre umsufixo do gene “i” e um prefixo do gene “j”.
◦ A sequência consenso seria a união de todas as sobreposições entre os genes consecutivos.
◦ read1: ACTGAC
◦ read2: GACTCG
24
R1 R2Indivíduo:
read1 read2
![Page 25: Grafos De Bruijn para identificação de variações genéticas usando GBS](https://reader031.fdocument.pub/reader031/viewer/2022031519/5aab64957f8b9a52318b474d/html5/thumbnails/25.jpg)
Grafos de Bruijn (DBG)Não representa diretamente os reads.
◦ Cada read é representado por várias substrings de tamanho k.
◦ Cada read de tamanho k possui sobreposição de k – 1 caracteres com seus vizinhos.
Os nós são todos os k-mers (substrings de tamanho k).
Arestas correspondem a exatamente (k – 1)-overlaps entre os nós (edge centric definition).
O sufixo (k – 2) tem que ser igual ao prefixo (k – 2).
Considere ACTG, se k = 3 então temos dois k-mers: {ACT, CTG}
25
ACT CTG
![Page 26: Grafos De Bruijn para identificação de variações genéticas usando GBS](https://reader031.fdocument.pub/reader031/viewer/2022031519/5aab64957f8b9a52318b474d/html5/thumbnails/26.jpg)
Grafos de BruijnE se eu tiver vários reads?
Exemplo de reads:◦ ACTG
◦ CTGC
◦ TGCT
Considere k = 3, todos os 3-mers: {ACT, CTG, TGC, GCT}
26
ACT CTG TGC GCT
![Page 27: Grafos De Bruijn para identificação de variações genéticas usando GBS](https://reader031.fdocument.pub/reader031/viewer/2022031519/5aab64957f8b9a52318b474d/html5/thumbnails/27.jpg)
Grafos de BruijnE se adicionarmos uma redundância?
Reads:◦ ACTG
◦ ACTG
◦ CTGC
◦ CTGC
◦ TGCT
27
ACT CTG TGC GCT
![Page 28: Grafos De Bruijn para identificação de variações genéticas usando GBS](https://reader031.fdocument.pub/reader031/viewer/2022031519/5aab64957f8b9a52318b474d/html5/thumbnails/28.jpg)
Grafos de BruijnUm erro de sequenciamento (ao final de um read):
Reads:◦ ACTG
◦ CTGC
◦ CTGA
◦ TGCT
28
ACT CTG TGC GCT
TGA
desse read originou o k-mer TGA
![Page 29: Grafos De Bruijn para identificação de variações genéticas usando GBS](https://reader031.fdocument.pub/reader031/viewer/2022031519/5aab64957f8b9a52318b474d/html5/thumbnails/29.jpg)
Grafos de BruijnQual o efeito de um SNP (ou um erro de sequenciamento dentro de um read)?
Considere os reads e k = 3:◦ AGTCTGA
◦ AGTTTGA
29
AGT
GTT TTT TTG
TGA
GTC TCT CTG
![Page 30: Grafos De Bruijn para identificação de variações genéticas usando GBS](https://reader031.fdocument.pub/reader031/viewer/2022031519/5aab64957f8b9a52318b474d/html5/thumbnails/30.jpg)
Grafos de BruijnQual o efeito de uma pequena repetição (repeat) no grafo?
Considere os reads e k = 3:◦ ACTG
◦ CTGC
◦ TGCT
◦ GCTG
◦ CTGA
◦ TGAT
30
ACT CTG TGC
GAT TGA GCT
![Page 31: Grafos De Bruijn para identificação de variações genéticas usando GBS](https://reader031.fdocument.pub/reader031/viewer/2022031519/5aab64957f8b9a52318b474d/html5/thumbnails/31.jpg)
Grafos de BruijnNão faz o processo de comparação par a par como na abordagem OLC.
Bastante empregado para short reads (Illumina data).
São permitidas apenas sobreposições exatas.
Possibilidade de abordagem via circuito hamiltoniano e euleriano.
Encontrar caminho euleriano é a base do assembler EULER (Pevzner).
É aconselhável fazer correções de erros antes e após a montagem para obter bons resultados.
31
![Page 32: Grafos De Bruijn para identificação de variações genéticas usando GBS](https://reader031.fdocument.pub/reader031/viewer/2022031519/5aab64957f8b9a52318b474d/html5/thumbnails/32.jpg)
Grafos de Bruijn – TopologiasTopologias problemáticas
◦ Erosão (spurs) – geralmente provocadas por erros de sequenciamento.
◦ Bolha (bubble) – caminho que se divide em dois e depois converge novamente no mesmo caminho.Causados por erros de sequenciamento ou polimorfismo, ambos no meio de reads.
◦ Corda desgastada (frayed rope) – caminhos que convergem e novamente se dividem. Criadas quando hááreas de repetições (repeat) no genoma.
◦ Ciclo: caminho que converge em si mesmo. Criado por regiões repetidas.
32
erosão bolha corda desgastada ciclo
![Page 33: Grafos De Bruijn para identificação de variações genéticas usando GBS](https://reader031.fdocument.pub/reader031/viewer/2022031519/5aab64957f8b9a52318b474d/html5/thumbnails/33.jpg)
Topologias problemáticas - TratamentosAntes, vamos ler sobre emparelhamento máximo...
Seja um grafo G(V,E) onde V é o conjunto de vértices e E é o conjunto de arestas.
Seja M um conjunto de arestas tal que M ⊂ E.
Emparelhamento máximo: encontrar o maior |M| possível.
Emparelhamento máximo
33
1 2 3
a b c
![Page 34: Grafos De Bruijn para identificação de variações genéticas usando GBS](https://reader031.fdocument.pub/reader031/viewer/2022031519/5aab64957f8b9a52318b474d/html5/thumbnails/34.jpg)
Topologias problemáticas - TratamentosEmparelhamento máximo para erosão:
Para obter o conjunto P, basta calcular as componentes conexas do grafo após oemparelhamento.
Método para encontrar emparelhamento máximo: Ford-Fulkerson (fluxo em rede).
34
X
![Page 35: Grafos De Bruijn para identificação de variações genéticas usando GBS](https://reader031.fdocument.pub/reader031/viewer/2022031519/5aab64957f8b9a52318b474d/html5/thumbnails/35.jpg)
Topologias problemáticas - TratamentosEmparelhamento máximo para bolha:
P é o conjunto de caminhos obtidos do emparelhamento (é apenas uma das possibilidades).
35
![Page 36: Grafos De Bruijn para identificação de variações genéticas usando GBS](https://reader031.fdocument.pub/reader031/viewer/2022031519/5aab64957f8b9a52318b474d/html5/thumbnails/36.jpg)
Topologias problemáticas - TratamentosEmparelhamento máximo para corda desgastada:
Alterne as arestas excluídas com suas vizinhas para obter mais possibilidades deemparelhamento
36
![Page 37: Grafos De Bruijn para identificação de variações genéticas usando GBS](https://reader031.fdocument.pub/reader031/viewer/2022031519/5aab64957f8b9a52318b474d/html5/thumbnails/37.jpg)
Emparelhamentos novamente...Para que serve o emparelhamento?
◦ Obter caminhos longos e isolar caminhos curtos.
Mas eu tenho vários emparelhamentos, qual escolher?◦ Essa decisão pode ser tomada com base no peso das arestas.
◦ Que legal!! Tenho mais um problema: emparelhamento máximo de peso máximo!!
O objetivo é produzir caminhos que abrangerão reads corretos.
Reads incorretos vão ficar isolados em caminhos bastante curtos (exemplo: vértice único).
Esses pequenos caminhos podem ser detectados antes da geração de contigs maiores.
37
![Page 38: Grafos De Bruijn para identificação de variações genéticas usando GBS](https://reader031.fdocument.pub/reader031/viewer/2022031519/5aab64957f8b9a52318b474d/html5/thumbnails/38.jpg)
Emparelhamento máx. de peso máx.O peso serve para evitar outras possibilidades de emparelhamento, no caso abaixo não há outra possibilidade.
Áreas com erro de sequenciamento tendem a ter menos cobertura.
38
![Page 39: Grafos De Bruijn para identificação de variações genéticas usando GBS](https://reader031.fdocument.pub/reader031/viewer/2022031519/5aab64957f8b9a52318b474d/html5/thumbnails/39.jpg)
SNPs novamente...SNP é o caso em que dois reads semelhantes possuem uma base diferente no meio de suassequências.
Esses SNPs geram topologias cujas possibilidades de emparelhamento não devem serdescartadas.
Desafio: saber quando é um erro de sequenciamento e quando é um SNP.
Perguntas:◦ Qual é a topologia?
◦ Corda desgastada: são claramente situações que ocorrem por repeats.
◦ Mas e se não for tão claro assim para uma outra topologia?
39
![Page 40: Grafos De Bruijn para identificação de variações genéticas usando GBS](https://reader031.fdocument.pub/reader031/viewer/2022031519/5aab64957f8b9a52318b474d/html5/thumbnails/40.jpg)
Grafos de Bruijn - AssemblersDNA Euler (Pevzner)
◦ Responsável pela popularização dos grafos de Bruijn.
◦ É melhor tratar o problema de caminho euleriano no grafo de Bruijn do que caminho hamiltoniano
◦ Vértices de área de repeat são visitados mais de uma vez.
◦ Pevzner propôs a abordagem Eulerian Superpath.
◦ Objetivo: encontrar um super-caminho euleriano que respeite os caminhos de cada read.
40
![Page 41: Grafos De Bruijn para identificação de variações genéticas usando GBS](https://reader031.fdocument.pub/reader031/viewer/2022031519/5aab64957f8b9a52318b474d/html5/thumbnails/41.jpg)
Grafos de Bruijn - AssemblersVelvet (Zerbino)
◦ São vários algoritmos para manipulação dos grafos de Bruijn.
◦ Cada nó é um conjunto de k-mers que se sobrepõem em k – 1 bases.
◦ A sequência constituída pelas últimas bases de cada um destes k-mers do nó forma a sequência do nó.
◦ Cada nó N é “colado” a um nó gêmeo Ñ que contém todos os k-mers que representam a sequênciareversa daqueles presentes no nó N.
◦ Bloco: cada par de um nó e seu nó gêmeo.
◦ Se há uma conexão entre A e N, então há uma conexão no sentido inverso entre os seus nós gêmeos Ñpara Ã.
◦ Todo k-mer é armazenado junto com seu complemento reverso.
◦ Keep calm e vá para o próximo slide...
41
![Page 42: Grafos De Bruijn para identificação de variações genéticas usando GBS](https://reader031.fdocument.pub/reader031/viewer/2022031519/5aab64957f8b9a52318b474d/html5/thumbnails/42.jpg)
Velvet - estrutura
42
conjunto de k-mersque se sobrepõem em k – 1 bases
sequência formada pelas últimas bases
Eu sou o nó gêmeo
conexão
conexão inversa
bloco
![Page 43: Grafos De Bruijn para identificação de variações genéticas usando GBS](https://reader031.fdocument.pub/reader031/viewer/2022031519/5aab64957f8b9a52318b474d/html5/thumbnails/43.jpg)
Grafos de Bruijn - AssemblersAbySS (Simpson)
◦ Sistemas computacionais distribuídos.
◦ Benefício: superar limitação de memória para grandes e complexos genomas.
◦ Possibilitou a montagem de 3.5 bilhões de reads (genoma humano).
◦ Grafo k-mer distribuído em diversos nós (computadores).
◦ A localização do k-mer deve ser facilmente obtida.
◦ Função hash busca dividir de forma equilibrada o número de vértices em cada nó da rede.
43
![Page 44: Grafos De Bruijn para identificação de variações genéticas usando GBS](https://reader031.fdocument.pub/reader031/viewer/2022031519/5aab64957f8b9a52318b474d/html5/thumbnails/44.jpg)
Parâmetro kJá que você é um k-mexpert, vamos falar sobre o tal do k.
Estudos dizem (e o google também):◦ o k não deve ser menor do que a metade do tamanho do read.
O k tem uma influência significativa na qualidade do assembly!
A escolha do k é um trade-off entre especificidade e sensibilidade.
Se você diminui o k, aumenta a possibilidade de mais ocorrências de um dado k-mer em umadada sequência, ou seja, tem-se uma menor especificidade já que a chance de se encontrarsobreposição entre reads não relacionados de fato aumenta.
Sensibilidade: a chance de encontrar sobreposição que de fato exista entre os fragmentos.
44
![Page 45: Grafos De Bruijn para identificação de variações genéticas usando GBS](https://reader031.fdocument.pub/reader031/viewer/2022031519/5aab64957f8b9a52318b474d/html5/thumbnails/45.jpg)
Grafos de Bruijn vs OLCQual o melhor?
Historicamente:◦ OLC: long reads
◦ Grafos de Bruijn: short reads
45
![Page 46: Grafos De Bruijn para identificação de variações genéticas usando GBS](https://reader031.fdocument.pub/reader031/viewer/2022031519/5aab64957f8b9a52318b474d/html5/thumbnails/46.jpg)
Assembly na teoriaTeoria: achar um caminho de comprimento mínimo passando por cada nó pelo menos uma vez.
Qual a sequência solução?
46
CAT
GAT
ATT TTA TAC ACA
CAA
![Page 47: Grafos De Bruijn para identificação de variações genéticas usando GBS](https://reader031.fdocument.pub/reader031/viewer/2022031519/5aab64957f8b9a52318b474d/html5/thumbnails/47.jpg)
Assembly na teoriaTeoria: achar um caminho de comprimento mínimo passando por cada nó pelo menos uma vez.
Resposta: G
47
CAT
GAT
ATT TTA TAC ACA
CAA
![Page 48: Grafos De Bruijn para identificação de variações genéticas usando GBS](https://reader031.fdocument.pub/reader031/viewer/2022031519/5aab64957f8b9a52318b474d/html5/thumbnails/48.jpg)
Assembly na teoriaTeoria: achar um caminho de comprimento mínimo passando por cada nó pelo menos uma vez.
Resposta: GA
48
CAT
GAT
ATT TTA TAC ACA
CAA
![Page 49: Grafos De Bruijn para identificação de variações genéticas usando GBS](https://reader031.fdocument.pub/reader031/viewer/2022031519/5aab64957f8b9a52318b474d/html5/thumbnails/49.jpg)
Assembly na teoriaTeoria: achar um caminho de comprimento mínimo passando por cada nó pelo menos uma vez.
Resposta: GAT
49
CAT
GAT
ATT TTA TAC ACA
CAA
![Page 50: Grafos De Bruijn para identificação de variações genéticas usando GBS](https://reader031.fdocument.pub/reader031/viewer/2022031519/5aab64957f8b9a52318b474d/html5/thumbnails/50.jpg)
Assembly na teoriaTeoria: achar um caminho de comprimento mínimo passando por cada nó pelo menos uma vez.
Resposta: GATT
50
CAT
GAT
ATT TTA TAC ACA
CAA
![Page 51: Grafos De Bruijn para identificação de variações genéticas usando GBS](https://reader031.fdocument.pub/reader031/viewer/2022031519/5aab64957f8b9a52318b474d/html5/thumbnails/51.jpg)
Assembly na teoriaTeoria: achar um caminho de comprimento mínimo passando por cada nó pelo menos uma vez.
Resposta: GATTA
51
CAT
GAT
ATT TTA TAC ACA
CAA
![Page 52: Grafos De Bruijn para identificação de variações genéticas usando GBS](https://reader031.fdocument.pub/reader031/viewer/2022031519/5aab64957f8b9a52318b474d/html5/thumbnails/52.jpg)
Assembly na teoriaTeoria: achar um caminho de comprimento mínimo passando por cada nó pelo menos uma vez.
Resposta: GATTAC
52
CAT
GAT
ATT TTA TAC ACA
CAA
![Page 53: Grafos De Bruijn para identificação de variações genéticas usando GBS](https://reader031.fdocument.pub/reader031/viewer/2022031519/5aab64957f8b9a52318b474d/html5/thumbnails/53.jpg)
Assembly na teoriaTeoria: achar um caminho de comprimento mínimo passando por cada nó pelo menos uma vez.
Resposta: GATTACA
53
CAT
GAT
ATT TTA TAC ACA
CAA
![Page 54: Grafos De Bruijn para identificação de variações genéticas usando GBS](https://reader031.fdocument.pub/reader031/viewer/2022031519/5aab64957f8b9a52318b474d/html5/thumbnails/54.jpg)
Assembly na teoriaTeoria: achar um caminho de comprimento mínimo passando por cada nó pelo menos uma vez.
Resposta: GATTACAT
54
CAT
GAT
ATT TTA TAC ACA
CAA
![Page 55: Grafos De Bruijn para identificação de variações genéticas usando GBS](https://reader031.fdocument.pub/reader031/viewer/2022031519/5aab64957f8b9a52318b474d/html5/thumbnails/55.jpg)
Assembly na teoriaTeoria: achar um caminho de comprimento mínimo passando por cada nó pelo menos uma vez.
Resposta: GATTACATT
55
CAT
GAT
ATT TTA TAC ACA
CAA
![Page 56: Grafos De Bruijn para identificação de variações genéticas usando GBS](https://reader031.fdocument.pub/reader031/viewer/2022031519/5aab64957f8b9a52318b474d/html5/thumbnails/56.jpg)
Assembly na teoriaTeoria: achar um caminho de comprimento mínimo passando por cada nó pelo menos uma vez.
Resposta: GATTACATTA
56
CAT
GAT
ATT TTA TAC ACA
CAA
![Page 57: Grafos De Bruijn para identificação de variações genéticas usando GBS](https://reader031.fdocument.pub/reader031/viewer/2022031519/5aab64957f8b9a52318b474d/html5/thumbnails/57.jpg)
Assembly na teoriaTeoria: achar um caminho de comprimento mínimo passando por cada nó pelo menos uma vez.
Resposta: GATTACATTACAA
57
CAT
GAT
ATT TTA TAC ACA
CAA
![Page 58: Grafos De Bruijn para identificação de variações genéticas usando GBS](https://reader031.fdocument.pub/reader031/viewer/2022031519/5aab64957f8b9a52318b474d/html5/thumbnails/58.jpg)
Assembly na teoriaTeoria: achar um caminho de comprimento mínimo passando por cada nó pelo menos uma vez.
Resposta: GATTACATTACAA
58
CAT
GAT
ATT TTA TAC ACA
CAA
![Page 59: Grafos De Bruijn para identificação de variações genéticas usando GBS](https://reader031.fdocument.pub/reader031/viewer/2022031519/5aab64957f8b9a52318b474d/html5/thumbnails/59.jpg)
Assembly na práticaRealidade: é muito difícil achar um caminho único por todo o grafo.
Se você não consegue achar um caminho euleriano para o grafo ...
... retorne um conjunto de caminhos cobrindo o grafo, tal que todos os possíveis assembliespossuam esses caminhos.
O assembly passa a ser um conjunto de caminhos!
Conclusão: se o grafo não for euleriano (e não vai ser mesmo), simplique ele ao máximo paraencontrar subgrafos eulerianos!
59
![Page 60: Grafos De Bruijn para identificação de variações genéticas usando GBS](https://reader031.fdocument.pub/reader031/viewer/2022031519/5aab64957f8b9a52318b474d/html5/thumbnails/60.jpg)
Assembly na práticaQual o conjunto de caminhos?
60
GAG AGT GTG
TGACTG GAC ACCACT
GAA AAT ATG
![Page 61: Grafos De Bruijn para identificação de variações genéticas usando GBS](https://reader031.fdocument.pub/reader031/viewer/2022031519/5aab64957f8b9a52318b474d/html5/thumbnails/61.jpg)
Assembly na práticaQual o conjunto de caminhos? {ACTGA, TGACC, TGAGTGA, TGAATGA}
61
GAG AGT GTG
TGACTG GAC ACCACT
GAA AAT ATG
![Page 62: Grafos De Bruijn para identificação de variações genéticas usando GBS](https://reader031.fdocument.pub/reader031/viewer/2022031519/5aab64957f8b9a52318b474d/html5/thumbnails/62.jpg)
Contigs (continuous sequences)Um contig é um conjunto de sequências sobrepostas.
62
![Page 63: Grafos De Bruijn para identificação de variações genéticas usando GBS](https://reader031.fdocument.pub/reader031/viewer/2022031519/5aab64957f8b9a52318b474d/html5/thumbnails/63.jpg)
ContigsObjetivo da montagem: produzir contigs a partir dos short reads!
No grafo: contig é uma sequência formada pelo caminho maximal.
Qual é o contig para o grafo acima?
63
GAT ATG TCT CTG TGA
![Page 64: Grafos De Bruijn para identificação de variações genéticas usando GBS](https://reader031.fdocument.pub/reader031/viewer/2022031519/5aab64957f8b9a52318b474d/html5/thumbnails/64.jpg)
ContigsObjetivo da montagem: produzir contigs a partir dos short reads!
No grafo: contig é uma sequência formada pelo caminho maximal.
Qual é o contig para o grafo acima? GATCTGA
64
GAT ATG TCT CTG TGA
![Page 65: Grafos De Bruijn para identificação de variações genéticas usando GBS](https://reader031.fdocument.pub/reader031/viewer/2022031519/5aab64957f8b9a52318b474d/html5/thumbnails/65.jpg)
Construindo contigs a partir do grafoBuscar caminhos disjuntos longos (regiões contínuas da molécula de DNA).
Tente achar a cobertura mínima de caminhos◦ Número mínimo de caminhos disjuntos que consigam abranger todos os vértices do grafo de modo que
tais caminhos comecem e terminem em vértices de grau de entrada e saída iguais a 0.
Por que minimizar o número de caminhos?◦ Para obter caminhos mais longos.
Contigs mais longos fazem mais sentido biologicamente!
65
minimum edge cover
![Page 66: Grafos De Bruijn para identificação de variações genéticas usando GBS](https://reader031.fdocument.pub/reader031/viewer/2022031519/5aab64957f8b9a52318b474d/html5/thumbnails/66.jpg)
Construindo contigs a partir do grafoConstrua contigs a partir do grafo:
66
ACT CTG TGC
TGA GCTGAT
![Page 67: Grafos De Bruijn para identificação de variações genéticas usando GBS](https://reader031.fdocument.pub/reader031/viewer/2022031519/5aab64957f8b9a52318b474d/html5/thumbnails/67.jpg)
Construindo contigs a partir do grafoConstrua contigs a partir do grafo:
67
ACT CTG TGC
TGA GCTGAT
![Page 68: Grafos De Bruijn para identificação de variações genéticas usando GBS](https://reader031.fdocument.pub/reader031/viewer/2022031519/5aab64957f8b9a52318b474d/html5/thumbnails/68.jpg)
Construindo contigs a partir do grafoConstrua contigs a partir do grafo:
68
ACT CTG TGC
TGA GCTGAT
![Page 69: Grafos De Bruijn para identificação de variações genéticas usando GBS](https://reader031.fdocument.pub/reader031/viewer/2022031519/5aab64957f8b9a52318b474d/html5/thumbnails/69.jpg)
Construindo contigs a partir do grafoConstrua contigs a partir do grafo:
Contig 1: CTGCTG
69
ACT CTG TGC
TGA GCTGAT
![Page 70: Grafos De Bruijn para identificação de variações genéticas usando GBS](https://reader031.fdocument.pub/reader031/viewer/2022031519/5aab64957f8b9a52318b474d/html5/thumbnails/70.jpg)
Construindo contigs a partir do grafoConstrua contigs a partir do grafo:
Contig 1: CTGCTG
70
ACT CTG TGC
TGA GCTGAT
![Page 71: Grafos De Bruijn para identificação de variações genéticas usando GBS](https://reader031.fdocument.pub/reader031/viewer/2022031519/5aab64957f8b9a52318b474d/html5/thumbnails/71.jpg)
Construindo contigs a partir do grafoConstrua contigs a partir do grafo:
Contig 1: CTGCTG, Contig 2: TGAT
71
ACT CTG TGC
TGA GCTGAT
![Page 72: Grafos De Bruijn para identificação de variações genéticas usando GBS](https://reader031.fdocument.pub/reader031/viewer/2022031519/5aab64957f8b9a52318b474d/html5/thumbnails/72.jpg)
Construindo contigs a partir do grafoConstrua contigs a partir do grafo:
Contig 1: CTGCTG, Contig 2: CTGAT, Contig 3: ACTG
72
ACT CTG TGC
TGA GCTGAT
![Page 73: Grafos De Bruijn para identificação de variações genéticas usando GBS](https://reader031.fdocument.pub/reader031/viewer/2022031519/5aab64957f8b9a52318b474d/html5/thumbnails/73.jpg)
Qualidade dos contigsExistem métricas para avaliar a qualidade dos contigs.
Exemplo: N50 (similar a mediana, mas tem um maior peso para contigs mais longos).
Digamos que a sua montagem produziu 8 contigs de tamanhos:◦ 3, 3, 15, 24, 39, 45, 54 e 114.
Para obter o N50, basta ordenar os contigs em ordem descrescente do tamanho e somar 1 a 1...
Quando a soma ultrapassar a metade (N50), o tamanho do contig da vez é o N50.
Para o nosso exemplo:◦ Soma total dos tamanhos: 300 (150 é a metade)
◦ Soma = 114 + 54 = 168 > 150 (opa, passou da metade)
◦ Conclusão: o N50 seria o contig de tamanho 54.
73
![Page 74: Grafos De Bruijn para identificação de variações genéticas usando GBS](https://reader031.fdocument.pub/reader031/viewer/2022031519/5aab64957f8b9a52318b474d/html5/thumbnails/74.jpg)
Scaffolds (supercontigs)Que tal juntar os contigs?
A informação de que dois contigs são vizinhos é muito importante.
Conjuntos de contigs que podem ser colocados numa mesma região são chamados de scaffolds.
Scaffolds = contigs maiores incluindo gaps.
74
gap
![Page 75: Grafos De Bruijn para identificação de variações genéticas usando GBS](https://reader031.fdocument.pub/reader031/viewer/2022031519/5aab64957f8b9a52318b474d/html5/thumbnails/75.jpg)
Scaffolds (supercontigs)Como podemos modelar a construção de scaffolds em grafos?
◦ Contigs correspondem aos nós.
◦ A conexão de pares de read correspondem às arestas.
◦ Caminho de custo mínimo (problema de otimização).
Scaffolding problem: determinar a orientação, ordem dos contigs e os tamanhos dos gaps entrecontigs consecutivos. Isso é um desafio!
É possível saber a distância entre os reads através da construção da biblioteca e, com isso,estimar a distância entre contigs.
Exemplos de scaffolders: Velvet, GRASS
75
![Page 76: Grafos De Bruijn para identificação de variações genéticas usando GBS](https://reader031.fdocument.pub/reader031/viewer/2022031519/5aab64957f8b9a52318b474d/html5/thumbnails/76.jpg)
Como os assemblers trabalham?De uma maneira bem simples e resumida:
◦ Utilizam os reads como entrada para a construção do grafo.
◦ Correção nos grafos: erros de sequenciamento são removidos.
◦ Simple paths (contigs) são retornados e eventualmente scaffolds.
76
![Page 77: Grafos De Bruijn para identificação de variações genéticas usando GBS](https://reader031.fdocument.pub/reader031/viewer/2022031519/5aab64957f8b9a52318b474d/html5/thumbnails/77.jpg)
Como os assemblers trabalham?Os montadores geralmente aplicam uma tecnologia de montagem de acordo com o tipo de readque eles manipulam.
Para short reads, a abordagem de grafo de Bruijn é bastante utilizada.
Percebe-se que a estrutura de grafos k-mer é a mais utilizada entre os assemblers.
Tendência: os montadores mais novos são os que mais utilizam os grafos k-mer.◦ Por que? Evita comparação par a par de sobreposição (isso é muito custoso).
77
![Page 78: Grafos De Bruijn para identificação de variações genéticas usando GBS](https://reader031.fdocument.pub/reader031/viewer/2022031519/5aab64957f8b9a52318b474d/html5/thumbnails/78.jpg)
Assemblers vs Tecnologia
78
![Page 79: Grafos De Bruijn para identificação de variações genéticas usando GBS](https://reader031.fdocument.pub/reader031/viewer/2022031519/5aab64957f8b9a52318b474d/html5/thumbnails/79.jpg)
Genoma da cana-de-açúcarA construção de um método que consiga extrair informações relevantes do grafo de Bruijn é muito importante para uma melhor compreensão do genoma de uma espécie.
A cana tem uma grande importância econômica (biocombustíveis).
A cana possui um genoma complexo◦ Poliploide
◦ Genoma extenso
◦ Repetições
A identificação de variações genéticas através de um método que utilize os grafos de Bruijnpodem contribuir para uma melhor compreensão do genoma dessa espécie.
Filosofia: compreender para melhorar...
79
![Page 80: Grafos De Bruijn para identificação de variações genéticas usando GBS](https://reader031.fdocument.pub/reader031/viewer/2022031519/5aab64957f8b9a52318b474d/html5/thumbnails/80.jpg)
Grafos de Bruijn - CódigoUma simples implementação de DBG em Python:
◦ https://github.com/marcoscastro/bruijn_graph
80