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.