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

Post on 16-Mar-2018

1091 Views

Category:

Science

5 Downloads

Preview:

Click to see full reader

Transcript

Grafos de Bruijn para identificação de variações

genéticas usando GBSMARCOS CASTRO

GRUPO DE BIOINFORMÁTICA - UNIFESP

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

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

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

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

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

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

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

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

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

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

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

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

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

Montagem

15

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

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

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

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

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

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

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

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

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

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

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

Grafos de BruijnE se adicionarmos uma redundância?

Reads:◦ ACTG

◦ ACTG

◦ CTGC

◦ CTGC

◦ TGCT

27

ACT CTG TGC GCT

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

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

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

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

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

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

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

Topologias problemáticas - TratamentosEmparelhamento máximo para bolha:

P é o conjunto de caminhos obtidos do emparelhamento (é apenas uma das possibilidades).

35

Topologias problemáticas - TratamentosEmparelhamento máximo para corda desgastada:

Alterne as arestas excluídas com suas vizinhas para obter mais possibilidades deemparelhamento

36

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

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

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

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

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

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

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

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

Grafos de Bruijn vs OLCQual o melhor?

Historicamente:◦ OLC: long reads

◦ Grafos de Bruijn: short reads

45

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Assembly na práticaQual o conjunto de caminhos?

60

GAG AGT GTG

TGACTG GAC ACCACT

GAA AAT ATG

Assembly na práticaQual o conjunto de caminhos? {ACTGA, TGACC, TGAGTGA, TGAATGA}

61

GAG AGT GTG

TGACTG GAC ACCACT

GAA AAT ATG

Contigs (continuous sequences)Um contig é um conjunto de sequências sobrepostas.

62

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

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

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

Construindo contigs a partir do grafoConstrua contigs a partir do grafo:

66

ACT CTG TGC

TGA GCTGAT

Construindo contigs a partir do grafoConstrua contigs a partir do grafo:

67

ACT CTG TGC

TGA GCTGAT

Construindo contigs a partir do grafoConstrua contigs a partir do grafo:

68

ACT CTG TGC

TGA GCTGAT

Construindo contigs a partir do grafoConstrua contigs a partir do grafo:

Contig 1: CTGCTG

69

ACT CTG TGC

TGA GCTGAT

Construindo contigs a partir do grafoConstrua contigs a partir do grafo:

Contig 1: CTGCTG

70

ACT CTG TGC

TGA GCTGAT

Construindo contigs a partir do grafoConstrua contigs a partir do grafo:

Contig 1: CTGCTG, Contig 2: TGAT

71

ACT CTG TGC

TGA GCTGAT

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

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

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

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

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

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

Assemblers vs Tecnologia

78

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

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

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

80

Dúvidas?

81

mcastrosouza@live.com

top related