ALLINEAMENTO TRA SEQUENZE
L’allineamento tra due sequenze è fondamentale per determinarne la
similarità reciproca ed inferire rapporti di omologia, funzione e
conformazione strutturale.
L’evoluzione è fatta di mutazioni accumulate nel tempo (mutazioni
puntiformi, inserzioni, delezioni, inversioni) e la ricostruzione
della situazione, sotto certe condizioni, ci consente di trarre delle
conclusioni di relazione tra le sequenze.
Per raggiungere tale obiettivo occorrono due cose fondamentali:
1) Un algoritmo efficiente che sia in grado di rappresentare il più
correttamente possibile la reale similarità tra le sequenze
2) Dei criteri di punteggio di similarità che siano in grado di
definire la bontà dell’allineamento finale che si ottiene tra le
sequenze e che supporti la creazione dell’allineamento stesso
in fase di costruzione
L’obiettivo finale: l’allineamento strutturale
T
E
F
D
A
F
K
T
D
MCDQTKHSKCCPAK---GNQCCPP--TDEAF---QQNQCCQSKGNQCCPPKQNQCCQPKG-M D +K ++CCP
CCPP TD F
Q++ CC
+ CCPPK + CC PK
MSDSSKTNQCCPTPCCPPKPCCPPKPTDKSFCCLQKSPCCPK--SPCCPPK-SPCCTPKVCP
S
TDEAF
TDKSF
Allineare due sequenze (proteine o acidi nucleici)
•
Cosa vuol dire allineare due sequenze? scrivere due sequenze
orizzontalmente in modo da avere il maggior numero di simboli
identici o simili in registro verticale anche introducendo
intervalli (gaps – inserzioni/delezioni – indels)
seq1: TCATG
seq2: CATTG
TCAT-G
.CATTG
4 caratteri uguali
1 inserzione/delezione
ALLINEAMENTO SEMPLICE TRA DUE SEQUENZE
Scorrimento tra due sequenze senza gap e valutazione delle identità.
L’allineamento 5 risulta il migliore ma dipende dai punteggi di similarità usati
L’algoritmo basato sullo scorrimento delle due sequenze deve compiere
nxm
operazioni dove n ed m sono le lunghezza delle rispettive sequenze.
In algoritmica si approssimano n ed m come se fossero uguali per poter
definire la classe di appartenenza di complessità e tempo
computazionale. Si dice che l’algoritmo è di Ordine di n quadrato O(n2).
Nel caso in cui volessimo effettuare, con la stessa tecnica dello
scorrimento, degli allineamenti con dei gap allora dovremmo
artificialmente inserire in partenza un gap in una posizione a caso di una
delle due sequenze e far riscorrere le due sequenze l’una sull’altra.
La complessità diventerebbe insostenibile se si dovessero provare tutte le
combinazioni di uno o due o più gap.
E’ necessario adottare una strategia di allineamento di sequenze
completamente diverso
Già per due sequenze lunghe 20 caratteri tutti i
possibili allineamenti con gap sarebbero 120
miliardi !!!!
Altro problema è il punteggio che si deve dare
all’allineamento ovvero la significatività
In definitiva i problemi sono:
Biologici
Trovare un modo per confrontare e
rappresentare la similarità o “dissimilarità” tra le
biomolecole
Computazionali
Trovare un modo per ottenere un match tra
le sequenze di caratteri che compongono le
biomolecole
Statistici
Come valutare la validità del risultato
Due tipi di allineamento
• globale: vengono allineate le intere
sequenze dall’N- al C-terminale (o dal 5’ al
3’ per il DNA)
• locale: vengono allineate solo le zone con
la più alta densità di somiglianza
generando uno o più suballineamenti
• freeshift: Una via di mezzo tra globale e
locale
GLOBALE
D L G P S S K Q T G K G S S M D I W D N G M
D - I - - T K S A G K G A I M R L - - E - M
LOCALE
- - - - - - - - - G K G - - - - - - - - - - - - - - - - - - G K G - - - - - - - - - FREESHIFT
D L G P S S K Q T G K G S S M D I W D N G M
- - - D I T K S A G K G A I M R L E M - - -
Metodi di allineamento
• Analisi della matrice a punti (dot matrix)
• programmazione dinamica (dynamic
programming)
• metodo delle n-ple (Fasta, Blast)
Metodo della matrice a punti
• proposto da Gibbs and McIntyre (1970)
• consente di evidenziare ripetizioni dirette o
inverse nelle sequenze
• prevedere regioni complementari nell’RNA
che possano potenzialmente formare
strutture secondarie
Metodo della matrice a punti
• il maggiore vantaggio di questa tecnica consiste nel dare
tutte le possibili corrispondenze di simboli tra due
sequenze. Le due sequenze sono poste una
orizzontalmente (sx->dx) e l’altra verticalmente (alto>basso) e, nel caso più semplice, per ogni identità viene
disegnato un quadretto nero.
• Il calcolo in genere si fa considerando una determinata
finestra (sliding window)
Sliding window
C
E
K
F
C
L
L
I
D
F
■
K
■
F
C
■
■
C
W=3
D
Pmin=2
F
K
F
■
C
T
T
T
T
I
■
E
K
F
C
L
L
I
■
■
■
I
(Dot matrix con matrice di identità) Posizionandosi al centro di ogni AA con una W=3 e Pmin=2 si
calcola il numero di identità che si riscontrano (si prendono in considerazione le n pos. precedenti e
successive oltre a quella centrale). Se il punteggio supera la soglia di Pmin allora viene “accesso” il
quadratino nero in corrispondenza dell’amminoacido in analisi (può essere disegnato con maggiore
intensità di riflesso al punteggio totalizzato all’interno della finestra in analisi).
C E K F C L L I
| | |
|
D F K F C T T I
DOT PLOT: informazioni sulle similarità tra due sequenze. Non produce un valore
dell’allineamento ma sono una rappresentazione grafica dello stesso
GFHLKS
S
*
K
*
L
*
H
*
F *
G *
COME CALCOLARE IL PUNTEGGIO DI UN ALLINEAMENTO ?
Il problema del calcolo del punteggio di un allineamento può essere
considerato in due modi diversi che, però, sono le due facce di una stessa
medaglia al lato pratico.
1) edit-distance o distanza di Levenshtein:
in questo caso il punteggio dell’allineamento è calcolato basandosi sul minimo
numero di sostituzioni, inserzioni e delezioni che si devono fare per passare
dalla sequenza A alla sequenza B (concetto dell’evoluzione). Ad esempio ai
match si attribuisce un valore di 0 ed ai mismatch un valore positivo tipo 1.
2) Punteggio di similarità:
il punteggio dell’allineamento è frutto del calcolo della similarità tra le due
sequenze allineate in questione. Ovvero si deve trovare l’allineamento con il
punteggio più alto. Ai match si attribuisce un valore positivo. Processo addittivo.
Nella maggior parte dei casi le due quantità sono correlate ma ci sono delle
differenze concettuali.
L’edit-distance è adatta nel caso degli allineamenti globali. Per l’edit-distance
deve valere la disuguaglianza triangolare. Se ho x, y e z e l’evento di mutazione
da x a y ha un costo > dell’evento x->z + z->y allora ogni volta che devo
sostituire x con y devo effettuare due sostituzioni prima con z e poi con y
perché al fine del punteggio finale “costano” meno. L’edit-distance, infatti,
prevede che si devono minimizzare i costi di eventi di mutazioni per passare da
una sequenza all’altra. Prevale il concetto che l’evoluzione deve “risparmiare”.
Specie A
A W T V A S A V R T S I
Specie B
A Y T V A A A V R T S I
Specie C
A Y T V A A A V L T S I
Edit-distance
Da A si passa a B (1 mutazione) si passa a C (una nuova mutazione). Quindi da A a
C ci sono state due mutazioni (edit-distance = 2). Ovvero per passare da A a C non
si passa direttamente ma si passa attraverso lo stato intermedio di B poiché B è
“meno mutata” rispetto ad A di quanto non lo sia C (A->B->C percorso = 2) e quindi
non è possibile pensare un rapporto evolutivo che prevede di partire da A poi si
arriva a C e da C si arriva a B (A->C->B percorso = 3) devo minimizzare il
percorso!!!!
Similarità
A e B hanno 11 AA in comune A e C ne hanno 10 quindi il percorso anche in questo
caso sarà A->B->C devo “massimizzare” il percorso (A->B = 11 A->C sarebbe 10 ….
Preferisco passare prima attraverso B
EDIT-DISTANCE
Problema di base: misurare la differenza o distanza tra due sequenze
Trasformare una sequenza in un’altra per mezzo di una serie di operazioni di editing su singoli caratteri
Operazioni di editing: inserzione, delezione, sostituzione, match (non operazione)
Edit distance: è definita come il numero minimo di operazioni di editing (inserzione, delezione e
sostituzione) necessarie per trasformare la prima sequenza nella seconda
RIMDMDMMI
v intner
wri t ers
Edit distance: indica gli eventi di mutazione che hanno differenziato due sequenze
(Processo)
Allineamento: indica la relazione che intercorre tra due sequenze
(Prodotto)
SIMILARITA’
Date due sequenze A e B, costituite ognuna da una serie di residui,
rispettivamente (a1,a2,a3, ... , ai) e (b1,b2,b3, ... , bi ), il punteggio (score) di un
qualsiasi allineamento tra tutti quelli possibili tra le due sequenze può essere
calcolato con la formula sottostante.
Lo score totale dell'allineamento è dato dalla somma degli scores relativi alle
singole coppie di residui appaiati s (ai, , bi ) per tutti i valori di i compresi tra 1 e la
lunghezza (L) dell'allineamento, a cui deve essere sottratta la somma delle
penalità dovute ai gap; quindi per ciascuno dei G gap deve essere calcolata una
penalita γ per I'apertura del gap più una penalita δ per ogni sua singola
estensione.
Pur non essendo I'unico modo possibile di assegnare uno score di similarità il
criterio riportato sopra è utilizzato dai principali programmi di allineamento. II
migliore allineamento tra tutti quelli possibili tra due sequenze è quello che
produce il massimo score, per cui generalmente si adotta lo score del migliore
allineamento come score di similarità delle due sequenze.
sequenza 1
sequenza 2
punteggio
M - N A L S D R T
M G S D R T T E T
6-12 1 0-3 1 0-1 3 = -5
L AM I A SE Q U E N Z A S IAL L I N E A
ALLINEAMENTO A
PARTIRE DA UNA
MATRICE
Congiungendo con una linea
continua le due estremità il alto a
sinistra e in basso a destra
possono essere rappresentati
diversi percorsi, cui corrispondono
altrettanti allineamenti possibili.
SE M P R E P E R C H E
G
Q
G
P
T
C
G
L
A
M
I
A
S
I
G
G
T
D
P
R
E
P
G
K
N
LAMIASEQUENZAALLINEASEMPREPERCHE
Costruendo delle matrici di similarità
capaci di assegnare valori numerici ad
ogni possibile accoppiamento ammino- GQGPTCGLAMIASIGGTD - - - - - - - - - - - - - PREPGKN
acidico e sviluppando algoritmi capaci
di identificare i percorsi con gli score
LAMIASEQUENZ -AALLINEASEMPREPERCHE
più alti è possibile trovare l’allineamento
ottimale di due sequenze.
GQGPTCGLAMIASIGGTDPREPGKN
Le matrici di similarità
A differenza degli acidi nucleici in cui gli appaiamenti tra basi complementari hanno tutti lo stesso valore
di tipo tutto o niente: appaiamento o non appaiamento nel caso delle proteine abbiamo 20 amminoacidi e le
singole sostituzioni amminoacidiche non hanno lo stesso peso. E’ intuitivo capire, per esempio che la
sostituzione di una serina (S) con una treonina (T) oppure di un acido glutammico (E) con un acido
aspartico (D) sono ben tollerate dalle proteine perché i corrispondenti amminoacidi sono molto simili tra loro.
Su questi presupposti sono state costruite delle matrici di similarità costituite da tabelle in cui a ciascun tipo
di sostituzione amminoacidica è assegnato un valore che ne indica il grado di similarità
Sebbene queste matrici possano essere basate sulle proprietà chimico-fisiche dei singoli amminoacidi, le
matrici più usate sono state sviluppate con metodi statistici che indicano la frequenza con cui un amminoacido si sostituisce ad un altro in famiglie di proteine omologhe.
Allineando famiglie di proteine omologhe, infatti, è possibile calcolare la frequenza con cui un certo
amminoacido viene sostituito con un altro, per esempio A → V calcolato come numero di allineamenti A-V
diviso il numero di sequenze allineate e si indica come f A → V . Analogamente si calcolano la frequenza
complessiva di A e di V, come fA e fV. Infine , da questi valori di frequenze si calcolano i valori delle matrici
come
log (f A → V /(fA x fV) )
Il prodotto delle frequenze indica la probabilità che l’allineamento tra V e A avvenga casualmente (l’atteso
per eventi indipendenti) mentre il logaritmo per avere quantità trattabili (numeri con molti decimali)
Probabilità di AA non correlati (modello random) per tutto l’allineamento lo score si
formalizza come segue:
P ( a , b | R ) = C ( a , b ) = ∏ q ai ∏ q bj
i
j
Nel caso invece di Probabilità di AA correlati (modello match) ovvero dovuti all’osservazione che
“a” e “b” in realtà sono AA che derivano da uno stesso antenato “c” sono cioè evolutivamente
correlati il punteggio
P (a, b | M ) = M (a, b) = ∏ pai ,bi
i
Il rapporto di queste entità o “likelihoods” è noto come come “odds ratio” ed è il rapporto di un
evento osservato con quello atteso:
M ( a ,b )
C ( a ,b )
=∏
pai ,bi
qai pbi
i
Per rendere trattabile queste quantità e non perdere decimali nelle moltiplicazioni da effettuare si
trasformano in quantità additive con il logaritmo (log odds ratio):
s (a, b) = log(
pai ,bi
qai pbi
)⎯
⎯→ S = ∑ s (a, b)
i
Le matrici PAM M. Dayhoff (1978)
Il problema fondamentale da affrontare per costruire una matrice di similarità è quello
di convenire su una famiglia di proteine omologhe sulle quali basare i calcoli della
matrice. Le matrici PAM ( Point accepted mutation) sono costruite su sequenze
omologhe che presentano solo l’1% di mutazioni accettate, dove per “accettate” si
intende mutazioni che non alterano la funzione della proteina.
Due sequenze sono dette a 1 PAM di distanza se per convertirle l’una nell’altra si è
verificata, in media, una mutazione ogni 100 amminoacidi.
Da questi dati vengono inferiti tutti gli altri. Sapendo che la probabilità di due eventi
indipendenti è uguale al prodotto delle probabilità possiamo ricavarci valori
corrispondenti a proteine molto più divergenti moltiplicando i valori tra loro. Per
esempio per ricavarci i valori PAM 2, corrispondenti a due proteine con 2
amminoacidi diversi/100 amminoacidi moltiplichiamo tra loro i valori PAM1 x PAM1.
Naturalmente man mano che le sequenze divergono aumenta la probabilità che singole
mutazioni revertano da cui deriva che i valori non coincidono più; per esempio una
matrice PAM 80 non identifica proteine che divergono per l’80% dei loro residui ma
solo del 50%. Per la PAM 250 in cui sono stati calcolati 250 passi evolutivi, ad
esempio, il risultato è che le sequenze mantengono ancora un 20% di identità.
Calcolo di matrici PAM
• Basato su 1572 mutazioni in 71 gruppi di
sequenze simili almeno all’85% per evitare più di
una mutazione nella stessa posizione
• Le mutazioni non alterano significativamente la
funzione delle proteine (mutazioni accettate)
• Le sequenze simili vengono organizzate in alberi
filogenetici dai quali vengono desunte le
mutazioni
Calcolo di matrici PAM
La comprensione delle matrici PAM è complicata dal fatto che con il termine
PAM si possono intendere due cose diverse:
1) le matrici PAM di probabilità di sostituzione,
2) le matrici PAM di punteggi (scoring matrix) come la PAM 240, che sono
utilizzate dai programmi di allineamento. Queste ultime sono calcolate a
partire dalle matrici di probabilità, applicando la seguente formula:
dove s (a, b) è il punteggio (score) da attribute all'appaiamento tra i due
aminoacidi a e b, mentre M (a, b) e C (a, b) sono rispettivamente la probabilità
di sostituzione espressa nella matrice PAM di cui al punto 1) e la probabilità di
appaiamento casuale dei due amminoacidi.
Calcolo di matrici PAM
La probabilità M (a, b) di sostituzione dell'aminoacido a in amminoacido b è
calcolata a partire dalla matrice di probabilità PAM 1 ed equivale alla
probabilità che, a una definita distanza PAM, i due amminoacidi siano
correlati filogeneticamente, cioè siano omologhi.
La probabilità di omologia definita in M(a,b) è divisa per la probabilità C (a, b)
di trovare casualmente I'appaiamento degli stessi amminoacidi, calcolata in
base alla frequenza media di ogni amminoacido, assumendo che tutti gli
amminoacidi si possano appaiare senza alcuna preferenza.
Per esempio, I'appaiamento tra due amminoacidi con frequenze di 0,1 e 0,05
avverrà con una probabilità di 0,005 dovuta al caso. Procedendo
sistematicamente per tutti i valori della matrice, sono calcolati i rapporti di
probabilità (definiti odds) che in pratica rappresentano quante volte la
probabilità di omologia sia maggiore della probabilità casuale.
Calcolo di matrici PAM
I rapporti di probabilità calcolati sono convertiti nei loro logaritmi (log odds) in
modo che nel calcolo globale del punteggio di un allineamento possano
essere sommati piuttosto che moltiplicati tra loro, rendendo piu semplici i
calcoli.
Valori pari a 0 significano che la probabilità di omologia è uguale alla
probabilità di appaiamento casuale, mentre valori positivi e negativi indicano
rispettivamente una maggiore o minore probabilità di omologia o di
appaiamento casuale.
Generalmente i log odds sono moltiplicati per una costante e arrotondati a
numero intero per costituire le matrici PAM comunemente usate dai
programmi di allineamento.
Più le sequenze sono distanti e più le PAM che devono essere usate
avranno un numero alto.
Matrice BLOSUM (Henikoff &
Henikoff, 1992)
• Blocks Amino Acid Substitution Matrices
= BLOSUM
• Basata sulle sostituzioni amminoacidiche
osservate in ~2000 blocchi conservati di
sequenze.
• Questi blocchi sono stati estratti da una
banca dati di 500 famiglie di proteine
• Sono contati gli scambi amminoacidici
osservati in ciascuna colonna
Calcolo di matrici BLOSUM
Il calcolo della matrice è simile a quello delle PAM ma il termine M(a,b) è
relativo alla probabilità di sostituzione negli allineamenti delle famiglie
proteiche del database BLOCKS.
Il database BLOCKS ha allineamenti di sequenze che sono simili tra loro
per una data soglia P che varia in genere da 35% a 95% di identità. Una
famiglia di BLOCKS 50 ha sequenze allineate con >= 50% identità tra
loro.
DIFFERENZE TRA PAM E BLOSUM
1) PAM minori servono per allineare sequenze strettamente correlate PAM maggiori
servono per allineare sequenze tra loro distanti viceversa per le BLOSUM
2) Troppo poche sequenze utilizzate per ricavare la matrice di Dayhoff e propagazione
dell’errore dalla PAM1 alla PAM250
3) Per le matrici BLOSUM non si fa alcuna assunzione di omologia visto che derivano
da blocchi conservati di sequenza. È una osservazione diretta
4) Le matrici PAM tendono a dare un peso maggiore alle sostituzioni aminoacidiche
che derivano dalla mutazione di una singola base (tirosina/fenilalanina)
penalizzando quelle più complesse.
5) Le matrici BLOSUM per tali ragione sono forse più adatte per la valutazione degli
allineamenti
C
A
G
T
Il codice genetico
T
TTT Phe (F)
TTC "
TTA Leu (L)
TTG "
TCT Ser (S)
TCC "
TCA "
TCG "
TAT Tyr (Y)
TAC
TAA Ter
TAG Ter
TGT Cys (C)
TGC
TGA Ter
TGG Trp (W)
C
CTT Leu (L)
CTC "
CTA "
CTG "
CCT Pro (P)
CCC "
CCA "
CCG "
CAT His (H)
CAC "
CAA Gln (Q)
CAG "
CGT Arg (R)
CGC "
CGA "
CGG "
A
ATT Ile (I)
ATC "
ATA "
ATG Met (M)
ACT Thr (T)
ACC "
ACA "
ACG "
AAT Asn (N)
AAC "
AAA Lys (K)
AAG "
AGT Ser (S)
AGC "
AGA Arg (R)
AGG "
G
GTT Val (V)
GTC "
GTA "
GTG "
GCT Ala (A)
GCC "
GCA "
GCG "
GAT Asp (D)
GAC "
GAA Glu (E)
GAG "
GGT Gly (G)
GGC "
GGA "
GGG "
DIFFERENZE TRA PAM E BLOSUM
•
•
•
•
PAM è basato su un modello evolutivo
BLOSUM è basato su famiglie proteiche.
PAM è basato su allineamento globale.
BLOSUM è basato su allineamento
locale.