Informatica e biotecnologie II parte Banche dati biologiche e analisi di sequenze CGCTTCGGACGAAATCGCATCAGCATACGATCGCATGCCGGGCGGGATAAC ||||||||||||||||||||||||||||| CGAAATCGCATCAGCATACGATCGCATGC Viviana Patti Informatica di base - 24/26 novembre Sequenze: stringhe di caratteri Hanno un formato puramente testuale: sono stringhe di lettere di un certo alfabeto Esempi di sequenze biologiche: Sequenze DNA -> formate da 4 tipi di lettere: A (adenina), C (citosina), G (guanina), T (timina) esempio: ATGCCGTAA, TAG, TTT, … Sequenze RNA -> formate da 4 tipi di lettere: A (adenina), C (citosina), G (guanina),U (uracile) esempio: AUCGCUAA, AUUCG, … Sequenze proteiche: formate da 20 lettere corrispondenti agli amminoacidi: A, C, D, E, F, G, H, I, K, L, M, N, P, Q, R, S, T, V, W, Y esempio: MPIVDTGSVAPLSAAEK… Viviana Patti Informatica di base - 24/26 novembre Sequenze DNA La rappresentazione di una molecola di DNA come sequenza di simboli {A,T,C,G} è ovviamente un'astrazione di una struttura chimica 3D Tuttavia se lo scopo è quello di usare le tecniche per l’analisi di sequenze, possiamo temporaneamente ignorare tale struttura Analogo vale per molecole di RNA Viviana Patti Informatica di base - 24/26 novembre 1 Sequenze di proteine La rappresentazione di proteine come sequenze di simboli {A, C, D, E, F, G, H, I, K, L, M, N, P, Q, R, S, T, V, W, Y} è anche detta struttura primaria A causa della maggiore complessità chimica degli amminoacidi rispetto agli acidi nucleici è più difficile tenere separato il contenuto informativo delle sequenze dalle proprietà degli amminoacidi componenti Viviana Patti Informatica di base - 24/26 novembre Rappresentazione dei dati biologici come sequenze Vantaggi possibilità di analisi mediante tecniche consolidate: pattern matching, pattern recognition portabilità tra vari sistemi operativi compatibilità tra diverse applicazioni trasferibilità tra computer remoti Svantaggi soprattutto per le proteine, il tipo di informazione “sequenziale” ha un contenuto informativo parziale Viviana Patti Informatica di base - 24/26 novembre Confronti fra sequenze I confronti fra sequenze costituiscono la tecnica di analisi fondamentale per applicazioni biotecnologiche: individuazione delle proprietà caratterizzanti famiglie di proteine, e delle funzionalità dei geni definizione di alberi evolutivi definizione di modelli di omologia strumento base per ricerche in DB attraverso “query” basate su sequenze -> Lab Viviana Patti Informatica di base - 24/26 novembre 2 Tipi di analisi sulle sequenze 1. Allineamento di sequenze A coppie: confronto due sequenze (usato ad es. per ricerche in DB a sequenze) Multiplo: confronto N sequenze (usato ad es. per inferenze filogenetiche) 2. Analisi/caratterizzazione di singole sequenze 3. Traduzione “DNA -> proteina” Osservazione: l’allineamento di sequenze a coppie è la tecnica di analisi più usata Principale metodo per l’associazione di funzioni biologiche al genoma e per il trasferimento di tali informazioni fra genomi di organismi diversi Viviana Patti Informatica di base - 24/26 novembre Software di supporto all'analisi Esistono diversi “tool” specializzati che automatizzano l’analisi di sequenze, alcuni dei quali disponibili in rete: GENSCAN: individuazione di “zone di codifica” in sequenze genomiche 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 Protein Machine Server (presso European Institute for Biotechnology): conversione “DNA -> Proteine” e viceversa ... Viviana Patti Informatica di base - 24/26 novembre 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 - 24/26 novembre 3 Tecniche di analisi di sequenze Le stesse tecniche di analisi possono essere applicate a sequenze di nucleotidi (DNA, RNA) e di amminoacidi (proteine), anche se con scopi diversi Viviana Patti Informatica di base - 24/26 novembre Allineamento di sequenze Uno dei problemi di base nell’analisi di sequenze (di nucleotidi o di amminoacidi) consiste nel determinare se due sequenze sono correlate, ossia se è plausibile che derivino da un comune antenato attraverso un processo di mutazione e selezione. I processi di mutazione considerati comprendono sostituzioni, aggiunte 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 - 24/26 novembre Allineamento di sequenze Es: DNA: Per quanto riguarda il DNA uno degli scopi primari è la comprensione del meccanismo delle mutazioni, attraverso lo studio comparativo di sequenze 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 cercando di individuare “similarità” fra sequenze: una delle tecniche fondamentali in Bioinformatica -> 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 - 24/26 novembre 4 Allineamento di sequenze Il problema viene affrontato cercando di individuare “similarità” fra sequenze: una delle tecniche fondamentali in Bioinformatica Concetto base: trovare l’allineamento ottimale (globale o locale) di due sequenze Viviana Patti Informatica di base - 24/26 novembre Allineamento ottimale Il criterio di ottimalità si basa sull’attribuzione di un punteggio (score) tanto più elevato quanto maggiore è la similarità delle due sequenze -> modello probabilistico per valutare tali punteggi (scoring model ). Viviana Patti Informatica di base - 24/26 novembre Allineamento semplice L’allineamento semplice si ottiene facendo scorrere una sequenza sull’altra un nucleotide/amminoacido alla volta CGCTTCGGACGAAATCGCATCAGCATACGATCGCATGCCGGGCGGGATAAC ||||||||||||||||||||||||||||| CGAAATCGCATCAGCATACGATCGCATGC cerco il massimo numero di corrispondenze Viviana Patti Informatica di base - 24/26 novembre 5 Allineamento di sequenze con gap La possibilità di avere aggiunte e cancellazioni fa sì che nell’allineamento vi possano essere dei vuoti (gap). A meno che le sequenze non coincidano perfettamente è molto spesso necessario introdurre “gap” per trovare un più alto numero di corrispondenze La figura mostra un possibile allineamento di due catene polipeptidiche. Legenda: la linea centrale indica con lettere i residui identici e con un segno + i residui simili (rispetto alle proprietà chimico-fisiche) Un segno - denota i gap Viviana Patti Informatica di base - 24/26 novembre Allineamento di sequenze Approccio: Passo1: confrontare le sequenze (inizialmente in modo arbitrario) Passo2: assegnare un punteggio sulla base di criteri fissati all'allineamento 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 - 24/26 novembre Allineamento di sequenze Perché sia biologicamente attendibile bisogna risolvere alcune questioni: Come stabilire il punteggio per l’allineamento? -> deve dare una misura della significatività dei singoli allineamenti? es. +1 per posizioni uguali, -1 per discrepanze Possono essere inseriti dei buchi (gap) nelle sequenze per trovare corrispondenze altrove? Come valutare i gap? -> "sforacchiando troppo magari influenzerei eccessivamente l'esito del confronto Quale algoritmo usare per la scelta dell’allineamento ottimale/più significativo? Esistono alcune differenze fra allineamenti di sequenze DNA e allineamenti di sequenze proteiche Viviana Patti Informatica di base - 24/26 novembre 6 Allineamento: terminologia Dato un singolo allineamento Identità: occorrenza dello stesso elemento (base o aminoacido) nella stessa posizione delle 2 sequenze allineate Similarità (proteine): occorrenza di amminoacidi chimicamente simili (reciprocamente sostituibili) 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 - 24/26 novembre Esempio: allineamento di sequenze di proteine e DNA proteine DNA Viviana Patti Informatica di base - 24/26 novembre Matrici di valutazione: proteine Matrici di valutazione: scoring matrix 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 Cosa sono? Sono tabelle 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” dell'aminoacido a in una sequenza Viviana Patti Informatica di base - 24/26 novembre 7 Esempio: matrice di valutazione BLOSUM45 (proteine) Viviana Patti Informatica di base - 24/26 novembre Matrici di valutazione (proteine) Un valore in tabella è 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 - 24/26 novembre 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’aminoacido (più raro è l’aminoacido, più grande la probabilità che l’allineamento dello stesso aminoacido nelle 2 sequenze non sia casuale) Nota: le matrici di valutazione sono matrici triangolari Viviana Patti Informatica di base - 24/26 novembre 8 Struttura diagonale Viviana Patti Informatica di base - 24/26 novembre Matrici di valutazione (acidi nucleici) Sono molto più semplici di quelle usate per le proteine non si tiene conto della natura chimica (similarità) non si tiene conto della frequenza delle basi esempio BLAST: punteggio (standard) positivo per le identità, negativo per le discrepanze Viviana Patti Informatica di base - 24/26 novembre Gap Le sequenze di DNA possono mutare sia per sostituzioni puntuali che per inserimento o eliminazione di intere sottosequenze di nucleotidi E’ spesso necessario inserire dei buchi (gap) nelle sequenze da allineare per avere allineamenti significativi Tale operazione va fatta con discrezione: si assegnano penalità (punteggi negativi) per l'inserimento di gap Viviana Patti Informatica di base - 24/26 novembre 9 Valutazione dei gap La penalità assegnata a gap singoli è molto più grande di quella assegnata a blocchi di gap consecutivi: Perchè? 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 - 24/26 novembre 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 - 24/26 novembre 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 - 24/26 novembre 10 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 - 24/26 novembre 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 Viviana Pattimatrix Informatica di base - 24/26 novembre Matrice di allineamento Il modo in cui viene costruito l'allineamento ottimale da un generico algoritmo di allineamento è intuitivamente il seguente 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 - 24/26 novembre 11 Matrice di allineamento di seq.I e II Viviana Patti Informatica di base - 24/26 novembre Allineamento globale Esistono diversi tipi di allineamento globale o locale Allineamento globale: Le sequenze sono allineate secondo la loro intera lunghezza (inserimento di gap se hanno lunghezze diverse) 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 Algoritmo Needleman-Wunsch Viviana Patti Informatica di base - 24/26 novembre EMBOSS- Needle: Allineamento globale http://www.ebi.ac.uk/emboss/align/: NeedlemanWunsch global alignment from EBI - European Bioinf. Inst. -> accetta sequenze memorizzate in formato FASTA Viviana Patti specifica dei parametri: - allineamento globale/locale - scoring matrix - proteine/DNA - gap penalties... Informatica di base - 24/26 novembre 12 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 - 24/26 novembre ALIGN: esempio di allineamento di 2 sequenze protiche Viviana Patti Informatica di base - 24/26 novembre Allinemento locale Locale (vedi esempio diapositive precedenti) 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 Viviana Patti Informatica di base - 24/26 novembre 13 Allineamento locale Non richiede che il confronto di due sequenze sia svolto per la loro intera lunghezza Variante dell’algoritmo per l’allineamento globale: algoritmo Smith-Waterman In caso di punteggio parziale negativo, l’allineamento corrente può essere abbandonato L’allineamento può terminare in qualsiasi punto della matrice Tools: SSEARCH, LALIGN (utilities FASTA); BLAST EMBOSS: Smith-Waterman Viviana Patti Informatica di base - 24/26 novembre EMBOSS- water: Allineamento globale 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... Viviana Patti Informatica di base - 24/26 novembre 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 - 24/26 novembre 14 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 - 24/26 novembre BLAST Viviana Patti Informatica di base - 24/26 novembre 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 - 24/26 novembre 15 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 - 24/26 novembre 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 - 24/26 novembre Traduzione DNA -> proteine Per sintetizzare una proteina, bisogna prima ricavarne la struttura primaria dal DNA Per la traduzione “DNA -> proteina” occorrono: la sequenza DNA un codice genetico un programma di traduzione Viviana Patti Informatica di base - 24/26 novembre 16 Traduzione DNA -> proteine Concetti chiave ogni aminoacido è codificato da una sequenza di tre basi del DNA (codone) le basi sono 4 (A,C,G,T); dato un alfabeto di 4 lettere, quante possibili triplette? 43 =64 possibili codoni ho solo 20 amminoacidi -> ci sono codifiche ridondanti: l’aminoacido T corrisponde a ACT, ACC, ACA, ACG (4 triplette) alcuni codoni hanno la funzione di “segnali” di stop per il processo di sintesi Viviana Patti Informatica di base - 24/26 novembre Traduzione DNA -> proteine Complessità del problema: Nella sequenza DNA non ci sono delimitatori che marcano la fine e l’inizio dei codoni si può iniziare a leggere la sequenza partendo da un nucleotide in posizione i oppure i+1 oppure i+2 La sequenza DNA e la sua sequenza complementare possono essere lette in avanti o all’indietro bisogna tradurre tutti i (6) possibili frame di lettura Viviana Patti Informatica di base - 24/26 novembre Traduzione DNA -> proteine Uno spezzone di sequenza DNA e tre delle possibili 6 traduzioni Viviana Patti Informatica di base - 24/26 novembre 17 Traduzione: tools BLAST e FASTA traducono automaticamente query e/o sequenze della base dati per fare confronti Programma di traduzione “DNA ↔ proteine” integrato nel Protein Machine Server del EBI (European Bioinformatics Institute): http://www.ebi.ac.uk/translate/ Viviana Patti Informatica di base - 24/26 novembre 18