métodos para inferência de haplotypes universidade federal de pernambuco
TRANSCRIPT
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;