Informatica e biotecnologie II parte Analisi di sequenze: allineamenti CGCTTCGGACGAAATCGCATCAGCATACGATCGCATGCCGGGCGGGATAAC ||||||||||||||||||||||||||||| CGAAATCGCATCAGCATACGATCGCATGC Viviana Patti Informatica di base - 6 dicembre Bioinformatica La Bioinformatica è una disciplina che affronta con metodiche proprie delle Scienze dell'Informazione problemi propri della Biologia. Settore in rapida espansione: c'è un enorme mole di dati che la moderna ricerca biologica produce grazie al progresso tecnologico recente; questo impone di affrontare problemi come: archiviazione di enormi moli di dati dati: occorre creare, gestire e mantenere banche dati specializzate -> banche dati biologiche (databases/reti...) recupero di informazione in modo automatico dalle banche dati -> banche dati biologiche (databases/reti...) analisi automatica dei dati per riuscire a inferire nuove informazioni a partire dai dati che abbiamo Viviana Patti Informatica di base - 6 dicembre 1 Tipi di analisi sulle sequenze 1. Allineamento di sequenze: date due o più sequenze, le confronto per misurarne il grado di similarità A coppie: confronto due sequenze Osservazione: l’allineamento di sequenze a coppie è una delle tecniche di analisi più usate per ricerche in DB a sequenze per l’associazione di funzioni biologiche al genoma Multiplo: confronto N sequenze usato ad es. per inferenze filogenetiche 2. Analisi/caratterizzazione di singole sequenze 3. Traduzione “DNA -> proteina” Viviana Patti Informatica di base - 6 dicembre Allineamento di sequenze: perché Uno dei problemi di base nell’analisi di sequenze (nucleotidiche o amminoacidiche) consiste nel chiedersi se è plausibile che derivino da un comune antenato attraverso un processo di mutazione e selezione. I processi di mutazione considerati comprendono sostituzioni, inserzioni e cancellazioni (delezioni) di elementi nella sequenza. Il tipo di mutazione è influenzato dal meccanismo di selezione naturale, cosicché alcuni cambiamenti possono essere più frequenti di altri. Viviana Patti Informatica di base - 6 dicembre 2 Allineamento di sequenze: perché Esempio: DNA Per quanto riguarda l'analisi del DNA uno degli scopi primari è la comprensione del meccanismo delle mutazioni Mutazioni puntuali: sostituzioni di singoli nucleotidi (significative se all’interno di zone particolari, es. zone di codifica) Mutazioni segmentali (più significative): sostituzioni di più nucleotidi adiacenti in punti arbitrari, inserimento o eliminazione di nuovi nucleotidi, etc. Il problema viene affrontato, tipicamente proprio attraverso lo studio comparativo di sequenze cercando di individuare “similarità” uso di tecniche di allineamento di sequenze: locale o globale, a seconda che si sia interessati a verificare la similarità di due sequenze secondo la loro intera lunghezza o in certe zone particolari Viviana Patti Informatica di base - 6 dicembre Allineamento di sequenze Il problema viene affrontato cercando di individuare “similarità” fra sequenze: L'allineamento di sequenze è una tecnica di analisi che mi consente di definire una misura quantitativa del grado di similarità fra sequenze In generale allineare 2 sequenze significa stabilire corrispondenze fra due sequenze residuo per residuo, conservando l'ordine dei residui all'interno delle sequenze Viviana Patti Informatica di base - 6 dicembre 3 Allineamento ottimale Concetto base: trovare l’allineamento ottimale (globale o locale) di due sequenze, ossia l'allineamento migliore fra tutti i possibili allineamenti Viviana Patti Informatica di base - 6 dicembre Allineamento ottimale Vogliamo definire una misura quantitativa del grado di similarita'. Algoritmi in cui il criterio di ottimalità si basa sull’attribuzione di un punteggio (score) a ogni possibili allineamento il punteggio riflette la qualità dell'allineamento il punteggio sarà tanto più elevato quanto maggiore è la similarità delle due sequenze -> è possibile identificare l'allinemento (o gli allineamenti) migliore Viviana Patti Informatica di base - 6 dicembre 4 Allineamento di sequenze Approccio: Passo1: confrontare le sequenze (inizialmente in modo arbitrario) Passo2: assegnare un punteggio all'allineamento sulla base di criteri fissati per la similarità Passo3: ripetere l’operazione, muovendo in tutti i modi possibili una sequenza rispetto all’altra il punteggio massimo corrisponde all’allineamento ottimale Approccio facilmente automatizzabile Viviana Patti Informatica di base - 6 dicembre Allineamento di sequenze Un algoritmo semplice potrebbe essere quello di ciclicamente Fare scorrere una sequenza sull'altra, spostando ad ogni ciclo di una posizione e verificando quante posizioni hanno un'identità. Per ogni ciclo dovremo riverificare tutte le posizioni, quindi alla fine dovremo fare un numero di verifiche pari al numero di cicli per numero di posizioni: più o meno dell'ordine del prodotto delle lunghezze delle due sequenze. Viviana Patti Informatica di base - 6 dicembre 5 Software di supporto all'analisi Esistono diversi “tool” specializzati che automatizzano l’allineamento di sequenze, alcuni dei quali disponibili in rete: BLAST (integrato in GenBank), FASTA : ricerca di zone di omologia locali (legami di tipo evolutivo) in coppie di sequenze; individuazione di pattern corrispondenti per ricerche in DB ALIGN: ricerca del miglior allineamento globale (intera lunghezza) fra due sequenze ... Viviana Patti Informatica di base - 6 dicembre Software di supporto all'analisi Molti di questi programmi sono integrati in web-server; alcuni possono anche essere installati ed eseguiti localmente (spesso in ambiente Linux e con interazione a linea di comando) Viviana Patti Informatica di base - 6 dicembre 6 Software di supporto all'analisi In genere le stesse tecniche di allineamento possono essere applicate a sequenze di nucleotidi (DNA, RNA) e di amminoacidi (proteine). Esistono cmq alcune differenze fra allineamenti di sequenze DNA e allineamenti di sequenze proteiche e gli scopi possono essere diversi Viviana Patti Informatica di base - 6 dicembre Allineamento di sequenze Perché sia biologicamente attendibile bisogna risolvere alcune questioni: 1. Criteri di similarità 2. Possono essere inseriti dei buchi (gap) nelle sequenze per trovare corrispondenze altrove? 3. Come stabilire il punteggio per l’allineamento? -> deve dare una misura della significatività dei singoli allineamenti? es. +1 per posizioni uguali, -1 per discrepanze 4. Come valutare i gap? -> "sforacchiando troppo" magari influenzerei eccessivamente l'esito del confronto -> punteggio 5. Quale algoritmo usare per la scelta dell’allineamento ottimale/più significativo? Viviana Patti Informatica di base - 6 dicembre 7 1. Criteri di similarità Un allineamento semplice si ottiene facendo scorrere una sequenza sull’altra un nucleotide/amminoacido alla volta CGCTTCGGACGAAATCGCATCAGCATACGATCGCATGCCGGGCGGGATAAC ||||||||||||||||||||||||||||| CGAAATCGCATCAGCATACGATCGCATGC l'idea più semplice: considerare ottimo l'allineamento in cui è massimizzato il numero di identità Viviana Patti Informatica di base - 6 dicembre 1. Criteri di similarità Ma a volte è più opportuno considerare dei valori di similarità (specialmente nel caso degli amminoacidi), piuttosto che la semplice presenza o assenza di identità. solo identità identità e sostituzioni conservative Viviana Patti Informatica di base - 6 dicembre 8 1. Criteri di similarità Dato un singolo allineamento Identità: occorrenza dello stesso elemento (base o amminoacido) nella stessa posizione delle 2 sequenze allineate Similarità (proteine): occorrenza di amminoacidi chimicamente simili (probabile sostituzione) nella stessa posizione identità e sostituzioni conservative Viviana Patti Informatica di base - 6 dicembre 1. Criteri di similarità: terminologia Dato un singolo allineamento Identità: occorrenza dello stesso elemento (base o amminoacido) nella stessa posizione delle 2 sequenze allineate Similarità (proteine): occorrenza di amminoacidi chimicamente simili (probabile sostituzione) nella stessa posizione Esempio: acido glutammico e acido aspartico sono simili Discrepanza: occorrenza di due basi o amminoacidi diversi e non valutati simili nella stessa posizione Omologia vs similarità: concetto più astratto, che indica un legame di tipo evolutivo fra 2 sequenze Viviana Patti Informatica di base - 6 dicembre 9 2. Allineamento di sequenze con gap A meno che le sequenze non coincidano perfettamente è molto spesso necessario introdurre “gap” per trovare un più alto numero di corrispondenze Due possibili allineamenti di due catene polipeptidiche (su: senza gap; giù: con gap). Un segno denota i gap Da un punto di vista biologico questo corrisponde alla possibilità di avere inserzioni o cancellazioni -> in genere vogliamo che un programma di allineamento abbia la possibilità di inserire gap nelle sequenze Viviana Patti Informatica di base - 6 dicembre Esempio: allineamento di sequenze di proteine e DNA proteine DNA Viviana Patti Informatica di base - 6 dicembre 10 3. Assegnazione del punteggio Abbiamo detto che occorre assegnare un punteggio all'allineamento sulla base di criteri fissati Strumento per valutare con un punteggio un allineamento (è significativo? Se sì, quanto?): matrici di valutazione o di punteggio (scoring matrix) Cosa sono? Sono matrici di valori che danno un punteggio alla corrispondenza di due basi o due amminoacidi in un allineamento. Sulla base di queste matrici viene calcolato un punteggio per l'allineamento. Abbiamo criteri (e quindi matrici) diverse per l'assegnamento di punteggio a sequenze di acidi nucleici e sequenze di amminoacidi Viviana Patti Informatica di base - 6 dicembre 3. Matrici di punteggio (acidi nucleici) Sono molto più semplici di quelle usate per le proteine non occorre della natura chimica (similarità) non si tiene conto della frequenza delle basi Esempio BLAST: punteggio (standard) positivo per le identità, -1 per le discrepanze a c g t a +1 -1 -1 -1 c -1 +1 -1 -1 g -1 -1 +1 -1 t -1 -1 -1 +1 Viviana Patti Informatica di base - 6 dicembre 11 3. Matrici di punteggio (proteine) Anche per le proteine potremmo applicare lo stesso schema ma le cose sono più complicate perché occorre tener conto della similarità L'alternativa a questo schema semplice è imparare da dalle proteine stesse uno schema di punteggio approccio statistico (Dayhoff): raccolgo statistiche sulle frequenze di sostituzione in sequenze di proteine conosciute come correlate (omologhe) A un cambiamento frequente assegno un punteggio maggiore che a uno raro Da queste analisi statistiche "derivo" la mia matrice di punteggio Famiglie di matrici costruite con questa filosofia PAM; BLOSUM (derivate a partire da una quantità molto maggiore di dati) Viviana Patti Informatica di base - 6 dicembre 3. Matrici di punteggio (proteine) Un po' più tecnicamente... Sono matrici di valori che indicano la probabilità che una coppia di amminoacidi sia “allineata” Valori: parti intere di log( P{a,b}/ P{a_r}), dove P{a,b} : probabilità di allineamento (non casuale) della coppia di amminoacidi a e b, determinata in base a statistiche tratte da allineamenti noti come validi P{a_r} : probabilità di occorrenza “random” (casuale) dell'aminoacido a in una sequenza Viviana Patti Informatica di base - 6 dicembre 12 Esempio: matrice di valutazione BLOSUM45 proteine Viviana Patti Informatica di base - 6 dicembre 3. Matrici di valutazione (proteine) Un valore in matrice è positivo se P{a,b} è maggiore di P{a_r}: è più probabile che l’allineamento dei due amminoacidi corrispondenti sia il risultato di un evento evolutivo piuttosto che sia casuale Se il valore è < = a zero: è più probabile che l’allineamento dei due amminoacidi corrispondenti sia casuale Idea per assegnare un punteggio all'allineamento: i singoli valori della matrice di valutazioni possono essere sommati, per assegnare un punteggio all’intero allineamento Viviana Patti Informatica di base - 6 dicembre 13 3. Matrici di valutazione (proteine) Valori sulla diagonale: indicano l’ordine di casualità nell’allineamento di due amminoacidi identici nelle 2 sequenze dipendono dalla frequenza di occorrenza dell’amminoacido (più raro è l’amminoacido, più grande la probabilità che l’allineamento dello stesso amminoacido nelle 2 sequenze non sia casuale) Nota: le matrici di valutazione sono matrici triangolari Viviana Patti Informatica di base - 6 dicembre Esempio: BLOSUM62 Viviana Patti Informatica di base - 6 dicembre 14 Struttura diagonale di BLOSUM45 Viviana Patti Informatica di base - 6 dicembre 4. Assegnazione di un punteggio ai gap E’ spesso necessario inserire dei buchi (gap) nelle sequenze da allineare per avere allineamenti significativi Per allestire uno schema di punteggio completo abbiamo bisogno, in aggiunta alla matrice di punteggio di un sistema per attribuire punteggio ai gap (che rappresentano la possibilità che siano avvenute inserzioni o delezioni) Si assegnano penalità (punteggi negativi) per l'inserimento di gap Viviana Patti Informatica di base - 6 dicembre 15 4. Assegnazione di un punteggio ai gap La penalità assegnata a gap singoli è molto più grande di quella assegnata a blocchi di gap consecutivi: Perchè? Le sequenze di DNA possono mutare sia per sostituzioni puntuali che per inserimento o eliminazione di intere sottosequenze di nucleotidi E' più probabile che si verifichi una sola mutazione che coinvolge più nucleotidi adiacenti, piuttosto che si verifichino numerose mutazioni isolate che coinvolgono un unico nucleotide Esempio: -11 per gap singoli, -1 per gap consecutivi Viviana Patti Informatica di base - 6 dicembre 5: Algoritmi di allineamento (cenni) Supponiamo di volere allineare due sequenze stabilendo il punteggio di un "match" e la penalità dovuta all'inserimento di un gap. Supponiamo di volere trovare in termini assoluti l'allineamento migliore tra le due sequenze, allora dovremo usare dei criteri esatti che trovino tra tutti gli allineamenti possibili, con e senza gap, quello con il punteggio più alto. Viviana Patti Informatica di base - 6 dicembre 16 5: Algoritmi di allineamento (cenni) Sono delle specializzazioni per il problema dell'allineamento in bioinformatica di algoritmi generici per la risoluzione di problemi di ottimizzazione: vi è un numero elevato di soluzioni possibili, ma solo un sottoinsieme ristretto è ottimale il problema originale è decomposto in sottoproblemi più semplici (di dimensioni più piccole) esiste una “sequenzialità” nella risoluzione dei sottoproblemi (si risolvono prima i sottoproblemi di dimensioni minori, poi quelli di dimensioni maggiori) Viviana Patti Informatica di base - 6 dicembre 5: Algoritmi di allineamento (cenni) Nel caso di allineamento di due sequenze di dati biologici l'obiettivo è: Massimizzare il numero di coppie di elementi allineati con un punteggio positivo Minimizzare il numero di gap e allineamenti con punteggio negativo Il problema è decomposto nell’allineare in modo ottimale prima coppie di singoli elementi (sottoproblema di dimensione minore) e poi “sottosequenze” via via più grandi (sottoproblemi di dimensioni maggiori) Viviana Patti Informatica di base - 6 dicembre 17 5: Algoritmi di allineamento (cenni) Allineamento di coppie di elementi di due sequenze: 3 decisioni possibili 1. Tenere allineati i due elementi 2. Inserire un gap nella sequenza I 3. Inserire un gap nella sequenza II La decisione 1 ha un punteggio che (sulla base della “scoring matrix” usata) può essere negativo o positivo; 2 e 3 hanno un punteggio negativo Si sceglie la decisione col punteggio più alto ...and so on -> non ci addentriamo nei dettagli di come funziona l'algoritmo Viviana Patti Informatica di base - 6 dicembre 5. Algoritmi di allineamento Esistono diversi tipi di allineamento globale o locale Allineamento globale: corrisponde all'allineamento con il massimo numero di elementi (aminoaciidi o nucleotidi) allineati tra le due sequenze, favorendo così gli allineamenti estesi a tutta la sequenza (cioè similarità globali) . Le sequenze sono allineate secondo la loro intera lunghezza (inserimento di gap se hanno lunghezze diverse) (algoritmo di) Needelman & Wunsch (1970). A general method applicable to the search for similarity in the amino acid sequences of two proteins. J. Mol. Biol. 48: 444-453. Viviana Patti Informatica di base - 6 dicembre 18 5. Algoritmi di allineamento Allineamento locale: Considera anche l'estensione della regione simile. In questo caso, se abbiamo un dato numero di aminoacidi uguali, daremo un punteggio tanto maggiore quanto più concentrata sarà la regione in cui si estende la similarità. Così, molto spesso, si favoriscono similarità non estese a tutta la sequenza, ma localizzate in regioni circoscritte (similarità locali). (algoritmo di) Smith & Waterman (1981). Identification of common molecular subsequences. J. Mol. Biol. 147: 195197. (variante dell’algoritmo per l’allineamento globale) Viviana Patti Informatica di base - 6 dicembre Esempio di allineamento locale L’allineamento locale (fra spezzoni di sequenze) ottimale si ottiene partendo dalla 5a posizione di Seq I, ed inserendo un gap sempre in Seq I score Osserva: penalità per il gap = -7; gli altri punteggi sono assegnati in base a una certa scoring matrix Viviana Patti Informatica di base - 6 dicembre 19 Matrice di allineamento Il modo in cui viene costruito l'allineamento ottimale da un generico algoritmo di allineamento può essere letto come il problema di costruire una matrice di allineamento In base alla scoring matrix e alla penalità da assegnare ai gap, viene costruita una matrice di allineamento Ciascun elemento di questa matrice rappresenta il valore massimo di punteggio che possiamo ottenere per l'allineamento delle sequenze dall'inizio fino a quel punto Nella costruzione della matrice si cerca il percorso che massimizza il punteggio finale Viviana Patti Informatica di base - 6 dicembre Matrice di allineamento di seq.I e II Si riempie la matrice M di allineamento partendo dall’angolo superiore sinistro fino a quello inferiore destro -> Viene tracciato solo il cammino che corrisponde all’allineamento ottimale Viviana Patti Informatica di base - 6 dicembre 20 Tools: Allineamento globale - EMBOSS- Needle http://www.ebi.ac.uk/emboss/align/: NeedlemanWunsch global alignment from EBI - European Bioinf. Inst. -> accetta sequenze memorizzate in formato FASTA Viviana Patti Informatica di base - 6 dicembre specifica dei parametri: - allineamento globale/locale - scoring matrix - proteine/DNA - gap penalties... ALIGN “Utility” del pacchetto software FASTA per l’allineamento globale di coppie di sequenze E' integrato in applicazioni WEB, es. SDSC Biology Workbench http://workbench.sdsc.edu/index.html http://fasta.bioch.virginia.edu/fasta/align.htm Se scaricate il programma è eseguibile ambiente Linux (va compilato); interfaccia a linea di comando Accetta sequenze memorizzate in formato FASTA (lo standard più semplice) Viviana Patti Informatica di base - 6 dicembre 21 ALIGN: esempio di allineamento di 2 sequenze proteiche Viviana Patti Informatica di base - 6 dicembre Tools: Allineamento locale - EMBOSS - water http://www.ebi.ac.uk/emboss/align/: SmithWaterman local alignment from EBI - European Bioinf. Inst. -> accetta sequenze memorizzate in formato FASTA specifica dei parametri: - allineamento globale/locale - scoring matrix - proteine/DNA - gap penalties... Altri Tools: •SSEARCH, LALIGN (utilities FASTA); •BLAST Viviana Patti Informatica di base - 6 dicembre 22 Metodi euristici Allineamento Locale E’ di gran lunga il più usato Spesso si cercano similarità fra spezzoni di sequenze Non sempre le 2 sequenze da allineare sono note: ad esempio quando si usano query a sequenze per ricerche in basi di dati metodi esatti versus metodi euristici metodi euristici: portano a risultati approssimati, ma sono molto veloci e per questo molto usati. Esempi di programmi che usano criteri euristici sono FASTA e BLAST i più comuni programma esatto sono quelli che implementano l'algoritmo di Smith e Waterman... Viviana Patti Informatica di base - 6 dicembre Query basate su sequenze L’allineamento viene usato per cercare sequenze “similari” in DB biologici Input: 1 sequenza s = sequenza di query Il sistema ricerca in un grosso DB le sequenze simili a s e le restituisce in output Problema di efficienza sequenza di query = stringa lunga fino a qualche migliaio di caratteri nel DB migliaia di sequenze di dimensioni analoghe Cercare allineamenti ottimali è in genere impraticabile Soluzione: Si usano tecniche euristiche per velocizzare le ricerche, senza garantire allineamenti ottimali -> si guadagna in efficienza ma si può sbagliare Viviana Patti Informatica di base - 6 dicembre 23 BLAST Basic Local Alignment Search Tool: è il programma ad oggi più diffuso per ricerche su DB basate su sequenze Usato da molti server di ricerca Integrato in GenBank (NCBI) Molto veloce (migliaia di confronti/min): versione efficiente dell’algoritmo di allineamento locale Cerca zone di similarità locali http://www.ncbi.nlm.nih.gov/BLAST/ Viviana Patti Informatica di base - 6 dicembre BLAST Viviana Patti Informatica di base - 6 dicembre 24 BLAST Implementazioni: NCBI BLAST, WU-BLAST (funzionalità aggiuntive per ricerche nelle sequenze Genoma) Integrati entrambi in applicazioni WEB Disponibili anche come pacchetti software free (scaricabili anche solo gli eseguibili) Ambiente Linux Informazioni: sito del NCBI oppure http://blast.wustl.edu Viviana Patti Informatica di base - 6 dicembre BLAST Programmi disponibili blastall (ricerche di tipo generali; modalità: blastp, blastn, blastx, tblastn) blastpgp (allineamenti multipli) bl2seq (allineamenti locali di due sequenze) ... Viviana Patti Informatica di base - 6 dicembre 25 BLAST: modi di funzionamento Diverse modalità di funzionamento (espresse come opzioni di blastall) blastp: query di sequenze proteine (PS) a base dati PS blastn: query di sequenze acido nucleiche (NS) a base dati NS blastx: query NS tradotta nei 6 possibili frame PS a base dati PS tblastn: query PS a base dati NS tradotta nei 6 possibili frame Viviana Patti Informatica di base - 6 dicembre Applicazioni biotecnologiche - Proteine Non sono sicuro che la proteina che ho scoperto sia proprio una nuova proteina. Esiste già? La proteina che ho scoperto è proprio una nuova proteina. Ma assomiglia a qualche proteina nota? Nella proteina che sto studiando (che non è simile a nessun'altra proteina) esistono porzioni simili a proteine note, o domini funzionali noti? Viviana Patti Informatica di base - 6 dicembre 26 Applicazioni biotecnologiche - Acidi nucleici Ho scoperto un nuovo gene e voglio vedere se Il gene è già presente nelle banche dati di acidi nucleici (EMBL/Genebank), anche parzialmente. Il gene è simile ad altri geni presenti nelle banche dati Il gene è simile ad una sequenza particolare Viviana Patti Informatica di base - 6 dicembre 27