Grafos De Bruijn para identificação de variações genéticas usando GBS

81
Grafos de Bruijn para identificação de variações genéticas usando GBS MARCOS CASTRO GRUPO DE BIOINFORMÁTICA - UNIFESP

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Montagem

15

Page 16: Grafos De Bruijn para identificação de variações genéticas usando GBS

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Assemblers vs Tecnologia

78

Page 79: Grafos De Bruijn para identificação de variações genéticas usando GBS

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

Grafos de Bruijn - CódigoUma simples implementação de DBG em Python:

◦ https://github.com/marcoscastro/bruijn_graph

80