Métodos para Inferência de Haplotypes UNIVERSIDADE FEDERAL DE PERNAMBUCO

Preview:

Citation preview

Métodos para Inferência de Haplotypes

UNIVERSIDADE FEDERAL DE PERNAMBUCO

2

Roteiro

Introdução

Métodos Método de Clark Parcimônia Pura Filogenia Perfeita

Ferramentas HapBlock HaploSNPer

3

Introdução - Cruzamento

AAATTT AAAATT

AAATTT

AAAATT9 meses depois ...

4

Introdução - Resultado

AAAGTT

AAAATT

5

Introdução – Seqüenciando o Bebê

AAAGTT

AAAATT

=

AAA?TT

Nucleotídeo Indefinido

Dados abundantes Dados abundantes e baratos de serem e baratos de serem obtidos (Genotype)obtidos (Genotype)

6

Introdução – SNP

AAATTTAAAAAACTTATAAAAAGCTCTCAAAAATATATGAGACGCGCGAATTTTAAAAAACTAATAAAAAGCTTTCAAAAATATATGAGACGCGCGAAATTTAAAAAACTTATAAAAAGCTTTCAAAAATATATGAGACGCGCAAAATTTAAAAAACTATATAAAAGCTCTCAAAAATATATGAGACGCGCGAAATTTAAAAAACTAATAAAAAGCTCTCAAAAATATATGAGACGCGCGAAATTTAAAAAACTTATAAAAAGCTCTCAAAAATATATGAGACGCGCAAATTTTAAAAAACTTATAAAAAGCTCTCAAAAATATATGAGACGCGCG

AATTTTAAAAAACTTATAAAAAGCTCTCAAAAATATATGAGACGCGCA

7

Introdução – SNP

A T C G T T T G A T T A A A C G A T C G A T C A T T C G

T T C A

8

Introdução – SNP

A 1 T 0 C 1 G 0 T 0 T 0 T 0 G 0 A 1 T 0 T 0 A 1 A 1 A 1 C 1 G 0 A 1 T 0 C 1 G 0 A 1 T 0 C 1 A 1 T 0 T 0 C 1 G 0

T 0 T 0 C 1 A 1

9

Introdução – SNP

A 1 T 0 C 1 G 0 T 0 T 0 T 0 G 0 A 1 T 0 T 0 A 1 A 1 A 1 C 1 G 0 A 1 T 0 C 1 G 0 A 1 T 0 C 1 A 1 T 0 T 0 C 1 G 0

T 0 T 0 C 1 A 1

Genotype: T/A T C A/G

Haplotypes:T T C A A T C G

10

Introdução – SNP

A 1 T 0 C 1 G 0 T 0 T 0 T 0 G 0 A 1 T 0 T 0 A 1 A 1 A 1 C 1 G 0 A 1 T 0 C 1 G 0 A 1 T 0 C 1 A 1 T 0 T 0 C 1 G 0

T 0 T 0 C 1 A 1

Genotype: 2 0 1 2

Haplotypes:0 0 1 1 1 0 1 0

11

Método de Clark

O Método de Clark foi a técnica mais utilizada no passado para inferência de haplotypes e ainda continua sendo empregado com freqüência;

Trata-se de uma abordagem estocástica, garante uma boa solução, entretanto não garante a melhor solução possível;

12

Passos do Método de Clark

Primeiramente reconhecer na matriz de entrada aqueles genotypes que não apresentam ou que apresentam somente um sítio ambíguo. Pois esses genotypes apresentam soluções já conhecidas;

Os Haplotypes gerados na etapa anterior serão usados como base de dados para resolver os demais genotypes;

13

Passos do Método de Clark

Cada Genotype cuja solução já é conhecida é marcado como resolvido e os Haplotypes gerados são adicionados a lista de Haplotypes deduzidos;

No Método de Clark os Genotypes não marcados são explicados usando um Haplotype anteriormente deduzido e um novo Haplotype deduzido;

14

Regra de Inferência do Método de Clark

Suponha que A é um vetor-genótipo ambíguo com h sítios ambíguos e R é um vetor resolvido que é uma dos 2h-1 resoluções do vetor A. Infira, então, que A é a confluência de uma cópia do vetor resolvido R e outro (determinado) vetor resolvido NR. Todas as posições ambíguas em A são definidas em NR em oposição ao registrado em R. Uma vez inferido, o vetor NR é adicionado ao banco de vetores resolvidos conhecidos, e o vetor A é removido do banco de vetores ambíguos.

15

Método de Clark - Exemplo

Exemplo 1:

0000 1000 11222200

1100 1111

16

Método de Clark - Exemplo

Exemplo 2:

1000 0000 11222200

0100 órfão!

17

Método de Clark - Exemplo

1 0 0 1

2 2 1 1

2 1 1 2

2 2 2 2

0 2 2 0

Genotypes Haplotypes

1001

Primeiramente Selecionar os Genotypes que não possuem ambigüidade

(sitíos = 2)

18

Método de Clark - Exemplo

1 0 0 1

2 2 0 1

2 1 1 2

2 2 2 2

0 2 2 0

Genotypes Haplotypes

1 0 0 1

Verificar se na lista de Haplotypes existem

vetores que explicam 2201, ou se algum vetor já

existem mais um novo vetor explica o Genotype

0 1 0 1

1 0 0 1

______2 2 0 1

19

Método de Clark - Exemplo

1 0 0 1

2 2 0 1

2 0 0 2

2 2 2 2

0 2 2 0

Genotypes Haplotypes

1 0 0 1

0 1 0 1

1 0 0 1

0 0 0 0______2 0 0 2

Verificar se na lista de Haplotypes existem

vetores que explicam 2002, ou se algum vetor já

existem mais um novo vetor explica o Genotype

20

Método de Clark - Exemplo

1 0 0 1

2 2 0 1

2 0 0 2

2 2 2 2

0 2 2 0

Genotypes Haplotypes

1 0 0 1

0 1 0 1

0 0 0 0

1 0 0 1

0 1 1 0______2 2 2 2

Verificar se na lista de Haplotypes existem

vetores que explicam 2222, ou se algum vetor já

existem mais um novo vetor explica o Genotype

21

Método de Clark - Exemplo

1 0 0 1

2 2 0 1

2 0 0 2

2 2 2 2

0 2 2 0

Genotypes Haplotypes

1 0 0 1

0 1 0 1

0 0 0 0

0 1 1 0

0 0 0 0

0 1 1 0______0 2 2 0

Verificar se na lista de Haplotypes existem

vetores que explicam 0220, ou se algum vetor já

existem mais um novo vetor explica o Genotype

22

Método de Clark - Exemplo

1 0 0 1

2 2 0 1

2 0 0 2

2 2 2 2

0 2 2 0

Genotypes Haplotypes

1 0 0 1

0 1 0 1

0 0 0 0

0 1 1 0

RESULTADO FINAL

23

Parcimônia Pura

Tem como objetivo encontrar o menor conjunto possível de Haplotypes distintos que explicam o conjunto de Genotypes;

Justificativa: em populações naturais o número de Haplotypes distintos é imensamente menor que o tamanho da população;

24

Parcimônia Pura

Resolvido por Programação Linear Inteira

Pior caso com número exponencial de inequações

Na prática é gerado número polinomial de inequações.

25

Parcimônia Pura - Restrições

i = Indica a linha da matriz de entrada j = Indica a coluna da matriz de entrada y = representa a matriz de Haplotypes

26

Parcimônia Pura - Restrições

k – identifica um haplotype gerado k’- identifica um haplotype gerado

menor que k d – identifica todas as possíveis

combinações de k com todos os seus k’s

27

Parcimônia Pura - Restrições

x – identifica cada possível haplotype gerado como solução

28

Parcimônia Pura - Exemplo

2 2 2

0 1 2

2 1 1

1

2

3

4

5

6

1

2

3

Genotypes

? ? ?

? ? ?

0 1 ?

0 1 ?

? 1 1

? 1 1

Haplotypes

? ? ? ? ?

? ? ? ?

? ? ?

? ?

?

1 2 3 4 5 6

1

2

3

4

5

6

Comparação

? ? ? ? ? ?

1 2 3 4 5 6

Resultado

K

K’

29

PPH – Perfect Philogeny Haplotyping

0 0 0 0 0

1 0 1 0 0

1 0 0 0 0

0 0 0 1 0

0 1 0 1 0

0 1 0 1 1

00000

Forma uma Filogenia Perfeita!

10000

1

10100

3

00010

4

01010

2

01011

5

30

PPH – Perfect Philogeny Haplotyping

0 0 0 0 0

1 0 1 0 0

1 0 1 0 1

0 0 0 1 0

1 0 0 1 1

0 1 0 1 0

00000

NÃO forma uma Filogenia Perfeita!

10011

Back Mutation

10100

1,3

10101

5

00010

4

01010

2

31

PPH – Perfect Philogeny Haplotyping

2 0 1 0 0

2 0 1 0 2

0 0 1 0 2

0 2 1 0 2

0 0 1 2 2

0 2 1 2 2

00100 Ancestral

10100

1

10101

5

00101

5

01101

2

00111

4

UMA mutação por sítio!Forma uma Filogenia Perfeita!

Número de Haplotypes diretamente dependente do

número de Genotypes!!!! Podendo haver sinônimos

01111

4 O número de O número de Haplotypes deveria Haplotypes deveria ser dependente do ser dependente do número de sítios!número de sítios!

32

Máximo sub-grafo comum

Dado dois grafos G1 e G2

Questão: Qual o maior sub-grafo induzido de G1

que é isomórfico ao grafo G2 ? Se G2 é um subgrafo de G1 e possui toda

a aresta (v, w) de G1 tal que ambos, v e w, estejam em V2, então G2 é o subgrafo induzido pelo subconjunto de vértices V2.

33

Problema Isomorfismo de Grafo

Um isomorfismo dos grafos G e H é uma bijeção entre os vértices de G e de H tal que quaisquer dois vértices u e v são adjacentes em G sse f(u) e f(v) são adjacentes em H.

O problema de isomorfismo de grafos consiste em responder se dois grafos dados G e H têm ou não têm um isomorfismo.

Este é um problema de decisão NP-completo,o que significa que atualmente não se conheceum algoritmo polinomial para resolvê-lo.

34

Problema Isomorfismo de Grafo

Grafo G Grafo H Isomorfismo entre G e H

                                               

ƒ(a) = 1 ƒ(b) = 6ƒ(c) = 8ƒ(d) = 3ƒ(g) = 5ƒ(h) = 2ƒ(i) = 4ƒ(j) = 7

35

Problema Isomorfismo de Subgrafo

Definição: Isomorfismo de Subgrafo ( G1, G2) (PROBLEMA DE DECISÃO)

Entrada: grafos G1, G2Pergunta: G1 é isomorfo a algum subgrafo de G2?

36

Problema Isomorfismo de Subgrafo

O problema Isomorfismo de Subgrafo é uma generalização do problema Isomorfismo de Grafos, portanto é pelo menos tão difícil quanto este.

37

PPH - Solução

P-Class: Máximo Sub-Grafo Comum P-Class: consistem em 2 sub-arvores

11 22

3355

44

Matriz de Matriz de GenotypesGenotypes

2 2 2 2 2 2 0 0 2 0 0 0 2 0 0 2 2 2 0 2 2 2 2 2 0 2 2 2 0 2 2 0 0 2 2 0 0 2

00

Uma Solução Uma Solução PPHPPH

rooroott

Sítios: 1 2 3 Sítios: 1 2 3 4 54 5

GenotypGenotypeses

aa

bb cc

dd

a,d

a,c

b,d

b,c

38

PPH – Algoritmo

Estrutura de Dados: Shadow Tree Operações sobre essa estrutura:

Adição de arestas Flip de arestas Merge de Classes

Shadow

39

PPH – Algoritmo (Linha 1)

2 2 2 0 0 0 0

2 0 0 0 2 2 0

2 2 2 2 0 2 2

2 2 2 2 0 0 0

2 0 0 0 2 0 0

1 2 3 4 5 6 7

Quais as colunas apresentam entrada 2 pela primeira vez ? 1, 2, 3

Raiz

1 -1

2 -2

3 -3

Quais as colunas apresentam entrada 2 e anteriormente tb ? NENHUMA

40

PPH – Algoritmo (Linha 2)

2 2 2 0 0 0 0

2 0 0 0 2 2 0

2 2 2 2 0 2 2

2 2 2 2 0 0 0

2 0 0 0 2 0 0

1 2 3 4 5 6 7

Quais as colunas apresentam entrada 2 pela primeira vez ? 5, 6

Raiz

1 -1

2 -2

3 -3

Quais as colunas apresentam entrada 2 e anteriormente tb ? 1

5

6

-5

-6

41

PPH – Algoritmo (Linha 3)

2 2 2 0 0 0 0

2 0 0 0 2 2 0

2 2 2 2 0 2 2

2 2 2 2 0 0 0

2 0 0 0 2 0 0

1 2 3 4 5 6 7

Quais as colunas apresentam entrada 2 pela primeira vez ? 4, 7

Raiz

1 -1

2 -2

3 -3

Quais as colunas apresentam entrada 2 e anteriormente tb ? 1, 2, 3, 6

5

6

-5

-6

PROBLEMAS: mais de um sítio ancestral ambíguo

Antes de realizar as inserções: alterar a árvore com uma operação de tal forma que contenha um ramo

que uso o máximo dos vértices 1,2,3,6 começando pelo maior

42

PPH – Algoritmo (Linha 3)

2 2 2 0 0 0 0

2 0 0 0 2 2 0

2 2 2 2 0 2 2

2 2 2 2 0 0 0

2 0 0 0 2 0 0

1 2 3 4 5 6 7

Quais as colunas apresentam entrada 2 pela primeira vez ? 4, 7

Raiz

1 -1

2 -2

3 -3

Quais as colunas apresentam entrada 2 e anteriormente tb ? 1, 2, 3, 6

-5

6

5

-6

PROBLEMAS: mais de um sítio ancestral ambíguo

Procedimento FirstPath:

flip + merge

43

PPH – Algoritmo (Linha 3)

2 2 2 0 0 0 0

2 0 0 0 2 2 0

2 2 2 2 0 2 2

2 2 2 2 0 0 0

2 0 0 0 2 0 0

1 2 3 4 5 6 7

Quais as colunas apresentam entrada 2 pela primeira vez ? 4, 7

Raiz

1 -1

2 -2

3 -3

Quais as colunas apresentam entrada 2 e anteriormente tb ? 1, 2, 3, 6

-5

6

5

-6

First Path

44

PPH – Algoritmo (Linha 3)

2 2 2 0 0 0 0

2 0 0 0 2 2 0

2 2 2 2 0 2 2

2 2 2 2 0 0 0

2 0 0 0 2 0 0

1 2 3 4 5 6 7

Quais as colunas apresentam entrada 2 pela primeira vez ? 4, 7

Raiz

1 -1

2 -2

3 -3

Quais as colunas apresentam entrada 2 e anteriormente tb ? 1, 2, 3, 6

-5

6

5

-6

First Path

Não foi possível usar todas as arestas 1,2,3 e 6 no FirstPat, então é necessário crirar um SecondPath

que contenha os vértices restantes e não possua interseção com FirstPah

45

PPH – Algoritmo (Linha 3)

2 2 2 0 0 0 0

2 0 0 0 2 2 0

2 2 2 2 0 2 2

2 2 2 2 0 0 0

2 0 0 0 2 0 0

1 2 3 4 5 6 7

Quais as colunas apresentam entrada 2 pela primeira vez ? 4, 7

Raiz

1 -1

-2 2

-3 3

Quais as colunas apresentam entrada 2 e anteriormente tb ? 1, 2, 3, 6

-5

6

5

-6

First Path

Second Path

Identificar as sub-árvores que não fazem

parte da solução e aplicar Merge

46

PPH – Algoritmo (Linha 3)

2 2 2 0 0 0 0

2 0 0 0 2 2 0

2 2 2 2 0 2 2

2 2 2 2 0 0 0

2 0 0 0 2 0 0

1 2 3 4 5 6 7

Quais as colunas apresentam entrada 2 pela primeira vez ? 4, 7

Raiz

1 -1

-2 2

-3 3

Quais as colunas apresentam entrada 2 e anteriormente tb ? 1, 2, 3, 6

-5

6

5

-6

First Path

Second Path

47

PPH – Algoritmo (Linha 3)

2 2 2 0 0 0 0

2 0 0 0 2 2 0

2 2 2 2 0 2 2

2 2 2 2 0 0 0

2 0 0 0 2 0 0

1 2 3 4 5 6 7

Quais as colunas apresentam entrada 2 pela primeira vez ? 4, 7

Raiz

1 -1

-2 2

-3 3

-5

6

5

-6

4-4

7

-7

48

PPH – Algoritmo (Linha 4)

2 2 2 0 0 0 0

2 0 0 0 2 2 0

2 2 2 2 0 2 2

2 2 2 2 0 0 0

2 0 0 0 2 0 0

1 2 3 4 5 6 7

Quais as colunas apresentam entrada 2 pela primeira vez ? NENHUMA

Raiz

1 -1

-2 2

-3 3

-5

6

5

-6

4-4

7

-7

Quais as colunas apresentam entrada 2 e anteriormente tb ? 1,2,3,4

Tentar criar um ramo na árvoreque contenha todos os nódos

1,2,3 e 4 (FirstPath)

Aplicar Flip

49

PPH – Algoritmo (Linha 4)

2 2 2 0 0 0 0

2 0 0 0 2 2 0

2 2 2 2 0 2 2

2 2 2 2 0 0 0

2 0 0 0 2 0 0

1 2 3 4 5 6 7

Quais as colunas apresentam entrada 2 pela primeira vez ? NENHUMA

Raiz

1 -1

-22

-33

-5

6

5

-6

4 -4

7

-7

Quais as colunas apresentam entrada 2 e anteriormente tb ? 1,2,3,4

O FirstPath usou todas os vértices 1,2,3 e 4 não sendo então necessário

criar um SecondPath

FirstPath

50

PPH – Algoritmo (Linha 5)

2 2 2 0 0 0 0

2 0 0 0 2 2 0

2 2 2 2 0 2 2

2 2 2 2 0 0 0

2 0 0 0 2 0 0

1 2 3 4 5 6 7

Quais as colunas apresentam entrada 2 pela primeira vez ? NENHUMA

Raiz

1 -1

-22

-33

-5

6

5

-6

4 -4

7

-7

Quais as colunas apresentam entrada 2 e anteriormente tb ? 2,5

Não necessita alterações na árvore, porque 2 e 5 estão no

mesmo caminho

51

PPH – Algoritmo (resultado)

2 2 2 0 0 0 0

2 0 0 0 2 2 0

2 2 2 2 0 2 2

2 2 2 2 0 0 0

2 0 0 0 2 0 0

1 2 3 4 5 6 7 Raiz

1 -1

-22

-33

-5

6

5

-6

4 -4

7

-7

52

PPH – Algoritmo (resultado)

2 2 2 0 0 0 0

2 0 0 0 2 2 0

2 2 2 2 0 2 2

2 2 2 2 0 0 0

2 0 0 0 2 0 0

1 2 3 4 5 6 7 Raiz

1

2

3

6

5

4

7

53

PPH – Algoritmo (extração da solução)

1 0 0 0 0 0 0

1 0 0 0 1 0 0

1 1 1 0 0 0 0

1 1 1 1 0 0 0

1 1 1 1 0 0 1

0 0 0 0 0 1 0

0 0 0 0 0 0 0

1 1 0 0 0 0 0

1 2 3 4 5 6 7

Raiz

1

2

3

6

5

4

7

2 2 2 0 0 0 0

2 0 0 0 2 2 0

2 2 2 2 0 2 2

2 2 2 2 0 0 0

2 0 0 0 2 0 0

1 2 3 4 5 6 7

54

PPH – Algoritmo

1 0 0 0 0 0 0

1 0 0 0 1 0 0

1 1 1 0 0 0 0

1 1 1 1 0 0 0

1 1 1 1 0 0 1

0 0 0 0 0 1 0

0 0 0 0 0 0 0

1 1 0 0 0 0 0

1 2 3 4 5 6 7

2 2 2 0 0 0 0

2 0 0 0 2 2 0

2 2 2 2 0 2 2

2 2 2 2 0 0 0

2 0 0 0 2 0 0

1 2 3 4 5 6 7

1 1 1 0 0 0 0

2 2 2 0 0 0 0

0 0 0 0 0 0 0

__________

55

PPH – Algoritmo

1 0 0 0 0 0 0

1 0 0 0 1 0 0

1 1 1 0 0 0 0

1 1 1 1 0 0 0

1 1 1 1 0 0 1

0 0 0 0 0 1 0

0 0 0 0 0 0 0

1 1 0 0 0 0 0

1 2 3 4 5 6 7

2 2 2 0 0 0 0

2 0 0 0 2 2 0

2 2 2 2 0 2 2

2 2 2 2 0 0 0

2 0 0 0 2 0 0

1 2 3 4 5 6 7

2 0 0 0 2 2 0

1 0 0 0 1 0 0

0 0 0 0 0 1 0__________

56

PPH – Algoritmo

1 0 0 0 0 0 0

1 0 0 0 1 0 0

1 1 1 0 0 0 0

1 1 1 1 0 0 0

1 1 1 1 0 0 1

0 0 0 0 0 1 0

0 0 0 0 0 0 0

1 1 0 0 0 0 0

1 2 3 4 5 6 7

2 2 2 0 0 0 0

2 0 0 0 2 2 0

2 2 2 2 0 2 2

2 2 2 2 0 0 0

2 0 0 0 2 0 0

1 2 3 4 5 6 7

2 2 2 2 0 2 2

1 1 1 1 0 0 1

0 0 0 0 0 1 0__________

57

PPH – Algoritmo

1 0 0 0 0 0 0

1 0 0 0 1 0 0

1 1 1 0 0 0 0

1 1 1 1 0 0 0

1 1 1 1 0 0 1

0 0 0 0 0 1 0

0 0 0 0 0 0 0

1 1 0 0 0 0 0

1 2 3 4 5 6 7

2 2 2 0 0 0 0

2 0 0 0 2 2 0

2 2 2 2 0 2 2

2 2 2 2 0 0 0

2 0 0 0 2 0 0

1 2 3 4 5 6 7

2 2 2 2 0 0 0

1 1 1 1 0 0 0

0 0 0 0 0 0 0__________

58

PPH – Algoritmo

1 0 0 0 0 0 0

1 0 0 0 1 0 0

1 1 1 0 0 0 0

1 1 1 1 0 0 0

1 1 1 1 0 0 1

0 0 0 0 0 1 0

0 0 0 0 0 0 0

1 1 0 0 0 0 0

1 2 3 4 5 6 7

2 2 2 0 0 0 0

2 0 0 0 2 2 0

2 2 2 2 0 2 2

2 2 2 2 0 0 0

2 0 0 0 2 0 0

1 2 3 4 5 6 7

2 0 0 0 2 0 0

1 0 0 0 1 0 0

0 0 0 0 0 0 0__________

Pontos de Evolução

59

PPH – Shadow Tree

Algoritmo em tempo linear no tamanho da matriz de genotypes;

Na teoria o melhor método já proposto;

Na prática a restrição de filogenia perfeita é muito forte e pouco realista;

60

Comparação

Método de Clark:Método de Clark: Resolve grandes quantidades de dados

genotypes, entretanto não garante a melhor solução possível;

Parcimônia PuraParcimônia Pura Garante a melhor solução possível, entretanto

com um dispêndio de tempo e espaço alto;

Filogenia PerfeitaFilogenia Perfeita Garante a melhor solução possível com tempo

computacional excelente, entretanto restringe a entrada.

61

Outras Abordagens

NPPH - Near Perfect Phylogeny Haplotyping: permite uma relaxação da restrição de filogenia perfeita;

Máxima Verossimilhança: uma abordagem estatística;

Approximation algorithm for haplotype inference by maximum parsimony;

Recommended