Title: Fragment Assembly of DNA
1Fragment Assembly of DNA
- Esempi, modelli e soluzioni
I.Arduini, G.Caravagna, M.Pavesi
2Indice
- Storia
- Problema ed esempi
- Modelli
- Algoritmi
- Euristiche
- Assemblatori in pratica
3Le tappe
- Phage Phi-x174 5kb, 1977
- Bacteriophage lambda 50kb, 1982
- Haemophilius influenzae 1.9Mb, 1995
- Drosophila 180Mb, 2000
- Human 3B, 2001
4La storia
- Tappe dello shotgun sequencing
- 80s
- Si sequenziavano 5/10 kbp
- lt90
- Si sequenziavano circa 40 kbp
- 1995 (H. influenzae)
- Si supera il limite massimo supposto di 50 kbp
- Primo programma efficiente
5La storia (I)
- Opinioni di G.Myers
- I risultati del 1995 hanno ispirato me e
J.Webber a proporre luso dello shotgun
sequencing per sequenziare il genoma umano - US National Institutes of Health non li finanzia
- Maggio 1998 nasce Celera
6La storia (II)
- Celera
- Obiettivi
- 1999 Drosophila
- 2001 Genoma umano
- Costi
- 0.01 per ogni base
- 130M per ogni anno di lavoro (3)
- 90M per software ed hardware
7La storia (III)
- 26 Giugno 2000
- Celera Genomics annuncia il completamento del
primo assembly del genoma umano - HGSC annuncia di aver completato una prima bozza
dello stesso progetto
8La storia (IV)
- Febbraio 2001
- I due team pubblicano contemporaneamente le loro
analisi - comprovare i loro risultati
- ridurre le critiche
- dimostrare uno scopo comune
9Celera v.s. HGP
10Il problema
- Sequenziare lunghi filamenti di DNA
- Problema biologico
- Problema informatico
11Il problema biologico
- Incapacità tecnica delle macchine
- Frammentazione dei filamenti
- Shotgun
- Sequencing dei frammenti
- Gel elettroforesi
12Limiti tecnologici
- Metodi Gilbert-Sanger
- 500 1000 basi
- G.H. 3B di basi
ABI PRISM 3100 Genetic Analyzer
13Frammentazione
- Clonazione
- Virus
- Shotgun
- Enzima
14Gel Elettroforesi
Tecnica che permette di separare frammenti di
acido nucleico, in funzione del peso molecolare.
15Il problema informatico
- 500-2000 frammenti di lunghezza tra le 200 e le
700 basi. - Riassemblare i frammenti
16Riassemblare i frammenti
- Esempi
- Caso ideale
- Complicazioni
- Modelli
- Algoritmi
- Approccio pratico
17Caso ideale - frammenti
A C C G T C G T G C T T A C T A C C G T
18Caso ideale - overlap
A C C G T C G T G C T T A C T A C C G T
19Caso ideale allineamento
- - - A C C G T - -
- - - - - C G T G C
- T T A C - - - - -
- T A C C G T - -
T T A C C G T G C
20Complicazioni (caso reale)
- Errori
- Base call errors (BCE)
- Contaminazione
- Chimere
- Orientamento sconosciuto
- Mancanza di copertura
- Ripetizioni
- Dirette
- Inverse
21BCE - frammenti
- Errore di lettura (biologico)
A C C G T C G T G C T T A C T G C C G T
22BCE - overlap
- Errore di lettura (biologico)
A C C G T C G T G C T T A C T G C C G T
23BCE - layout
- - - A C C G T - -
- - - - - C G T G C
- T T A C - - - - -
- T G C C G T - -
- T T ? C C G T G C
24BCE - soluzione
A - A G ?
- Selezione per maggioranza
- 2 A
- 1 G
- 1
- Vince la A !!!
25BCE stringa di consenso
- - - A C C G T - -
- - - - - C G T G C
- T T A C - - - - -
- T G C C G T - -
- T T A C C G T G C
26Chimere
- Fusione di due sottosequenze non contigue in un
unico frammento
DNA
frammento
27Chimere
- Problema biologico
- Durante la clonazione
- Contaminazione dallospite
- DNA Arrays
- Soluzione
- Preprocessing dellinput
28Chimere - frammenti
A C C G T C G T G C T A C C G T T T A T G C
29Chimere - overlap
A C C G T C G T G C T A C C G T T T A T G C
T T A T G C
T T A T G C
30Chimere consenso
- - A C C G T - - - - - - C G T G C T T A - - - -
- -
T T A C C G T G C
T T A - - - T G C
31Contaminazioni
- Le chimere sono contaminazioni
- Il processo di clonazione sporca i filamenti
con pezzi di genoma dellorganismo ospite
DNA da clonare e dellospite
Processo di clonazione
- Unica soluzione il
- preprocessing
DNA sporco e quello originale
32Orientamento Sconosciuto
- I frammenti clonati provengono da una qualsiasi
delle sequenze - In principio non sappiamo da quale
- Con n frammenti abbiamo 2n(n-1) coppie
considerando le 2 eliche
GTCA
complement
ACTG
CAGT
reverse
33Orientamento - frammenti
C A C G T A C T A C G G T A C T
34Orientamento quale elica?
C A C G T A C T A C G G T A C T
A C G T G C G T A G T A G T A C
1. genero tutti i possibili frammenti
2. ne scelgo alcuni (come?)
35Orientamento layout
Ori.
C A C G T - - - - - - - C G T A G T - - - - - - -
A G T A C C A C G T A G T A C
36Copertura
- La stringa target si riassembla da dei frammenti
- 1. Quanti frammenti vogliamo?
- 2. Quanti sono abbastanza?
- 3. Possono non bastare?
- non lo sappiamo (non calcolabile)
?
37Copertura
- Problema biologico
- Il sampling è un processo casuale
Buon Principio
Più frammenti abbiamo, più è sicuro il consenso
basato sulla maggioranza
- quindi
- Quanti tanti
- Quali non si sa
38Ripetizioni
- Sequenze che compaiono 2 o più volte nella
sequenza target
DNA
x
x
- Dato un frammento contenente x, in quale punto
del target lo assemblo?
39Ripetizioni quelle facili
x
x
DNA
frammenti
- I segmenti e disambiguano
- Facili quando sono contenute totalmente nei
frammenti
40Ripetizioni quelle difficili
x
x
DNA
frammenti
NO
OK
i frammenti collassano !
- Difficili se si spezza una ripetizione
41Ripetizioni difficili XXX
frammenti
DNA
A x B x C x D
frammenti
consenso
A x C x B x D
42Ripetizioni difficili XYXY
frammenti
DNA
A x B y C x D y E
frammenti
consenso
A x D y C x B y E
43Ripetizioni dirette/inverse
- Abbiamo visto quelle dirette
- Facili
- Difficili
Ce ne sono altre?
x
x
- Quelle inverse
- Facili
- Difficili
Ruota 180
x
x
44Modelli
- SCS (Shortest Common Superstring)
- RECONSTRUCTION
- MULTICONTIG
- Nessuno risolve i problemi biologici
- Chimere
- Contaminazione
45SCS
- Il problema
- Data una collezione F di stringhe
- Trovare la più breve stringa S tale che per ogni
f appartanente ad F, S sia una superstringa di f.
46SCS (II)
- In biologia
- La collezione F è linsieme di frammenti
- orientati
- S è la sequenza del DNA della molecola target
47SCS (III)
- Limiti
- S deve essere una superstringa perfetta
- Non tiene conto degli errori
- Bisogna conoscere lorientamento
- Quasi sempre impossibile
- La superstringa trovata potrebbe non essere la
soluzione corretta - Problema delle ripetizioni
48SCS (IV)
- In conclusione
- Il problema SCS è NP-hard
- Esistono algoritmi di approssimazione
- Non sono interessanti
- Limiti del modello
49RECONSTRUCTION
- Il problema
- Dati
- una collezione F di stringhe
- Un margine di errore e, 0ltelt1
- Trovare la più breve stringa S tale che per ogni
f appartanente ad F, sia - Min(ds(f,S),ds(-f,S))lt ef
50RECONSTRUCTION (II)
- Min(ds(f,S),ds(-f,S))lt ef
- ds è la substring edit distance
- Edit distance ignorando cancellazioni alle
estremità della seconda sequenza. - ds(a,b) min d(a,s)
- Dove s è una qualsiasi sottostringa di b
- e è il livello di errore tollerato
- f è la lunghezza della stringa f
- Cosa significa tutto questo?
51RECONSTRUCTION (III)
- Cosa significa tutto questo?
- Errore tollerato e per ogni base.
- e0.05 significa che sono ammessi 5 errori ogni
100 basi. - Cerco una stringa S
- di dimensioni minime
- ogni frammento (o inverso) è sottostringa di S
con margine e.
52RECONSTRUCTION (IV)
- Vantaggi
- Tiene conto degli errori
- Svantaggi
- Non risolve il problema delle chimere
- Il problema è ancora NP-hard
- Contiene SCS come caso particolare con e 0
53MULTICONTIG
- Introduce il concetto di good linkage
Def good linkage
Misura del livello di sovrapposizione di frammenti
--TAATG TGTAA--
Livello di collegamento 3
54MULTICONTIG (PRO)
- PRO
- Errori (Base Call Errors)
- Orientamento
- Mancanza di copertura
- Ripetizioni?
55MULTICONTIG (CONTRO)
- CONTRO
- Non sfrutta le informazioni relative alla
dimensione della molecola target - NP-hard
- Cammini Hamiltoniani
- Ripetizioni?
56MULTICONTIG (Def. I)
- F collezione di frammenti
- L allineamento multiplo dei frammenti (Layout)
- T G T A A - - - - -
- - T A A T G - - -
- - - - - - - G T A C
57MULTICONTIG (Def. II)
- Numerazione delle colonne
- Per ogni frammento f si l(f) e r(f)
- Il valore di l e r dipende dalla colonna
r(f1)1
l(f1)1
- 1 2 3 4 5 6 7 8 9 10
- T G T A A - - - - -
- - T A A T G - - -
- - - - - - - G T A C
f1
58MULTICONTIG (Def. III)
- fr(f) - l(f) 1
- Overlap x..y
- intersezione l(f)..r(f) e l(g)..r(g)
- Nonlink se un altro frammento contiene
propriamente x..y - Link altrimenti
- Weakest link la più piccola dimensione dei link
della collezione
59MULTICONTIG (VII)
- T-contig
- Un layout L è un t-contig se il suo weakest link
ha dimensione t - Una collezione F ammette t-contig se è possibile
costruire un t-contig con i suoi frammenti
60MULTICONTIG (formulazione error-free)
- PROBLEMA Multicontig
- INPUT
- F, collezione di stringhe
- t0, intero
- OUTPUT
- Una partizione di F nel minimo numero di
sottocollezioni Ci , 1ik, tale che ogni Ci
ammetta un t-contig
61MULTICONTIG (esempio)
- FGTAC,TAATG,TGTAA
- t3
- t2
- t1
T G T A A - - G T A C - - T A A T G
- - - T G T A A G T A C T A A T G - - -
- T G T A A - - - - -
- - T A A T G - - -
- - - - - - - G T A C
62MULTICONTIG (errori)
- Si associa a L una sequenza di consenso S
- Immagine di f nel consenso Sl(f)..r(f)
- Tolleranza di errore e
- e-consenso S è un e consenso per questo contig
quando la distanza di edit fra ciascuno frammento
allineato f e la sua immagine nel consenso è al
più ef.
63MULTICONTIG (formulazione)
- PROBLEMA Multicontig
- INPUT
- F, collezione di stringhe
- t0, intero
- 0e1, tolleranza di errore
- OUTPUT
- Una partizione di F nel minimo numero di
sottocollezioni Ci , 1ik, tale che ogni Ci
ammetta un t-contig con un e-consenso
64MULTICONTIG (complessità )
- Np-arduo
- Anche nel caso error-free e orientamento noto
- Contiene una istanza di cammino hamiltoniano
65Indice Algoritmi
- Rappresentare gli Overlap
- Overlap Multigraph
- Superstringhe e cammini
- SCS come cammini su grafi
- Algoritmo Greedy
- Sottografi aciclici
66Rappresentare gli Overlap(I)
- Dati due frammenti
- f1 TACGAA
- f2 AACA
- Quanti modi ci sono di sovrapporli?
t
TACG AA AA CA
f1
f2
t
Ordinamento f su un grafo
TACGA A A ACA
f2 f f1
TACGAA AACA
t
67Rappresentare gli Overlap(II)
- FTACGA, ACCC, CTAAAG, GACA
- Grafo
- Escludendo da subito le sovrapposizioni nulle
(concatenazioni di frammenti)
ACCC
TACGA
CTAAAG
GACA
68Rappresentare gli Overlap(III)
ACCC
TACGA
CTAAAG
GACA
TACGA ACCC
ACCC CTAAAG
GACA ACCC
69Overlap Multigraph (I)
- OM(F)(F,A)
- I nodi rappresentano i frammenti
- (a,b), con peso t0 ÃŽ A ? suffix(a, t)
prefix(b, t)
t
t
prefix(b,t)
b
a
b
suffix(a,t)
a
t 2
2
TAGC AA
a
TAGCAA
AAGC
AA GC
b
70Overlap Multigraph (II)
- Raffinamenti possibili
- Elevato numero di nodi n
- Elevato numero di archi
- n2 solo per t0
- Valore di soglia su t
- Eliminare gli overlap troppo deboli
- Poco significativi
- Errori?
71Superstringhe e cammini
- I cammini in un OM rappresentano un allineamento
multiplo. - La sequenza di consenso è una superstringa comune
ai frammenti del cammino - Non necessariamente la più corta.
72Superstringhe e cammini(II)
- Cammini come sequenze di archi
- Più di un arco tra due nodi
t
TACG AA AA CA
2
t
TACGA A A ACA
1
TAGCAA
AAGC
0
TACGAA AACA
t
n overlap tra due frammenti generano n cammini
fra due nodi
73Superstringhe e cammini(III)
- Overlap multigraph
- Quanti cammini?
ACCC
1
TACGA
2
1
1
CTAAAG
1
GACA
74Superstringhe e cammini(III)
ACCC
1
TACGA
2
1
1
CTAAAG
1
GACA
TACGA----------- ----ACCC-------- -------CTAAAG---
------------GACA TACGACCCTAAAGACA
75Superstringhe e cammini(III)
ACCC
1
TACGA
2
1
1
CTAAAG
1
GACA
TACGA---------- ---GACA-------- ------ACCC----- --
-------CTAAAG TACGACACCCTAAAG
consenso più corto
76Considerazioni (I)
- Come scegliere un cammino?
- Due modi
Massimizzo S pesi
Senza regole
CS-Problem Common Superstring
SCS-Problem Shortest Common Superstring
77Considerazioni (II)
- Ma in fondo, quali cammini vogliamo?
HAM
Un cammino in un grafo non orientato che visita
tutti i vertici una e una sola volta
HAM ÃŽ NP-C
78Overlap Graph (OG)
- Vogliamo cammini di peso massimo
- Eliminiamo
- Tra archi paralleli quelli meno pesanti
2
1
2
TAGCAA
AAGC
TAGCAA
AAGC
0
79LAlgoritmo
- Un tentativo greedy per calcolare
- Cammino di peso massimo sull OG
IDEA
Scegliere, al passo i-esimo, larco di peso
massimo tra quelli non ancora attraversati. Questo
arco non deve interferire con il cammino HAM che
stavamo costruendo al passo (i-1)-esimo
Ordinamento decrescente degli archi rispetto ai
pesi
80LAlgoritmo terminazione
- OG è completo
- Tra due nodi esiste sempre un arco
Se F n , allora ci fermiamo quando il cammino
è lungo (n-1) nodi. Il cammino calcolato toccherÃ
tutti i nodi del grafo.
81LAlgoritmo variazioni
- Vediamo lalgoritmo direttamente su F
- Scegli ( f, g ) ÃŽ F di peso massimo
- Sovrapponi f a g secondo loverlap
- Togli f e g da F
- Aggiungi la sovrapposizione a F
Ci fermiamo quando F 1
- Otteniamo sempre il miglior risultato?
82Un esempio
GCC
Passo Peso F
1 3 GCC,ATGCAT
2
2 0 ATGCATGCC
2
ATGC
TGCAT
GCC
3
0
ATGCAT
ATGCATGCC
83Un esempio(II)
- Un cammino alternativo migliore
GCC
2
2
0
2
2
ATGC
TGCAT
3
3
ATGCATGCC v.s. TCGCATGCC
84SOTTOGRAFI ACICLICI
- Basato sul modello Multicontig
- Buon Campionamento
- I frammenti coprono lintera molecola
- Le connessioni fra frammenti sono sufficienti
85Campionamento
- SA,C,G,T
- Campionamento di S
- Collezione A di intervalli di S
- A copre S
- Se per ogni 1 i S abbiamo almeno un
intervallo j..k? A t.c. i ? j..k
86Connessione
- Due intervalli a e b sono connessi a livello t
- se anbt
- Un campionamento di A è connessa a livello t
- Se per ogni coppia a e b ? A esiste una serie di
intervalli ai con 0il t.c. aa0, bal e ai è
connessa a livello t con ai1 per 0il-1
87Copertura esempio
- Campionamento di A connesso a livello t
- È sufficiente che ogni coppia di intervalli abbia
una catena di intervalli luno con laltro
sovrapposto a livello t
G C C C C A T G T G A G A G
T G
- GCC e AGTG non sono connessi a livello 2, ma il
campionamento è comunque connesso a livello 2
88Buon campionamento
- Un campionamento è buono se A è connesso ad un
livello t prefissato - t è 10, tipicamente.
- Studieremo quindi collezioni di frammenti
connessi a livello t che coprono una stringa S
89Modifica al grafo
- Si tagliano da OM(F) tutti gli archi da f a g che
pesino meno di t - Gli archi connettono solo nodi corrispondenti a
intervalli connessi a livello t - Si indica con OM(F,t)
90Concettualmente
- Nel grafo
- gli archi sono le sovrapposizioni
- I nodi sono intervalli
- Stringa cercata cammino che non visiti due
volte un nodo e visiti tutti i nodi - Cammino Hamiltoniano
- Esiste?
91Cammini Hamiltoniani
- Si può dimostrare che, dati
- Una stringa S sullalfabeto A,C,G,T
- Una collezione A connessa a livello t,
campionamento di S. - Allora il multigrafo OM(F,t)
- Con F generato da A
- Ammette un cammino Hamiltoniano P.
- Se A copre S, allora P può essere scelto tale che
S(P)S.
92Intuitivamente
- Condizioni sufficienti per la presenza di un
cammino hamiltoniano - Il cammino hamiltoniano rappresenta una stringa
- ci si muove su frammenti sovrapposti, ovvero
susseguenti - In assenza di cicli, questo cammino si dimostra
essere unico
93Problema
- Abbiamo F, vogliamo ricostruire S
- Trovando un cammino hamiltoniano
- Possiamo farlo?
94Presenza di ripetizioni
- Cicli nel grafo gt ripetizioni nel grafo
- Il contrario non sempre è vero
- Intersezione comune fra due intervalli è dovuta a
uno fra - Sovrapposizione (overlap)
- Ripetizione
- Si dimostra che in caso di ciclo nel grafo,
esisten almeno una ripetizione
95Unicità del cammino hamiltoniano
- Trasformare il multigrafo OM in un grafo aciclico
OG - Se S non ha riptezioni, il cammino hamiltoniano
su OG esiste ed è unico - Il cammino hamiltoniano rappresenta la stringa
target ricercata
96Topological sorting
- Questo approccio è noto come Topological Sorting
- Trovare un ordinamento di nodi consistente con un
insieme aciclico di archi - In cui gli archi rappresentino un ordinamento
97Greedy VS Acyclic Subgraph
- SAGTATTGGCAATCGATGCAAACCTTTTGGCAATCACT
- wAGTATTGGCAATC
- zAATCGATG
- uATGCAAACCT
- xCCTTTTGG
- yTTGGCAATCACT
98Greedy VS Acyclic Subgraph
Greedy w, y, z, u, x
9
3
3
4
3
Sottografi aciclici w, z, u, x, y
x
w
u
y
z
99Greedy VS Acyclic Subgraph
- Greedy
- Lunghezza 36
- Weakest Link 0
- Superstringa
- Sottografi aciclici
- Lunghezza 37
- Weakest Link 3
- Superstinga
100Vince Acyclic Subgraph
- Fra i due, prevale la logica del migliore livello
di sovrapposizione - Anche se la superstringa minore è quella
generalmente preferibile
101Euristiche
- Nessun formalismo è adeguato
- Ci buttiamo sulle euristiche
- Quanto è adeguato un allineamento?
- Scoring
- Coverage
- Linkage
- Assembly in pratica
102Scoring
- Situazione ideale
- In ogni colonna, un solo carattere
- Uniformità bene
- Variabilità male
103Scoring entropia
- Entropia
- Definita su frequenze relative
- Bassa ? una frequenza spicca nel gruppo
- Alta ? frequenze omogenee
- Su una colonna
- 4 A, 1 G
- Entropia bassa, si sceglie A
- 3 A, 2G
- Entropia alta, non si sa cosa scegliere
104Scoring in pratica
- Allineamento buono
- Entropia bassa
- Sappiamo cosa scegliere per ogni colonna
105Coverage
- Un frammento copre una colonna?
- Siano l(f) e r(f) gli estremi sinistro e destro
di f - f copre la colonna i se l(f)ir(f)
aCAGTC--- b--GTCAT- c----CAT-
a e b coprono la colonna, c no
106Coverage (II)
- Coverage di una colonna
- Numero di frammenti che la coprono
- Coverage0 per una colonna
- Layout disconnesso
Coverage0 !
CATAG------------- ---AGTCGA--------- ----------CT
AGACTA
107Coverage (III)
- In conclusione
- Più colonne con coverage0
- Qualsiasi permutazione delle regioni tra di esse
è accettabile. - Regionecontig
- Coverage alta consensus affidabile
108Linkage
- Il modo in cui ogni frammento si lega agli altri
- Presenza di overlaps
------ACTTTT------ TCCGAG------ACGGAC ------ACTTTT
------ TCCGAG------ACGGAC
Esempio di buona copertura ma scarso linkage
109Assembly in pratica
- Un buon algoritmo deve
- bilanciare
- Scoring
- Coverage
- Linkage
- trovare tutte le soluzioni buone
- Un compito difficile, quindi?
110Assembly in pratica (II)
- Un compito difficile
- Si divide il problema in tre fasi
- Trovare overlaps
- Costruire un layout
- Calcolare un consensus
- Modello overlap-layout-consensus
111Assembly in pratica (III)
- Si divide il problema in tre fasi
- Pro
- Più gestibile
- Contro
- Difficile capire la relazione tra input e output
112Assembly in pratica (IV)
- Di fatto
- I metodi usati nelle tre fasi sono spesso
euristici - Nessuna garanzia sulla qualità della soluzione
- Ci sono molte implementazioni
- Buone allatto pratico
- Vale la pena studiare le tecniche
113Trovare overlaps
- Proviamo ogni coppia di frammenti
- Anche i complementari inversi
- Con un margine di errore
- Algoritmo di programmazione dinamica
- Nessuna penalità per gaps alle estremitÃ
- 1 match
- -1 mismatch
- -2 gaps
114Costruire un layout
- Trovare un buon ordinamento dei frammenti in un
contig. - Ogni frammento si sovrappone al successivo
- Si trova il layout
115Costruire un layout (II)
- Non esiste un algoritmo
- Semplice
- Generale
- Neanche affidandosi alle euristiche
- Facciamo considerazioni pratiche
- Da tenere a mente
116Costruire un layout (III)
- Considerazioni pratiche
- Complementari inversi
- Espandere F con gli inversi
- Se due frammenti hanno overlap, anche i loro
inversi lo hanno - Errori
- Matching approssimato
117Costruire un layout (IV)
- Considerazioni pratiche
- Trovare percorsi diretti sull OG
- Significa trovare ordinamenti
- Si costruisce contemporaneamente linverso
- Vengono costruiti entrambi i filamenti del DNA
- Due ostacoli
- Mancanza di coverage
- Ripetizioni
118Costruire un layout (V)
- Mancanza di copertura
- Deriva da un grafo disconnesso
- Ripetizioni
- Causano cicli nel grafo
- Se la copertura è buona
- Creano ambiguitÃ
- Danno coverage stranamente alto
- Tutte le copie sono impilate insieme
- La coverage sale
119Costruire un layout (VI)
- Per concludere
- Percorsi complementari
- Ignorare frammenti contenuti
- Cicli indicano ripetizioni
- Coverage strano
- Può derivare da ripetizioni
120Consensus
- Abbiamo un ordinamento di frammenti
- Come li disponiamo?
- Banale nel caso ideale
- Problematico con overlaps approssimati
121Consensus (II)
- Abbiamo un ordinamento
- f?g?h
- f CATAGTC
- g TAACTAT
- h AGACTATCC
- Due allineamenti possibili tra f e g
CATAGTC--- --TAA-CTAT
CATAGTC--- --TA-ACTAT
Problema stesso punteggio!
122Consensus (III)
- Due allineamenti possibili tra f e g
- Con lo stesso punteggio
- Quando entra in gioco h
CATAGTC----- --TAA-CTAT-- ---AGACTATCC CATAG?CTATC
C
CATAGTC----- --TA-ACTAT-- ---AGACTATCC CATAGACTATC
C
123Consensus (IV)
- Evidenziamo le differenze tra frammenti e
consensus
CATAGTC----- --TAA-CTAT-- ---AGACTATCC CATAG?CTATC
C
CATAGTC----- --TA-ACTAT-- ---AGACTATCC CATAGACTATC
C
2 differenze 1 differenza
124Consensus (V)
- In pratica
- Struttura dati che distingue
- Basi già piazzate da altri frammenti
- Basi con posizionamento ambiguo
- Sequenza come lista di nodi (basi)
125Consensus (VI)
- Sequenza come lista di nodi (basi)
126Assemblatori
- Due generazioni
- Prima (19921998)
- CAP
- Phred Phrap
- Seconda(1995..)
- TIGR
- Celera
127Assemblatori prima generazione
- Contig Assembly Program (CAP) di Xiaoqiu Huang,
Genomics - Risolve SCS con programmazione dinamica su coppie
di frammenti - Del 1992, migliorato in CAP2 nel 1996
As to performance, CAP took 4 hours to assemble
1015 fragments of a total of 252,000 characters
on a Sun SPARCstation SLC
http//www.cs.sunysb.edu/algorith/implement/cap/i
mplement.shtml
128Assemblatori prima generazione
- Phred Phrap di Phil Green, Laboratory of Phil
Green - Del 1998
- Approccio
- Controllo della qualità dei frammenti
- Guidato da una euristica
129Assemblatori seconda generazione
- The Institute for Genomic Research (TIGR)
- Nel 1995 sequenzia H.influenzae (1.8Mb)
- Approccio
- Utilizzo di strutture dati sofisticate
- Unitigs (UNIquely Assemblable conTIG)
- Scaffold (unitigs contigui ed ordinati)
130Assemblatori seconda generazione
131Celera pipeline
- Screener
- Cerca le ripetizioni conosciute in un database
- Il database per la Drosophila era fatto a mano
- Overlapper
- Ogni frammento viene comparato con quelli
precedentemente esaminati - Differenza lt 6
- Overlap più lunghi di 40 basi
- Lapproccio è quello di BLAST
132Celera pipeline
- Unitigger
- Riunisce frammenti non ambigui in unitigs
- U-unitigs quelli fuori dalle ripetizioni
- Scaffolder
- U-unitigs vengono raccolti in insiemi di contig
di dimensione nota orientati ed ordinati
133Celera pipeline
- Repeat Resolution
- Elimina le ripetizioni note
- Aggiorna il database
La qualità della sequenza è così alta che il
consenso è ottenuto da un semplice algoritmo
denominato Abacus
Myers et al
134Osservazioni finali
- Overlap Layout Consensu le tecniche più
avanzate per la fase Layout sono NP-hard - Ma il vero ostacolo è nella fase Overlap, anche
se quadratica - 3Miliardi di basi x 12 (copertura) x 2
(orientamento)
135Osservazioni 2
- Celera e HGSC hanno annunciato di aver
sequenziato del genoma umano - Come si fa a dare questa valutazione, se non si
può confrontare il risultato con il vero
genoma? - Metro di valutazione lunghezza
- Siamo davvero simili al topo per il 99 del
genoma?
136Osservazioni 3
- La soluzione del problema biologico è stata
favorita dall'Informatica - Ma l'informatica ha fino ad ora fatto uso dei
PROPRI mezzi principalmente - E' possibile sfruttare meglio i vincoli
biologici? - Uso di database come guida