Allineamento Pairwise e Multiplo di Bio-Sequenze.

Slides:



Advertisements
Presentazioni simili
Cosa sono? Come si risolvono?
Advertisements

Premessa: si assume di aver risolto (correttamente
UNIVERSITA’ DI MILANO-BICOCCA LAUREA MAGISTRALE IN BIOINFORMATICA
Prof. Salvatore Di Gregorio Dr. William Spataro Dr. Donato D’Ambrosio
Sequenza-struttura-funzione
gruppi di amminoacidi in base alle catene laterali
RICERCA DI SIMILARITA’ IN BANCHE DATI
Allineamento di sequenze
Chiara Mocenni - Sistemi di Supporto alle Decisioni I – aa Sistemi di Supporto alle Decisioni I Dynamic Programming Chiara Mocenni Corso di.
Chiara Mocenni - Sistemi di Supporto alle Decisioni I – aa Sistemi di Supporto alle Decisioni I Scelte di consumo Chiara Mocenni Corso di laurea.
Hash Tables Indirizzamento diretto Tabelle Hash Risoluzioni di collisioni Indirizzamento aperto.
I programmi di ricerca in banche dati possono essere oppure essere utilizzabili via web residenti in un calcolatore di cui siamo proprietari o utenti.
Capitolo 10 Tecniche algoritmiche Algoritmi e Strutture Dati.
Capitolo 10 Tecniche algoritmiche Algoritmi e Strutture Dati.
Macchine non completamente specificate
Capitolo 10 Tecniche algoritmiche Algoritmi e Strutture Dati.
Alberi di Ricorrenza Gli alberi di ricorrenza rappresentano un modo conveniente per visualizzare i passi di sostitu- zione necessari per risolvere una.
Algoritmi e Strutture Dati (Mod. B)
Biologia computazionale
Studente Claudia Puzzo
Metodi basati sulle similitudini per dedurre la funzione di un gene
Analisi delle corrispondenze
Analisi dei gruppi – Cluster Analisys
1) Algoritmi di allineamento 2) Algoritmi di ricerca in database
Intelligenza Artificiale Algoritmi Genetici
Espressioni condizionali
Allineamento Metodo bioinformatico che date due o più sequenze ne mette in evidenza similarità/diversità, supponendo che le sequenze analizzate abbiano.
Algoritmi di String Matching
ALLINEAMENTI GLOBALI E LOCALI
FASTA: Lipman & Pearson (1985) BLAST: Altshul (1990)
Elementi di Informatica di base
Allineamenti multipli
Passo 3: calcolo del costo minimo
Algoritmi e Strutture Dati
Ricerca di similarità di sequenza (FASTA e BLAST)
Tipi di allineamenti.
I programmi di ricerca in banche dati possono essere
Costruire una tabella pivot che riepiloghi il totale del fatturato di ogni agente per categorie di vendita, mese per mese. Per inserire una tabella pivot.
MUTAZIONE: cambio di un bit Viene effettuata con bassa frequenza, ad es. 1bit ogni 1000 Ha la funzione di recupero di eventuali perdite di informazione.
Rete di Hopfield applicata al problema del TSP Federica Bazzano
Cationi e Anioni in cerca di nuovi partner ;o)
La ricorsione.
Esempio di utilizzo del programma BLAST disponibile all’NCBI
Didattica e Fondamenti degli Algoritmi e della Calcolabilità Terza giornata: principali classi di complessità computazionale dei problemi Guido Proietti.
Purtroppo non esiste un modo univoco per indicare un gene
1 Interpretazione astratta: un approccio sistematico all’analisi statica.
Capitolo 10 Tecniche algoritmiche Algoritmi e Strutture Dati.
Capitolo 10 Tecniche algoritmiche Algoritmi e Strutture Dati.
Docente: Dr. Stefania Bortoluzzi Dipartimento di Biologia Universita' di Padova viale G. Colombo 3, 35131, Padova Tel
III LEZIONE Allineamento di sequenze
Il Problema del Commesso Viaggiatore. Traveling Salesman’s Problem (TSP) Un commesso viaggiatore deve visitare un certo numero di città Conosce la distanza.
WORKING WITH BIOSEQUENCES Alignments and similarity search.
Allineamento di sequenze
ALLINEAMENTO DI SEQUENZE
Codici prefissi Un codice prefisso è un codice in cui nessuna parola codice è prefisso (parte iniziale) di un’altra Ogni codice a lunghezza fissa è ovviamente.
Automi temporizzati.
Flusso di Costo Minimo Applicazione di algoritmi: Cammini Minimi Successivi (SSP) Esercizio 1 Sia data la seguente rete di flusso, in cui i valori riportati.
Problemi risolvibili con la programmazione dinamica Abbiamo usato la programmazione dinamica per risolvere due problemi. Cerchiamo ora di capire quali.
Università degli Studi di Cagliari FACOLTA’ DI INGEGNERIA
Capitolo 10 Tecniche algoritmiche Algoritmi e Strutture Dati.
Una volta stabilito che un insieme di proteine sono tra di loro omologhe posso procedere ad un allineamento multiplo. Il programma più usato a questo scopo.
Allineamento di sequenze Perché è importante? Le caratteristiche funzionali delle molecole biologiche dipendono dalle conformazione tridimensionale che.
Sistema di ricerca Entrez Insieme di banche dati contenenti svariati tipi di informazioni biomediche, interrogabile mediante un’unica interfaccia Concetto.
Sistemi di equazioni lineari. Sistemi di primo grado di due equazioni a due incognite Risolvere un sistema significa trovare la coppia di valori x e y.
Regressione lineare Misure Meccaniche e Termiche - Università di Cassino2 Distribuzioni Correlate Una variabile casuale z, può derivare dalla composizione.
Parsing ricorsivo discendente Il parsing ricorsivo discendente (recursive descent parsing) è un metodo di tipo top-down che può essere facilmente codificato.
Esempio di allineamento Due regioni simili delle proteine di Drosophila melanogaster Slit e Notch SLIT_DROME FSCQCAPGYTGARCETNIDDCLGEIKCQNNATCIDGVESYKCECQPGFSGEFCDTKIQFC..:.:
ALGORITMI, LINGUAGGI E PROGRAMMI Facoltà di Lingue e Letterature Straniere Corso di laurea in Relazioni Pubbliche.
Allineamenti Multipli Problema Durante l’evoluzione i residui importanti per il mantenimento della struttura e della funzione sono conservati. Come riconoscere.
Lezione n. Parole chiave: Corso di Laurea: Insegnamento: Docente: A.A Salvatore Cuomo La ricorsione 15 Approccio ricorsivo, esercizi sulla.
Transcript della presentazione:

Allineamento Pairwise e Multiplo di Bio-Sequenze

Confronto fra Biosequenze I polimeri biologici a più alto ocntenuto di informazione sono gli acidi nucleici e le proteine. I polimeri biologici a più alto ocntenuto di informazione sono gli acidi nucleici e le proteine. Le unità informative di base sono rispettivamente le 4 basi azotate ed i 20 aminocidi. Le unità informative di base sono rispettivamente le 4 basi azotate ed i 20 aminocidi. Perché è possibile confrontare biosequenze? Perché è possibile confrontare biosequenze? Quali sono gli obiettivi di un confronto di sequenze? Quali sono gli obiettivi di un confronto di sequenze? Filogenesi molecolare; Filogenesi molecolare; Evoluzione dei singoli genomi (confronto tra banche dati); Evoluzione dei singoli genomi (confronto tra banche dati); Caratterizzazione di proteine con funzione sconosciuta (ed identificazione di domini funzionali). Caratterizzazione di proteine con funzione sconosciuta (ed identificazione di domini funzionali). Possibilità di identificare mutazioni responsabili di un fenotipo Possibilità di identificare mutazioni responsabili di un fenotipo I polimeri biologici a più alto ocntenuto di informazione sono gli acidi nucleici e le proteine. I polimeri biologici a più alto ocntenuto di informazione sono gli acidi nucleici e le proteine. Le unità informative di base sono rispettivamente le 4 basi azotate ed i 20 aminocidi. Le unità informative di base sono rispettivamente le 4 basi azotate ed i 20 aminocidi. Perché è possibile confrontare biosequenze? Perché è possibile confrontare biosequenze? Quali sono gli obiettivi di un confronto di sequenze? Quali sono gli obiettivi di un confronto di sequenze? Filogenesi molecolare; Filogenesi molecolare; Evoluzione dei singoli genomi (confronto tra banche dati); Evoluzione dei singoli genomi (confronto tra banche dati); Caratterizzazione di proteine con funzione sconosciuta (ed identificazione di domini funzionali). Caratterizzazione di proteine con funzione sconosciuta (ed identificazione di domini funzionali). Possibilità di identificare mutazioni responsabili di un fenotipo Possibilità di identificare mutazioni responsabili di un fenotipo

Confronto fra biosequenze (2) La filogenesi classica è basata sullosservazione di caratteristiche morfologiche e fisologiche. La filogenesi classica è basata sullosservazione di caratteristiche morfologiche e fisologiche. La filogenesi molecolare è basata sulla tendenza a divergere che hanno sequenze nucleotidiche o aminoacidiche originatesi da un progenitore comune. Consente di costruire alberi filogenetici che illustrino le distanze ed i rapporti evolutivi tra le molecole analizzate. La filogenesi molecolare è basata sulla tendenza a divergere che hanno sequenze nucleotidiche o aminoacidiche originatesi da un progenitore comune. Consente di costruire alberi filogenetici che illustrino le distanze ed i rapporti evolutivi tra le molecole analizzate. La filogenesi classica è basata sullosservazione di caratteristiche morfologiche e fisologiche. La filogenesi classica è basata sullosservazione di caratteristiche morfologiche e fisologiche. La filogenesi molecolare è basata sulla tendenza a divergere che hanno sequenze nucleotidiche o aminoacidiche originatesi da un progenitore comune. Consente di costruire alberi filogenetici che illustrino le distanze ed i rapporti evolutivi tra le molecole analizzate. La filogenesi molecolare è basata sulla tendenza a divergere che hanno sequenze nucleotidiche o aminoacidiche originatesi da un progenitore comune. Consente di costruire alberi filogenetici che illustrino le distanze ed i rapporti evolutivi tra le molecole analizzate.

Similarità e Omologia Similarità: somiglianza nella composizione di due sequenze biologiche Similarità: somiglianza nella composizione di due sequenze biologiche Omologia: relazione filogenetica tra due sequenze. Omologia: relazione filogenetica tra due sequenze. Spesso 2 sequenze omologhe hanno un elevato grado di omologia, ma possono divergere per mutazione ed evoluzione: possono restare omologhe anche se non troppo simili. Le regioni che tendono a restare simili sono quelle più importanti per lattività della proteina Similarità: somiglianza nella composizione di due sequenze biologiche Similarità: somiglianza nella composizione di due sequenze biologiche Omologia: relazione filogenetica tra due sequenze. Omologia: relazione filogenetica tra due sequenze. Spesso 2 sequenze omologhe hanno un elevato grado di omologia, ma possono divergere per mutazione ed evoluzione: possono restare omologhe anche se non troppo simili. Le regioni che tendono a restare simili sono quelle più importanti per lattività della proteina

Allineamento di sequenze Per poter procedere al confronto tra sequenze nucleotidiche o tra sequenze proteiche è necessario che queste sequenze vengano allineate. Per poter procedere al confronto tra sequenze nucleotidiche o tra sequenze proteiche è necessario che queste sequenze vengano allineate. Questo è un esempio di allineamento multiplo di 5 brevi sequenze aminoacidiche. Questo è un esempio di allineamento multiplo di 5 brevi sequenze aminoacidiche. Per poter procedere al confronto tra sequenze nucleotidiche o tra sequenze proteiche è necessario che queste sequenze vengano allineate. Per poter procedere al confronto tra sequenze nucleotidiche o tra sequenze proteiche è necessario che queste sequenze vengano allineate. Questo è un esempio di allineamento multiplo di 5 brevi sequenze aminoacidiche. Questo è un esempio di allineamento multiplo di 5 brevi sequenze aminoacidiche.

Allineamento di stringhe Cominciamo con laffrontare il problema più generale dellallineamento di una coppia di stringhe. Cominciamo con laffrontare il problema più generale dellallineamento di una coppia di stringhe. Date due stringhe acbcdb e cadbd, in che modo possiamo stabilire quanto sono simili? Date due stringhe acbcdb e cadbd, in che modo possiamo stabilire quanto sono simili? La similarità scaturisce dallallineamento ottimale delle due stringhe. Ecco un possibile allineamento: La similarità scaturisce dallallineamento ottimale delle due stringhe. Ecco un possibile allineamento: a c - - b c d b - c a d b - d - Il carattere speciale - rappresenta linserimento di uno spazio, che sta a significare una cancellazione nella sequenza o, equivalentemente, uninserzione nellaltra sequenza (Operazioni di INDEL). Il carattere speciale - rappresenta linserimento di uno spazio, che sta a significare una cancellazione nella sequenza o, equivalentemente, uninserzione nellaltra sequenza (Operazioni di INDEL). Cominciamo con laffrontare il problema più generale dellallineamento di una coppia di stringhe. Cominciamo con laffrontare il problema più generale dellallineamento di una coppia di stringhe. Date due stringhe acbcdb e cadbd, in che modo possiamo stabilire quanto sono simili? Date due stringhe acbcdb e cadbd, in che modo possiamo stabilire quanto sono simili? La similarità scaturisce dallallineamento ottimale delle due stringhe. Ecco un possibile allineamento: La similarità scaturisce dallallineamento ottimale delle due stringhe. Ecco un possibile allineamento: a c - - b c d b - c a d b - d - Il carattere speciale - rappresenta linserimento di uno spazio, che sta a significare una cancellazione nella sequenza o, equivalentemente, uninserzione nellaltra sequenza (Operazioni di INDEL). Il carattere speciale - rappresenta linserimento di uno spazio, che sta a significare una cancellazione nella sequenza o, equivalentemente, uninserzione nellaltra sequenza (Operazioni di INDEL).

Similarità e distanza a c - c b c d b - c a d b - d - Per valutare il grado di correlazione tra stringhe possiamo calcolare la similarità o la distanza. Per valutare il grado di correlazione tra stringhe possiamo calcolare la similarità o la distanza. Alta similarità -> bassa distanza, Bassa similarità -> elevata distanza. Alta similarità -> bassa distanza, Bassa similarità -> elevata distanza. a c - c b c d b - c a d b - d - Per valutare il grado di correlazione tra stringhe possiamo calcolare la similarità o la distanza. Per valutare il grado di correlazione tra stringhe possiamo calcolare la similarità o la distanza. Alta similarità -> bassa distanza, Bassa similarità -> elevata distanza. Alta similarità -> bassa distanza, Bassa similarità -> elevata distanza.

Distanza di Editing E possibile calcolare la distanza tra due stringhe utilizzando, per esempio, la distanza di editing. E possibile calcolare la distanza tra due stringhe utilizzando, per esempio, la distanza di editing. La distanza di editing è definita come il minimo numero di operazioni da eseguire (inserimenti, cancellazioni, sostituzioni) per trasformare una stringa in unaltra. La distanza di editing è definita come il minimo numero di operazioni da eseguire (inserimenti, cancellazioni, sostituzioni) per trasformare una stringa in unaltra. In questo caso per trasformare la prima stringa nella seconda dobbiamo inserire una g, sostituire una c con una t e cancellare una g. La distanza di editing tra le due stringhe è dunque 3. In questo caso per trasformare la prima stringa nella seconda dobbiamo inserire una g, sostituire una c con una t e cancellare una g. La distanza di editing tra le due stringhe è dunque 3. E possibile calcolare la distanza tra due stringhe utilizzando, per esempio, la distanza di editing. E possibile calcolare la distanza tra due stringhe utilizzando, per esempio, la distanza di editing. La distanza di editing è definita come il minimo numero di operazioni da eseguire (inserimenti, cancellazioni, sostituzioni) per trasformare una stringa in unaltra. La distanza di editing è definita come il minimo numero di operazioni da eseguire (inserimenti, cancellazioni, sostituzioni) per trasformare una stringa in unaltra. In questo caso per trasformare la prima stringa nella seconda dobbiamo inserire una g, sostituire una c con una t e cancellare una g. La distanza di editing tra le due stringhe è dunque 3. In questo caso per trasformare la prima stringa nella seconda dobbiamo inserire una g, sostituire una c con una t e cancellare una g. La distanza di editing tra le due stringhe è dunque 3. a - c c t g a a g c t t - a

La scoring function: similarità In generale è possibile valutare il grado di similarità o la distanza tra due stringhe, assegnando un punteggio (score) allallineamento utilizzando unopportuna scoring function. In generale è possibile valutare il grado di similarità o la distanza tra due stringhe, assegnando un punteggio (score) allallineamento utilizzando unopportuna scoring function. Per esempio, se assegniamo un punteggio di +2 per ogni match esatto e un punteggio di -1 per ogni mismatch o indel, la similarità tra le due sequenze secondo lallineamento considerato sarà: Per esempio, se assegniamo un punteggio di +2 per ogni match esatto e un punteggio di -1 per ogni mismatch o indel, la similarità tra le due sequenze secondo lallineamento considerato sarà: In generale è possibile valutare il grado di similarità o la distanza tra due stringhe, assegnando un punteggio (score) allallineamento utilizzando unopportuna scoring function. In generale è possibile valutare il grado di similarità o la distanza tra due stringhe, assegnando un punteggio (score) allallineamento utilizzando unopportuna scoring function. Per esempio, se assegniamo un punteggio di +2 per ogni match esatto e un punteggio di -1 per ogni mismatch o indel, la similarità tra le due sequenze secondo lallineamento considerato sarà: Per esempio, se assegniamo un punteggio di +2 per ogni match esatto e un punteggio di -1 per ogni mismatch o indel, la similarità tra le due sequenze secondo lallineamento considerato sarà: a c - c b c d b a c a d b - d -

La scoring function: distanza Se assegniamo uno score pari a 0 nel caso di matches, pari ad 1 in caso di sostituzione di caratteri e pari a 2 in caso di allineamento con uno spazio, la distanza tra le due stringhe precedenti secondo lallineamento considerato è: Se assegniamo uno score pari a 0 nel caso di matches, pari ad 1 in caso di sostituzione di caratteri e pari a 2 in caso di allineamento con uno spazio, la distanza tra le due stringhe precedenti secondo lallineamento considerato è: a c - c b c d b a c a d b - d -

La scoring function (2) Più formalmente: Più formalmente: Se x e y sono singoli caratteri o spazi, allora con il simbolo denotiamo lo score dellallineamento di x con y; è la scoring function. Se x e y sono singoli caratteri o spazi, allora con il simbolo denotiamo lo score dellallineamento di x con y; è la scoring function. Ovviamente possiamo costruire delle scoring function ad hoc per ogni problema; se, ad esempio, volessimo costruire una scoring function per il confronto di aminoacidi, faremmo in modo da tenere presenti le similarità chimico- fisiche e le differenze tra gli aminoacidi stessi. Ovviamente possiamo costruire delle scoring function ad hoc per ogni problema; se, ad esempio, volessimo costruire una scoring function per il confronto di aminoacidi, faremmo in modo da tenere presenti le similarità chimico- fisiche e le differenze tra gli aminoacidi stessi. Più formalmente: Più formalmente: Se x e y sono singoli caratteri o spazi, allora con il simbolo denotiamo lo score dellallineamento di x con y; è la scoring function. Se x e y sono singoli caratteri o spazi, allora con il simbolo denotiamo lo score dellallineamento di x con y; è la scoring function. Ovviamente possiamo costruire delle scoring function ad hoc per ogni problema; se, ad esempio, volessimo costruire una scoring function per il confronto di aminoacidi, faremmo in modo da tenere presenti le similarità chimico- fisiche e le differenze tra gli aminoacidi stessi. Ovviamente possiamo costruire delle scoring function ad hoc per ogni problema; se, ad esempio, volessimo costruire una scoring function per il confronto di aminoacidi, faremmo in modo da tenere presenti le similarità chimico- fisiche e le differenze tra gli aminoacidi stessi.

Allineamento Pairwise Sia S una sequenza. Con il simbolo |S| denotiamo la lunghezza di S e con S[i] indichiamo li-esimo carattere di S. Sia S una sequenza. Con il simbolo |S| denotiamo la lunghezza di S e con S[i] indichiamo li-esimo carattere di S. Con il termine residuo denotiamo un singolo carattere di una sequenza biologica. Con il termine residuo denotiamo un singolo carattere di una sequenza biologica. Se ad es. S = acbcdb, avremo |S|=6 e S[3]=b. Se ad es. S = acbcdb, avremo |S|=6 e S[3]=b. Siano S e T due sequenze. Un allineamento A associa ad S e T le sequenze S e T, che possono contenere simboli di spazio -, in modo che Siano S e T due sequenze. Un allineamento A associa ad S e T le sequenze S e T, che possono contenere simboli di spazio -, in modo che |S|=|T| |S|=|T| Rimuovendo gli spazi da S e T otteniamo S e T. Rimuovendo gli spazi da S e T otteniamo S e T. Sia S una sequenza. Con il simbolo |S| denotiamo la lunghezza di S e con S[i] indichiamo li-esimo carattere di S. Sia S una sequenza. Con il simbolo |S| denotiamo la lunghezza di S e con S[i] indichiamo li-esimo carattere di S. Con il termine residuo denotiamo un singolo carattere di una sequenza biologica. Con il termine residuo denotiamo un singolo carattere di una sequenza biologica. Se ad es. S = acbcdb, avremo |S|=6 e S[3]=b. Se ad es. S = acbcdb, avremo |S|=6 e S[3]=b. Siano S e T due sequenze. Un allineamento A associa ad S e T le sequenze S e T, che possono contenere simboli di spazio -, in modo che Siano S e T due sequenze. Un allineamento A associa ad S e T le sequenze S e T, che possono contenere simboli di spazio -, in modo che |S|=|T| |S|=|T| Rimuovendo gli spazi da S e T otteniamo S e T. Rimuovendo gli spazi da S e T otteniamo S e T.

Allineamento Pairwise Lo score dellallineamento di una coppia di sequenze è dato da: Lo score dellallineamento di una coppia di sequenze è dato da: Dove l =|S|=|T|. Dove l =|S|=|T|. Lallineamento ottimale di S e T è quello che massimizza la similarità tra le sequenze o che minimizza la loro distanza. Lallineamento ottimale di S e T è quello che massimizza la similarità tra le sequenze o che minimizza la loro distanza. Nel seguito utilizzeremo il termine score per indicare il grado di similarità tra sequenze. Nel seguito utilizzeremo il termine score per indicare il grado di similarità tra sequenze. Lo score dellallineamento di una coppia di sequenze è dato da: Lo score dellallineamento di una coppia di sequenze è dato da: Dove l =|S|=|T|. Dove l =|S|=|T|. Lallineamento ottimale di S e T è quello che massimizza la similarità tra le sequenze o che minimizza la loro distanza. Lallineamento ottimale di S e T è quello che massimizza la similarità tra le sequenze o che minimizza la loro distanza. Nel seguito utilizzeremo il termine score per indicare il grado di similarità tra sequenze. Nel seguito utilizzeremo il termine score per indicare il grado di similarità tra sequenze.

Matrici di Sostituzione Un particolare allinemento è casulae o biologicamnete significativo? E possibile quentificare la sua significatività biologica? Un particolare allinemento è casulae o biologicamnete significativo? E possibile quentificare la sua significatività biologica? Abbiamo visto che la scoring function associa un valore numerico ad ogni coppia di caratteri. Abbiamo visto che la scoring function associa un valore numerico ad ogni coppia di caratteri. Le matrici di sostituzione associano un valore numerico ad ogni possibile coppia di aminoacidi, tenendo conto delle similarità chimiche tra di essi. Le matrici di sostituzione associano un valore numerico ad ogni possibile coppia di aminoacidi, tenendo conto delle similarità chimiche tra di essi. Tali matrici possono quindi essere utilizzate come scoring functions per lallineamento di proteine. Tali matrici possono quindi essere utilizzate come scoring functions per lallineamento di proteine. Un particolare allinemento è casulae o biologicamnete significativo? E possibile quentificare la sua significatività biologica? Un particolare allinemento è casulae o biologicamnete significativo? E possibile quentificare la sua significatività biologica? Abbiamo visto che la scoring function associa un valore numerico ad ogni coppia di caratteri. Abbiamo visto che la scoring function associa un valore numerico ad ogni coppia di caratteri. Le matrici di sostituzione associano un valore numerico ad ogni possibile coppia di aminoacidi, tenendo conto delle similarità chimiche tra di essi. Le matrici di sostituzione associano un valore numerico ad ogni possibile coppia di aminoacidi, tenendo conto delle similarità chimiche tra di essi. Tali matrici possono quindi essere utilizzate come scoring functions per lallineamento di proteine. Tali matrici possono quindi essere utilizzate come scoring functions per lallineamento di proteine.

Similarità chimica tra aminoacidi

Matrici PAM Le matrici PAM (Percent Accepted Mutations) furono sviluppate esaminando le mutazioni allinterno di superfamiglie di sequenze aminoacidiche strettamente correlate tra loro. Le matrici PAM (Percent Accepted Mutations) furono sviluppate esaminando le mutazioni allinterno di superfamiglie di sequenze aminoacidiche strettamente correlate tra loro. Si notò che le sostituzioni che occorrevano tra sequenze strettamente correlate non erano casuali. Si notò che le sostituzioni che occorrevano tra sequenze strettamente correlate non erano casuali. Si concluse che alcune sostituzioni di aminoacidi occorrono più facilmente di altre, probabilmente a causa del fatto che tali sostituzioni non alterano significativamente la struttura e la funzione di una proteina. Si concluse che alcune sostituzioni di aminoacidi occorrono più facilmente di altre, probabilmente a causa del fatto che tali sostituzioni non alterano significativamente la struttura e la funzione di una proteina. Ciò significa che proteine omologhe non devono necessariamente avere gli stessi aminoacidi in ogni posizione. Ciò significa che proteine omologhe non devono necessariamente avere gli stessi aminoacidi in ogni posizione. Le matrici PAM (Percent Accepted Mutations) furono sviluppate esaminando le mutazioni allinterno di superfamiglie di sequenze aminoacidiche strettamente correlate tra loro. Le matrici PAM (Percent Accepted Mutations) furono sviluppate esaminando le mutazioni allinterno di superfamiglie di sequenze aminoacidiche strettamente correlate tra loro. Si notò che le sostituzioni che occorrevano tra sequenze strettamente correlate non erano casuali. Si notò che le sostituzioni che occorrevano tra sequenze strettamente correlate non erano casuali. Si concluse che alcune sostituzioni di aminoacidi occorrono più facilmente di altre, probabilmente a causa del fatto che tali sostituzioni non alterano significativamente la struttura e la funzione di una proteina. Si concluse che alcune sostituzioni di aminoacidi occorrono più facilmente di altre, probabilmente a causa del fatto che tali sostituzioni non alterano significativamente la struttura e la funzione di una proteina. Ciò significa che proteine omologhe non devono necessariamente avere gli stessi aminoacidi in ogni posizione. Ciò significa che proteine omologhe non devono necessariamente avere gli stessi aminoacidi in ogni posizione.

Unità e matrici PAM Usiamo le unità PAM per misurare la distanza tra sequenze aminoacidiche. Usiamo le unità PAM per misurare la distanza tra sequenze aminoacidiche. Due sequenze S1 ed S2 distano 1 unità PAM se S1 può essere trasformata in S2 con una media di 1 mutazione puntuale ogni 100 aminoacidi. Due sequenze S1 ed S2 distano 1 unità PAM se S1 può essere trasformata in S2 con una media di 1 mutazione puntuale ogni 100 aminoacidi. In una sequenza la stessa posizione può mutare più volte e tornare quindi al carattere originario; dunque due sequenze che distano 1 PAM possono differire di meno dell1%. In una sequenza la stessa posizione può mutare più volte e tornare quindi al carattere originario; dunque due sequenze che distano 1 PAM possono differire di meno dell1%. Usiamo le unità PAM per misurare la distanza tra sequenze aminoacidiche. Usiamo le unità PAM per misurare la distanza tra sequenze aminoacidiche. Due sequenze S1 ed S2 distano 1 unità PAM se S1 può essere trasformata in S2 con una media di 1 mutazione puntuale ogni 100 aminoacidi. Due sequenze S1 ed S2 distano 1 unità PAM se S1 può essere trasformata in S2 con una media di 1 mutazione puntuale ogni 100 aminoacidi. In una sequenza la stessa posizione può mutare più volte e tornare quindi al carattere originario; dunque due sequenze che distano 1 PAM possono differire di meno dell1%. In una sequenza la stessa posizione può mutare più volte e tornare quindi al carattere originario; dunque due sequenze che distano 1 PAM possono differire di meno dell1%.

Matrici PAM Esistono diversi tipi di matrici PAM. Ognuna di esse è utilizzata per confrontare due sequenze che distano un certo numero di unità PAM luna dallaltra. Esistono diversi tipi di matrici PAM. Ognuna di esse è utilizzata per confrontare due sequenze che distano un certo numero di unità PAM luna dallaltra. Ad es. la PAM120 può essere utilizzata per confrontare sequenze che distano 120 unità PAM. Ad es. la PAM120 può essere utilizzata per confrontare sequenze che distano 120 unità PAM. La entry (i,j) della matrice PAM120 contiene lo score assegnato alla coppia di aminoacidi (Ai,Aj); tale score è proporzionale alla frequenza con cui ci si aspetta che Ai sostituisca Aj in due sequenze che distano 120 unità PAM. La entry (i,j) della matrice PAM120 contiene lo score assegnato alla coppia di aminoacidi (Ai,Aj); tale score è proporzionale alla frequenza con cui ci si aspetta che Ai sostituisca Aj in due sequenze che distano 120 unità PAM. Esistono diversi tipi di matrici PAM. Ognuna di esse è utilizzata per confrontare due sequenze che distano un certo numero di unità PAM luna dallaltra. Esistono diversi tipi di matrici PAM. Ognuna di esse è utilizzata per confrontare due sequenze che distano un certo numero di unità PAM luna dallaltra. Ad es. la PAM120 può essere utilizzata per confrontare sequenze che distano 120 unità PAM. Ad es. la PAM120 può essere utilizzata per confrontare sequenze che distano 120 unità PAM. La entry (i,j) della matrice PAM120 contiene lo score assegnato alla coppia di aminoacidi (Ai,Aj); tale score è proporzionale alla frequenza con cui ci si aspetta che Ai sostituisca Aj in due sequenze che distano 120 unità PAM. La entry (i,j) della matrice PAM120 contiene lo score assegnato alla coppia di aminoacidi (Ai,Aj); tale score è proporzionale alla frequenza con cui ci si aspetta che Ai sostituisca Aj in due sequenze che distano 120 unità PAM.

Matrice PAM 120

Matrici BLOSUM Le matrici BLOSUM sono matrici di sostituzione di aminoacidi simili alle PAM. Le matrici BLOSUM sono matrici di sostituzione di aminoacidi simili alle PAM. Mentre la matrici PAM si basano su allineamenti globali tra sequenze, le BLOSUM si basano su allineamenti di blocchi di segmenti di sequenze strettamente correlate. Mentre la matrici PAM si basano su allineamenti globali tra sequenze, le BLOSUM si basano su allineamenti di blocchi di segmenti di sequenze strettamente correlate. I segmenti appartenenti a ciascun blocco vengono suddivisi in clusters in base alla percentuale di similarità. Ogni cluster sarà considerato come ununica sequenza. I segmenti appartenenti a ciascun blocco vengono suddivisi in clusters in base alla percentuale di similarità. Ogni cluster sarà considerato come ununica sequenza. Ad es. nella costruzione della matrice BLOSUM62 ogni cluster sarà costituito da sequenze che hanno identità superiore al 62%. Ad es. nella costruzione della matrice BLOSUM62 ogni cluster sarà costituito da sequenze che hanno identità superiore al 62%. Anche in questo caso la entry (i,j) della matrice è proporzionale alla frequenza di sostituzione dellaminoacido Ai con laminoacido Aj. Anche in questo caso la entry (i,j) della matrice è proporzionale alla frequenza di sostituzione dellaminoacido Ai con laminoacido Aj. Le matrici BLOSUM sono matrici di sostituzione di aminoacidi simili alle PAM. Le matrici BLOSUM sono matrici di sostituzione di aminoacidi simili alle PAM. Mentre la matrici PAM si basano su allineamenti globali tra sequenze, le BLOSUM si basano su allineamenti di blocchi di segmenti di sequenze strettamente correlate. Mentre la matrici PAM si basano su allineamenti globali tra sequenze, le BLOSUM si basano su allineamenti di blocchi di segmenti di sequenze strettamente correlate. I segmenti appartenenti a ciascun blocco vengono suddivisi in clusters in base alla percentuale di similarità. Ogni cluster sarà considerato come ununica sequenza. I segmenti appartenenti a ciascun blocco vengono suddivisi in clusters in base alla percentuale di similarità. Ogni cluster sarà considerato come ununica sequenza. Ad es. nella costruzione della matrice BLOSUM62 ogni cluster sarà costituito da sequenze che hanno identità superiore al 62%. Ad es. nella costruzione della matrice BLOSUM62 ogni cluster sarà costituito da sequenze che hanno identità superiore al 62%. Anche in questo caso la entry (i,j) della matrice è proporzionale alla frequenza di sostituzione dellaminoacido Ai con laminoacido Aj. Anche in questo caso la entry (i,j) della matrice è proporzionale alla frequenza di sostituzione dellaminoacido Ai con laminoacido Aj.

GapsGaps Abbiamo visto che due sequenze biologiche possono differire tra loro non solo per sostituzione di un residuo con un altro ma anche per inserzione o delezione di residui. Abbiamo visto che due sequenze biologiche possono differire tra loro non solo per sostituzione di un residuo con un altro ma anche per inserzione o delezione di residui. E quindi spesso necessario introdurre degli spazi - in una o in entrambe le sequenze da allineare, anche al fine di portare le sequenze alla stessa lunghezza. E quindi spesso necessario introdurre degli spazi - in una o in entrambe le sequenze da allineare, anche al fine di portare le sequenze alla stessa lunghezza. Una sequenza di spazi contigui si definisce gap. Una sequenza di spazi contigui si definisce gap. Ovviamente è necessario determinare un criterio per linserimento di tali gap. Ovviamente è necessario determinare un criterio per linserimento di tali gap. Linserimento di un gap abbassa lo score dellallineamento; in questo modo, essendo il nostro scopo quello di massimizzare lo score dellallineamento, verranno inseriti gaps solo quando ciò è strettamente necessario. Linserimento di un gap abbassa lo score dellallineamento; in questo modo, essendo il nostro scopo quello di massimizzare lo score dellallineamento, verranno inseriti gaps solo quando ciò è strettamente necessario. Abbiamo visto che due sequenze biologiche possono differire tra loro non solo per sostituzione di un residuo con un altro ma anche per inserzione o delezione di residui. Abbiamo visto che due sequenze biologiche possono differire tra loro non solo per sostituzione di un residuo con un altro ma anche per inserzione o delezione di residui. E quindi spesso necessario introdurre degli spazi - in una o in entrambe le sequenze da allineare, anche al fine di portare le sequenze alla stessa lunghezza. E quindi spesso necessario introdurre degli spazi - in una o in entrambe le sequenze da allineare, anche al fine di portare le sequenze alla stessa lunghezza. Una sequenza di spazi contigui si definisce gap. Una sequenza di spazi contigui si definisce gap. Ovviamente è necessario determinare un criterio per linserimento di tali gap. Ovviamente è necessario determinare un criterio per linserimento di tali gap. Linserimento di un gap abbassa lo score dellallineamento; in questo modo, essendo il nostro scopo quello di massimizzare lo score dellallineamento, verranno inseriti gaps solo quando ciò è strettamente necessario. Linserimento di un gap abbassa lo score dellallineamento; in questo modo, essendo il nostro scopo quello di massimizzare lo score dellallineamento, verranno inseriti gaps solo quando ciò è strettamente necessario.

Gap Penalties La maggior parte degli algoritmi di allineamento usano delle gap penalties diverse per lapertura di un nuovo gap e per lestensione di un gap già esistente. La maggior parte degli algoritmi di allineamento usano delle gap penalties diverse per lapertura di un nuovo gap e per lestensione di un gap già esistente. Il GOP (Gap Opening Penalty) è la penalità da pagare ogni qual volta viene inserito un gap. Il GOP (Gap Opening Penalty) è la penalità da pagare ogni qual volta viene inserito un gap. Il GEP (Gap Extension Penalty) è la penalità da pagare ogni qual volta viene esteso un gap già esistente. Il GEP (Gap Extension Penalty) è la penalità da pagare ogni qual volta viene esteso un gap già esistente. Solitamente GOP>GEP, cioè aprire un nuovo gap è più costoso che estenderne uno esistente; in questo modo si tende ad avere inserzioni e delezioni di parecchi residui per volta piuttosto che inserzioni o delezioni sparse. Solitamente GOP>GEP, cioè aprire un nuovo gap è più costoso che estenderne uno esistente; in questo modo si tende ad avere inserzioni e delezioni di parecchi residui per volta piuttosto che inserzioni o delezioni sparse. La maggior parte degli algoritmi di allineamento usano delle gap penalties diverse per lapertura di un nuovo gap e per lestensione di un gap già esistente. La maggior parte degli algoritmi di allineamento usano delle gap penalties diverse per lapertura di un nuovo gap e per lestensione di un gap già esistente. Il GOP (Gap Opening Penalty) è la penalità da pagare ogni qual volta viene inserito un gap. Il GOP (Gap Opening Penalty) è la penalità da pagare ogni qual volta viene inserito un gap. Il GEP (Gap Extension Penalty) è la penalità da pagare ogni qual volta viene esteso un gap già esistente. Il GEP (Gap Extension Penalty) è la penalità da pagare ogni qual volta viene esteso un gap già esistente. Solitamente GOP>GEP, cioè aprire un nuovo gap è più costoso che estenderne uno esistente; in questo modo si tende ad avere inserzioni e delezioni di parecchi residui per volta piuttosto che inserzioni o delezioni sparse. Solitamente GOP>GEP, cioè aprire un nuovo gap è più costoso che estenderne uno esistente; in questo modo si tende ad avere inserzioni e delezioni di parecchi residui per volta piuttosto che inserzioni o delezioni sparse.

Gap Penalties Esempio di apertura di un gap: Esempio di apertura di un gap: Esempio di estensione di un gap già esistente: Esempio di estensione di un gap già esistente: Esempio di apertura di un gap: Esempio di apertura di un gap: Esempio di estensione di un gap già esistente: Esempio di estensione di un gap già esistente: a c t c a a … t c a t c a … - t c a t c … a c t c a a … - - t c a t …- t c a t c …

Algoritmi per il lallineamento Pairwise Come trovare lallinemento ottimale? Come trovare lallinemento ottimale? Il metodo più ovvio per determinare lallineamento ottimale tra due sequenze consiste nel costruire tutti i possibili allineamenti e valutare quello con lo score più alto: Il metodo più ovvio per determinare lallineamento ottimale tra due sequenze consiste nel costruire tutti i possibili allineamenti e valutare quello con lo score più alto: APPROCCIO IMPRATICABILE Allineare sequenze di appena 20 caratteri (lunghezza inusuale per una biosequenza, che solitamente è formata da un numero molto maggiore di caratteri) richiederebbe un tempo sicuramente inaccettabile. Allineare sequenze di appena 20 caratteri (lunghezza inusuale per una biosequenza, che solitamente è formata da un numero molto maggiore di caratteri) richiederebbe un tempo sicuramente inaccettabile. Come trovare lallinemento ottimale? Come trovare lallinemento ottimale? Il metodo più ovvio per determinare lallineamento ottimale tra due sequenze consiste nel costruire tutti i possibili allineamenti e valutare quello con lo score più alto: Il metodo più ovvio per determinare lallineamento ottimale tra due sequenze consiste nel costruire tutti i possibili allineamenti e valutare quello con lo score più alto: APPROCCIO IMPRATICABILE Allineare sequenze di appena 20 caratteri (lunghezza inusuale per una biosequenza, che solitamente è formata da un numero molto maggiore di caratteri) richiederebbe un tempo sicuramente inaccettabile. Allineare sequenze di appena 20 caratteri (lunghezza inusuale per una biosequenza, che solitamente è formata da un numero molto maggiore di caratteri) richiederebbe un tempo sicuramente inaccettabile.

Allineamento mediante Programmazione Dinamica Date due stringhe S e T, con |S|=n e |T|=m, il nostro obiettivo è il calcolo dellallineamento ottimale di S e T. Date due stringhe S e T, con |S|=n e |T|=m, il nostro obiettivo è il calcolo dellallineamento ottimale di S e T. Gli algoritmi di programmazione dinamica vengono utilizzati nella risoluzione di problemi di ottimizzazione; nel nostro caso ci interessa massimizzare lo score dellallineamento. Gli algoritmi di programmazione dinamica vengono utilizzati nella risoluzione di problemi di ottimizzazione; nel nostro caso ci interessa massimizzare lo score dellallineamento. Un algoritmo di programmazione dinamica trova la soluzione migliore spezzando il problema originale in sottoproblemi più semplici da risolvere. Un algoritmo di programmazione dinamica trova la soluzione migliore spezzando il problema originale in sottoproblemi più semplici da risolvere. La soluzione di ogni sottoproblema si basa sulle soluzioni dei sottoproblemi già risolti. La soluzione di ogni sottoproblema si basa sulle soluzioni dei sottoproblemi già risolti. Date due stringhe S e T, con |S|=n e |T|=m, il nostro obiettivo è il calcolo dellallineamento ottimale di S e T. Date due stringhe S e T, con |S|=n e |T|=m, il nostro obiettivo è il calcolo dellallineamento ottimale di S e T. Gli algoritmi di programmazione dinamica vengono utilizzati nella risoluzione di problemi di ottimizzazione; nel nostro caso ci interessa massimizzare lo score dellallineamento. Gli algoritmi di programmazione dinamica vengono utilizzati nella risoluzione di problemi di ottimizzazione; nel nostro caso ci interessa massimizzare lo score dellallineamento. Un algoritmo di programmazione dinamica trova la soluzione migliore spezzando il problema originale in sottoproblemi più semplici da risolvere. Un algoritmo di programmazione dinamica trova la soluzione migliore spezzando il problema originale in sottoproblemi più semplici da risolvere. La soluzione di ogni sottoproblema si basa sulle soluzioni dei sottoproblemi già risolti. La soluzione di ogni sottoproblema si basa sulle soluzioni dei sottoproblemi già risolti.

Programmazione Dinamica (2) Consideriamo lalgoritmo di programmazione dinamica proposto da Needleman & Wunsch (1970). Consideriamo lalgoritmo di programmazione dinamica proposto da Needleman & Wunsch (1970). Date due sequenze S e T, confrontiamo il primo residuo di S con il primo residuo di T considerando i seguenti score: Date due sequenze S e T, confrontiamo il primo residuo di S con il primo residuo di T considerando i seguenti score: Ci chiediamo quindi se conviene allineare il primo residuo di S con il primo residuo di T o il primo residuo di S con un gap o il primo residuo di T con un gap; scegliamo quindi di intraprendere lazione cui è associato lo score maggiore. Ci chiediamo quindi se conviene allineare il primo residuo di S con il primo residuo di T o il primo residuo di S con un gap o il primo residuo di T con un gap; scegliamo quindi di intraprendere lazione cui è associato lo score maggiore. Consideriamo lalgoritmo di programmazione dinamica proposto da Needleman & Wunsch (1970). Consideriamo lalgoritmo di programmazione dinamica proposto da Needleman & Wunsch (1970). Date due sequenze S e T, confrontiamo il primo residuo di S con il primo residuo di T considerando i seguenti score: Date due sequenze S e T, confrontiamo il primo residuo di S con il primo residuo di T considerando i seguenti score: Ci chiediamo quindi se conviene allineare il primo residuo di S con il primo residuo di T o il primo residuo di S con un gap o il primo residuo di T con un gap; scegliamo quindi di intraprendere lazione cui è associato lo score maggiore. Ci chiediamo quindi se conviene allineare il primo residuo di S con il primo residuo di T o il primo residuo di S con un gap o il primo residuo di T con un gap; scegliamo quindi di intraprendere lazione cui è associato lo score maggiore.

Programmazione Dinamica (3) Utilizziamo una matrice n x m, con |S|=n e |T|=m, che andremo a riempire riga per riga: Utilizziamo una matrice n x m, con |S|=n e |T|=m, che andremo a riempire riga per riga: Il valore di ogni entry viene calcolato con la seguente formula: Il valore di ogni entry viene calcolato con la seguente formula: Caso base: Caso base: Utilizziamo una matrice n x m, con |S|=n e |T|=m, che andremo a riempire riga per riga: Utilizziamo una matrice n x m, con |S|=n e |T|=m, che andremo a riempire riga per riga: Il valore di ogni entry viene calcolato con la seguente formula: Il valore di ogni entry viene calcolato con la seguente formula: Caso base: Caso base:

Programmazione Dinamica (4) In questo modo ad ogni passo scegliamo il massimo tra gli score che otterremmo allineando il residuo i di S con il residuo j di T, o allineando il residuo i di S con un gap o allineando il residuo j di T con un gap. Considerando Avremo:

Programmazione Dinamica (5) La entry (n,m) sarà lo score dellallineamento: La entry (n,m) sarà lo score dellallineamento: A questo punto come facciamo ad ottenere lallineamento vero e proprio? A questo punto come facciamo ad ottenere lallineamento vero e proprio? La entry (n,m) sarà lo score dellallineamento: La entry (n,m) sarà lo score dellallineamento: A questo punto come facciamo ad ottenere lallineamento vero e proprio? A questo punto come facciamo ad ottenere lallineamento vero e proprio?

Programmazione Dinamica (6) Mediante un traceback procediamo a ritroso a partire dalla entry (6,5). Sappiamo che: Quindi possiamo risalire scegliendo indifferentemente la entry (6,4) o la entry (5,5)

Programmazione Dinamica (7) Seguendo la strada indicata dalle frecce otterremo il seguente allineamento: a - cbcdb- ca-dbd

Allineamento globale e locale Lalgoritmo di allineamento che abbiamo considerato, produce lallineamento globale di due sequenze, ovvero allinea due sequenze su tutta la loro lunghezza. Lalgoritmo di allineamento che abbiamo considerato, produce lallineamento globale di due sequenze, ovvero allinea due sequenze su tutta la loro lunghezza. Una variante dellalgoritmo di Needleman-Wunsch consente di eseguire lallineamento locale di due sequenze; Una variante dellalgoritmo di Needleman-Wunsch consente di eseguire lallineamento locale di due sequenze; Questo è utile quando abbiamo a che fare con sequenze che non presentano unalta similarità su tutta la loro lunghezza ma che contengono comunque regioni ad alta similarità (Vedi BLAST). Questo è utile quando abbiamo a che fare con sequenze che non presentano unalta similarità su tutta la loro lunghezza ma che contengono comunque regioni ad alta similarità (Vedi BLAST). Lalgoritmo di local alignment restituisce gli n allineamenti di sottosequenze di S e T di massimo score. Lalgoritmo di local alignment restituisce gli n allineamenti di sottosequenze di S e T di massimo score. Lalgoritmo di allineamento che abbiamo considerato, produce lallineamento globale di due sequenze, ovvero allinea due sequenze su tutta la loro lunghezza. Lalgoritmo di allineamento che abbiamo considerato, produce lallineamento globale di due sequenze, ovvero allinea due sequenze su tutta la loro lunghezza. Una variante dellalgoritmo di Needleman-Wunsch consente di eseguire lallineamento locale di due sequenze; Una variante dellalgoritmo di Needleman-Wunsch consente di eseguire lallineamento locale di due sequenze; Questo è utile quando abbiamo a che fare con sequenze che non presentano unalta similarità su tutta la loro lunghezza ma che contengono comunque regioni ad alta similarità (Vedi BLAST). Questo è utile quando abbiamo a che fare con sequenze che non presentano unalta similarità su tutta la loro lunghezza ma che contengono comunque regioni ad alta similarità (Vedi BLAST). Lalgoritmo di local alignment restituisce gli n allineamenti di sottosequenze di S e T di massimo score. Lalgoritmo di local alignment restituisce gli n allineamenti di sottosequenze di S e T di massimo score.

Allineamento Multiplo Fino ad ora abbiamo visto come produrre allineamenti di coppie di sequenze. Gli algoritmi visti hanno complessità quadratica (nella lunghezza delle sequenze) in tempo e spazio. Fino ad ora abbiamo visto come produrre allineamenti di coppie di sequenze. Gli algoritmi visti hanno complessità quadratica (nella lunghezza delle sequenze) in tempo e spazio. La variante di Myers-Miller consente di produrre allineamenti di coppie di sequenze in tempo quadratico e spazio lineare. La variante di Myers-Miller consente di produrre allineamenti di coppie di sequenze in tempo quadratico e spazio lineare. Il problema dellallineamento di n sequenze non è risolubile in tempo polinomiale. Occorre quindi ricorrere ad euristiche ed approssimazioni. Il problema dellallineamento di n sequenze non è risolubile in tempo polinomiale. Occorre quindi ricorrere ad euristiche ed approssimazioni.

Allineamento Progressivo Il metodo più comune per eseguire un allineamento multiplo è il cosiddetto allineamento progressivo, basato sulla costruzione di una successione di allineamenti a coppie. Il metodo più comune per eseguire un allineamento multiplo è il cosiddetto allineamento progressivo, basato sulla costruzione di una successione di allineamenti a coppie. Dato un insieme S costituito da n sequenze da allineare, si scelgono due sequenze s1 ed s2 e si allineano; questo allineamento rimane fissato nei passi successivi. Dato un insieme S costituito da n sequenze da allineare, si scelgono due sequenze s1 ed s2 e si allineano; questo allineamento rimane fissato nei passi successivi. Si sceglie quindi una terza sequenza s3 e si allinea al precedente allineamento, e così via. Si sceglie quindi una terza sequenza s3 e si allinea al precedente allineamento, e così via. Questo è un approccio euristico e non garantisce di trovare lallineamento multiplo ottimale; tuttavia è efficiente e nella pratica dà dei risultati ragionevoli. Questo è un approccio euristico e non garantisce di trovare lallineamento multiplo ottimale; tuttavia è efficiente e nella pratica dà dei risultati ragionevoli. Il metodo più comune per eseguire un allineamento multiplo è il cosiddetto allineamento progressivo, basato sulla costruzione di una successione di allineamenti a coppie. Il metodo più comune per eseguire un allineamento multiplo è il cosiddetto allineamento progressivo, basato sulla costruzione di una successione di allineamenti a coppie. Dato un insieme S costituito da n sequenze da allineare, si scelgono due sequenze s1 ed s2 e si allineano; questo allineamento rimane fissato nei passi successivi. Dato un insieme S costituito da n sequenze da allineare, si scelgono due sequenze s1 ed s2 e si allineano; questo allineamento rimane fissato nei passi successivi. Si sceglie quindi una terza sequenza s3 e si allinea al precedente allineamento, e così via. Si sceglie quindi una terza sequenza s3 e si allinea al precedente allineamento, e così via. Questo è un approccio euristico e non garantisce di trovare lallineamento multiplo ottimale; tuttavia è efficiente e nella pratica dà dei risultati ragionevoli. Questo è un approccio euristico e non garantisce di trovare lallineamento multiplo ottimale; tuttavia è efficiente e nella pratica dà dei risultati ragionevoli.

Allineamento Progressivo (2) Leuristica più importante utilizzata negli algoritmi di allineamento progressivo prevede che le coppie che presentano un maggior grado di similarità siano allineate per prime. Leuristica più importante utilizzata negli algoritmi di allineamento progressivo prevede che le coppie che presentano un maggior grado di similarità siano allineate per prime. Ciò è giustificato dal fatto che coppie di sequenze maggiormente somiglianti hanno maggiore probabilità di essere derivate più recentemente da un antenato comune e quindi il loro allineamento fornisce linformazione più affidabile che è possibile ricavare dalle sequenze. Ciò è giustificato dal fatto che coppie di sequenze maggiormente somiglianti hanno maggiore probabilità di essere derivate più recentemente da un antenato comune e quindi il loro allineamento fornisce linformazione più affidabile che è possibile ricavare dalle sequenze. Inoltre le posizioni dei gaps in sequenze maggiormente correlate sono tipicamente più accurate rispetto a quelle relative a sequenze meno simili, per cui i gaps degli allineamenti iniziali vanno preservati durante lallineamento progressivo. Inoltre le posizioni dei gaps in sequenze maggiormente correlate sono tipicamente più accurate rispetto a quelle relative a sequenze meno simili, per cui i gaps degli allineamenti iniziali vanno preservati durante lallineamento progressivo.

ClustalWClustalW ClustalW è il tool più popolare per lallineamento multiplo di biosequenze. ClustalW è il tool più popolare per lallineamento multiplo di biosequenze. Dato un insieme S di n sequenze da allineare, ClustalW allinea tutte le coppie di sequenze di S separatamente e costruisce una matrice con le distanze tra ogni coppia di sequenze. Dato un insieme S di n sequenze da allineare, ClustalW allinea tutte le coppie di sequenze di S separatamente e costruisce una matrice con le distanze tra ogni coppia di sequenze. ClustalW è il tool più popolare per lallineamento multiplo di biosequenze. ClustalW è il tool più popolare per lallineamento multiplo di biosequenze. Dato un insieme S di n sequenze da allineare, ClustalW allinea tutte le coppie di sequenze di S separatamente e costruisce una matrice con le distanze tra ogni coppia di sequenze. Dato un insieme S di n sequenze da allineare, ClustalW allinea tutte le coppie di sequenze di S separatamente e costruisce una matrice con le distanze tra ogni coppia di sequenze. Seq. A Seq. B Seq. C Seq. D Seq. A 0.00 Seq. B Seq. C Seq. D

ClustalW: Albero filogenetico Viene quindi costruito un albero guida filogenetico utilizzando il metodo neighbour-joining. Viene quindi costruito un albero guida filogenetico utilizzando il metodo neighbour-joining. Si sceglie la coppia più vicina: questa andrà a formare il primo sottoalbero: Si sceglie la coppia più vicina: questa andrà a formare il primo sottoalbero: Viene quindi costruito un albero guida filogenetico utilizzando il metodo neighbour-joining. Viene quindi costruito un albero guida filogenetico utilizzando il metodo neighbour-joining. Si sceglie la coppia più vicina: questa andrà a formare il primo sottoalbero: Si sceglie la coppia più vicina: questa andrà a formare il primo sottoalbero: AB AB Seq. A Seq. B Seq. C Seq. D Seq. A 0.00 Seq. B Seq. C Seq. D

ClustalW: Albero filogenetico (2) Sostituiamo nella tabella la entry AB alle singole entry A e B e calcoliamo le distanze di AB dalle sequenze rimanenti facendo una semplice media aritmetica: Seq. AB Seq. C Seq. D Seq. AB 0.00 Seq. C 0.00 Seq. D 0.00 ? 0.57? Iterando il procedimento si ottiene lalbero completo.

ClustalW: Albero filogenetico (3) Otterremo un albero i cui rami hanno lunghezza proporzionale alla distanza tra le sequenze : Otterremo un albero i cui rami hanno lunghezza proporzionale alla distanza tra le sequenze : Questalbero verrà utilizzato per guidare lallineamento progressivo. Questalbero verrà utilizzato per guidare lallineamento progressivo. Nel nostro esempio verranno allineate per prime le sequenze A e B. Successivamente verrà allineata la sequenza D allallineamento AB e infine verrà allineata la sequenza C allallineamento ABD. Nel nostro esempio verranno allineate per prime le sequenze A e B. Successivamente verrà allineata la sequenza D allallineamento AB e infine verrà allineata la sequenza C allallineamento ABD. A B C D

Albero filogenetico: un esempio Lalbero filogenetico in figura è costruito mediante ClustalW a partire dalle sequenze della proteina mnSOD su diversi organismi: il clustering ottenuto rispecchia in maniera abbastanza fedele quella che è la filogenesi classica (cioè basata su dati geopaleontologici). Lalbero filogenetico in figura è costruito mediante ClustalW a partire dalle sequenze della proteina mnSOD su diversi organismi: il clustering ottenuto rispecchia in maniera abbastanza fedele quella che è la filogenesi classica (cioè basata su dati geopaleontologici).

Allineamento con ClustalW Nellallineamento di sequenze nucleotidiche è possibile trovare solo simboli * nel caso di identità della colonna al 100%. Nellallineamento di sequenze nucleotidiche è possibile trovare solo simboli * nel caso di identità della colonna al 100%. La presenza di un simbolo * in fondo ad una colonna indica un match del 100%. La presenza di un simbolo * in fondo ad una colonna indica un match del 100%. Il simbolo : indica unalta similarità (>75%). Il simbolo : indica unalta similarità (>75%). Il simbolo. indica una media similarità (50%-75%). Il simbolo. indica una media similarità (50%-75%). La presenza di un simbolo * in fondo ad una colonna indica un match del 100%. La presenza di un simbolo * in fondo ad una colonna indica un match del 100%. Il simbolo : indica unalta similarità (>75%). Il simbolo : indica unalta similarità (>75%). Il simbolo. indica una media similarità (50%-75%). Il simbolo. indica una media similarità (50%-75%).

ClustalW: Server on line Il server ufficiale di ClustalW si trova sul sito dellEMBL: Il server ufficiale di ClustalW si trova sul sito dellEMBL: Vi sono comunque molti altri server di ClustalW; uno dei più popolari è quello dello Swiss Institute of Bioinformatics: Vi sono comunque molti altri server di ClustalW; uno dei più popolari è quello dello Swiss Institute of Bioinformatics: Questa versione di ClustalW ha uninterfaccia semplificata rispetto a quella ufficiale su EMBL. Questa versione di ClustalW ha uninterfaccia semplificata rispetto a quella ufficiale su EMBL.

ClustalW: uso locale E anche possibile scaricare la versione locale di ClustalW per ambienti Windows (DOS) e Linux: E anche possibile scaricare la versione locale di ClustalW per ambienti Windows (DOS) e Linux:ftp://ftp.ebi.ac.uk/pub/software/dos/clustalw/ftp://ftp.ebi.ac.uk/pub/software/unix/clustalw/ftp://ftp-igbmc.u-strasbg.fr/pub/ClustalW/

Blast2Seq Blast2Seq è un tool della famiglia BLAST che permette di eseguire lallineamento di una coppia di sequenze utilizzando lalgoritmo di allineamento locale di BLAST. Blast2Seq è un tool della famiglia BLAST che permette di eseguire lallineamento di una coppia di sequenze utilizzando lalgoritmo di allineamento locale di BLAST. E importante sottolineare la differenza tra questo tipo di approccio e quello mostrato nelle slides precedenti: E importante sottolineare la differenza tra questo tipo di approccio e quello mostrato nelle slides precedenti: Lallineamento Pairwise Globale di coppie di sequenze mette in luce leventuale similarità globale tra le due sequenze. Lallineamento Pairwise Globale di coppie di sequenze mette in luce leventuale similarità globale tra le due sequenze. Lallineamento Pairwise effettuato da Blast2Seq mette in luce le eventuali similarità locali tra le due sequenze. Due sequenze possono anche essere molto diverse nella loro interezza ma avere comunque delle regioni molto simili: a partire da tale similarità è spesso possibile formulare interessanti ipotesi sulla presenza di determinati motivi e quindi sulla funzione delle molecole analizzate. Lallineamento Pairwise effettuato da Blast2Seq mette in luce le eventuali similarità locali tra le due sequenze. Due sequenze possono anche essere molto diverse nella loro interezza ma avere comunque delle regioni molto simili: a partire da tale similarità è spesso possibile formulare interessanti ipotesi sulla presenza di determinati motivi e quindi sulla funzione delle molecole analizzate.