Vai alla Home Page About me Courseware Federica Living Library Federica Federica Podstudio Virtual Campus 3D Le Miniguide all'orientamento Gli eBook di Federica La Corte in Rete
 
I corsi di Scienze Biotecnologiche
 
Il Corso Le lezioni del Corso La Cattedra
 
Materiali di approfondimento Risorse Web Il Podcast di questa lezione

Giovanni Paolella » 12.Matrici di punteggio


Biotecnologie cellulari e molecolari

Matrici di punteggio

Prof. Giovanni Paolella

Dott. Leandra Sepe

Allineamenti e punteggi

La scelta del migliore allineamento dipende, come abbiamo visto, dai criteri utilizzati per calcolare il punteggio, ed è quindi molto importante fare attenzione ai criteri selezionati. Finora abbiamo lavorato dando criteri abbastanza semplici, come ad esempio:

  • Match = 1
  • Mismatch = 0
  • Gap = -1

Abbiamo inoltre provato varianti in cui il mismatch può assumere valori negativi, oppure l’uso di valori molto negativi per il gap, che ne sfavorisce l’introduzione nell’allineamento. In realtà è possibile introdurre ulteriori complicazioni, per meglio adattare la ricerca dell’allineamento al modello sperimentale, come ad esempio valori diversi per l’inizio di un gap o la sua estensione.

Questi criteri di calcolo del punteggio implicano che le regole possono variare sulla base del tipo di sequenza (DNA, RNA o proteine) ma anche in dipendenza dal tipo di analisi che viene effettuato e dal grado di affidabilità delle sequenze stesse. Ad esempio l’introduzione di gap deve essere scoraggiata se comporta perdita di funzionalità, mentre è irrilevante se la qualità delle sequenze usate è scarsa, e pertanto la eventuale introduzione di gap non fa altro che compensare errori di sequenziamento

Regole per punteggio

L’area però nella quale è probabilmente più importante introdurre complessità è quella del punteggio dato ai match e ai mismatch. Infatti i mismatch rappresentano variazioni di diversa rilevanza: in molti casi, l’ipotetica sostituzione di aminoacidi o nucleotidi con altri molto diversi sarebbe causa di notevoli alterazioni nella struttura finale della molecola, mentre la sostituzione con monomeri strutturalmente simili, spesso non comporta variazioni rilevanti. Nel primo caso si tratta di un vero mismatch, mentre nel secondo un punteggio intermedio tra il match e il mismatch descriverebbe meglio la differenza tra le due molecole. Esempi di regole che tengono conto di queste considerazioni sono riportati di seguito:
Regola per il calcolo del punteggio per sequenze di acidi nucleici:
⋅Match 1
⋅Mismatch Purina-purina 0.5
⋅Mismatch Pirimidina-pirimidina 0.5
⋅Altri Mismatch 0
⋅Gap -1

Regola per il calcolo del punteggio per sequenze di proteine

⋅Match 1
⋅Mismatch Glutammico-aspartico 0.5 … …
⋅Altri Mismatch 0
⋅Gap -1

Implementazione delle regole per il punteggio

L’introduzione di regole complesse per il calcolo del punteggio, implica variazioni nel codice di programmi di allineamento. Il codice necessario per applicare le regole predette, assume la forma di una serie di istruzioni da eseguire solo se si presentano specifiche condizioni, come quelle indicate in figura 1. In pratica questa soluzione complica il codice, e limita i criteri di punteggio a quelli introdotti nel corso della scrittura del programma; l’introduzione di ogni nuovo criterio, richiede la creazione di una variante del codice. Inoltre non è neanche molto effficiente, perchè può arrivare a richiedere un gran numero di istruzioni per ciascun confronto. Se si introduce il concetto di matrice di punteggi, il codice descritto può essere sostituito da una sola riga:

$score= $matrix[$nucA][$nucB];

In cui il punteggio viene semplicemente letto in una matrice bidimensionale di punteggi, in cui sono riportati punteggi per ciascun confronto possibile. Ad esempio in figura 2, la matrice riporta il valore 1 sulle caselle della diagonale, che corrispondono ai match fra basi identiche, mentre riporta il valore di 0,5 per le sostituzioni tra purine e tra pirimidine. La regola inizialmente indicata (match=1/mismatch=0) diviene un caso particolare di matrice, la matrice di identità, riportata in figura 3. L’uso di matrici rende il codice più efficiente, perchè richiede un minor numero di operazioni, ed è anche più flessibile nell’uso, perchè non richiede modifiche al codice del programma. Se la matrice è contenuta, ad esempio, in un file e viene fornita come dato nel momento in cui avviene l’esecuzione, è possibile usare anche matrici costruite dopo la scrittura del programma.


Matrici per il confronto di proteine

Per il confronto di proteine le matrici permettono di introdurre regole anche molto complesse. In figura 1 è riportata una matrice per il confronto di proteine che include le regole indicate in figura 2, che assegnano il valore di 0.5 alla sostituzione tra due aminoacidi acidi cosi’ come a quelle tra alcuni aminoacidi neutri.

Applicando regole diverse, è possibile produrre matrici che rispondono a criteri differenti; esempi sono:

  • Matrici che riflettono la similarità biochimica tra aminoacidi, come ad esempio quella descritta sopra; naturalmente è possibile tener conto anche della similarità tra aminoacidi basici, aromatici, o di altri criteri.
  • Matrici per similarità di codon, che riflettono il numero di eventi mutazionali necessari per trasformare il codon per un aminoacido in quello per un altro. Matrici di questo tipo dovrebbero tener conto del fatto che un aminoacido può essere codificato da più codon.

Un criterio molto usato è quello statistico, che fa riferimento alle sostituzioni osservate in campioni di sequenze proteiche note, che siano rappresentativi di gruppi definiti di proteine. Esempi di matrici generate sulla base di questi criteri sono le matrici di tipo PAM e BLOSUM.


Matrici PAM

Le matrici di tipo PAM si basano sul concetto di Percent Accepted Mutation (PAM). Due proteine distano 1 PAM se si differenziano per 1 aminoacido su 100 e se la mutazione è accepted, cioè non ha portato a perdita di funzionalità. Esempi di questo tipo sono proteine ortologhe, ma non mutazioni patologiche che si associano invece a perdita di funzionalità.

Per generare una matrice PAM, si parte da proteine molto simili come quelle di figura 1, in cui l’allineamento può essere definito senza ambiguità. A partire da queste, viene genarata la matrice PAM 1 (figura 2). Le matrici PAM di ordine superiore vengono generate per successive moltiplicazioni della matrice PAM 1 (figura 3) perchè la probabilità di due eventi indipendenti è pari al prodotto delle probabilità di ciascun evento singolo.

Mentre per la matrice PAM 1 è vero che 1 evento mutazionale corrisponde ad una differenza dell’1%, questo non è vero per le matrici di ordine superiore. Infatti, le successive mutazioni hanno una probabilità via via crescente di cadere in corrispondenza di aminoacidi già mutati. Il grado di differenza aumenta con l’aumentare del numero di mutazioni, ma mentre quest’ultimo può aumentare all’infinito, la differenza tende asintoticamente al 100%. In figura 4 è riportata una rappresentazione grafica di questo fenomeno, insieme con una tabella riassuntiva che compara valori di PAM con percentuali di similarità (definita come 100-differenza percentuale).


PAM250

La matrice PAM comunemente usata non contiene direttamente la probabilità della sostituzione di due aminoacidi, ma piuttosto il rapporto tra la frequenza osservata e la frequenza attesa, calcolata sulla base delle frequenze relative degli aminoacidi coinvolti nella sostituzione. Inoltre questi valori sono rappresentati come logaritmo del rapporto stesso, per evitare l’introduzione di numeri molto piccoli. Un vantaggio di questa operazione è che il punteggio può essere calcolato mediante somma piuttosto che per moltiplicazione. Osservando i valori riportati nelle caselle della matrice è possibile notare innanzitutto che i valori più alti si trovano lungo la diagonale della matrice, laddove non c’è stata sostituzione. Valori elevati si riscontrano anche per sostituzione di alcuni aminoacidi dello stesso tipo, come prevedibile: ad esempio sostituzioni lisina-arginina o glutammico-aspartico hanno valori simili a quelli presenti sulla diagonale. Valori piuttosto alti si osservano anche per sostituzioni tra aminoacidi di dimensioni simili come alanina, serina e treonina. La sostituzione di aminoacidi idrofobici tra loro non sempre porta a valori elevati. Infine anche i valori lungo la diagonale, che indicano la conservazione di un aminoacido, non sono tutti ugualmente elevati: la conservazione di aminoacidi rari come il triptofano o di difficile sostituzione come la cisteina, danno punteggi molto elevati, mentre la conservazione di aminoacidi comuni e non richiesti per funzionalità specifiche, risulta in valori piuttosto bassi.


BLOSUM

Una critica alle matrici PAM è che si finisce per usare matrici derivate da proteine molto vicine tra di loro, PAM 1, per studiare il comportamento di proteine distanti, PAM250. Un modo alternativo di affrontare il problema consiste nel partire da allineamenti multipli di un gran numero di proteine, che condividono una similarità maggiore di un valore soglia. Le matrici più comunemente usate, le BLOSUM, sono state ottenute a partire da allineamenti del genere, disponibili nel database BLOCKS. Anche queste matrici costituiscono una famiglia, in cui indici diversi indicano differente percentuale di similarità tra proteine usate per generare la matrice: per esempio BLOSUM 62, indica una matrice generata a partire da proteine aventi una similarità minima del 62%, come rappresentato in figura 1.

Anche per queste matrici viene utilizzata una conversione in forma logaritmica. Un esempio è riportato in figura 2.


Uso di matrici

Le matrici descritte possono essere utilizzate all’interno di qualsiasi programma che preveda il calcolo di un punteggio per l’allineamento.

L’originale descrizione dell’algoritmo di Needleman e Wunsch non prevedeva l’utilizzo di matrici di punteggio, tuttavia i programmi sviluppati recentemente che utilizzano lo stesso algoritmo, si avvantaggiano del loro utilizzo. Inoltre anche la maggioranza degli altri programmi di allineamento consente di selezionare il tipo di matrice di punteggio da utilizzare. Anche programmi per il calcolo di matrici di punti possono utilizzare matrici di punteggio, riportando soltanto le window che raggiungano un punteggio superiore alla soglia, come per l’output del programma dotmatcher, riportato in figura.


  • Contenuti protetti da Creative Commons
  • Feed RSS
  • Condividi su FriendFeed
  • Condividi su Facebook
  • Segnala su Twitter
  • Condividi su LinkedIn
Progetto "Campus Virtuale" dell'Università degli Studi di Napoli Federico II, realizzato con il cofinanziamento dell'Unione europea. Asse V - Società dell'informazione - Obiettivo Operativo 5.1 e-Government ed e-Inclusion