1 / 75

I programmi di ricerca in banche dati possono essere

I programmi di ricerca in banche dati possono essere. residenti in un calcolatore di cui siamo proprietari o utenti. oppure essere utilizzabili via web. Il concetto di directory. bio1. directory principale. primo livello di sub-directories. acidi nucleici. proteine.

oria
Download Presentation

I programmi di ricerca in banche dati possono essere

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. I programmi di ricerca in banche dati possono essere • residenti in un calcolatore di cui siamo proprietari o utenti • oppure essere utilizzabili via web

  2. Il concetto di directory bio1 directory principale primo livello di sub-directories acidi nucleici proteine secondo livello di sub-directories human coli mouse

  3. Come si effettua una ricerca in una banca dati si possono effettuare ricerche utilizzando parole-chiave (es.: emoglobina) e ricavando i nomi dei files che le contengono oppure si possono utilizzare sequenze in input per ricavare liste di sequenze simili ad esse

  4. a cosa serve effettuare ricerche per similarità di sequenza in banche dati • confronto tra sequenze • costruzione di alberi filogenetici • identificazione di domini funzionali • costruzione di modelli per omologia in 3D

  5. ATTENZIONE alla proprietà di linguaggio! similarità omologia ≠ é un dato che prescinde da eventuali ipotesi sulla causa della similarità stessa due sequenze si dicono omologhe se condividono una stessa origine filogenetica

  6. La similarità biologica è spesso dovuta ad omologia, ma può anche presentarsi per caso oppure per fenomeni di convergenza adattativa Ad esempio: l’ala di un uccello e l’ala di un pipistrello si sono evolute indipendentemente e di conseguenza non sono omologhe Nel trattare le sequenze è sempre più corretto utilizzare il termine similarità, in quanto è sempre possibile stabilire quanto due sequenze siano simili, mentre non sempre si può decidere se la similarità sia dovuta ad omologia, a convergenza adattativa, oppure al caso

  7. un po’ di terminologia… strutture o sequenze ortologhe in due organismi sono sequenze omologhe che sono evolute dalla stessa caratteristica nel loro ultimo antenato comune ma che non necessariamente mantengono la loro funzione ancestrale. sequenze omologhe la cui evoluzione riflette invece eventi di duplicazione genica si definiscono paraloghe. per esempio, la catena  dell’ emoglobina e’ un paralogo della catena  dell’ emoglobina e della mioglobina, dal momento che ambedue si sono evolute dallo stesso gene ancestrale attraverso ripetuti eventi di duplicazione genica.

  8. in questa prima parte della lezione ci occuperemo solo di COPPIE di sequenze

  9. calcolo della similarità tra due sequenze date allineamento similarità • non si possono allineare due sequenze senza definire criteri si similarità • per valutare la similarità tra due sequenze, dobbiamo prima allinearle

  10. calcolo della similarità tra due sequenze date acidi nucleici (4 possibili residui nucleotidici) proteine (20 possibili residui aminoacidici) INPUT la bioinformatica in generale studia le sequenze come stringhe di caratteri

  11. calcolo della similarità tra due sequenze date cominciamo quindi col definire una prima semplice misura di similarità, data dalla somma dei caratteri delle due sequenze che si appaiano esattamente facciamo scorrere una delle due sequenze sull’altra in tutte le posizioni possibili (generiamo tutti i possibili allineamenti) e valutiamo la similarità di sequenza di ognuno degli allineamenti generati

  12. calcolo della similarità tra due sequenze date esempio: AAKKQW AAKQW definiamo similarità di sequenza tra le due sequenze come il più alto dei punteggi ottenuti l’allineamento associato alla più alta valutazione della similarità di sequenza verrà scelto come il migliore degli allineamenti possibili

  13. calcolo della similarità tra due sequenze date (senza gaps) 0 3 0 1 0 0 0 0 4 0 AAKKQW AAKKQW AAKQW AAKQW AAKKQW AAKKQW AAKQW AAKQW AAKKQW AAKKQW AAKQW AAKQW AAKKQW AAKKQW AAKQW AAKQW AAKKQW AAKKQW AAKQW AAKQW

  14. calcolo della similarità tra due sequenze date (senza gaps) AAKKQW 6 caratteri AAKQW 5 caratteri abbiamo valutato 10 (5+5) allineamenti abbiamo confrontato 30 (6x5) caratteri

  15. Numero degli allineamenti generati Numero dei confronti tra residui effettuati 1 1 20 6 AAKKQW AAKKQW AAKQW AAKQW 2 3 24 7 AAKKQW AAKKQW AAKQW AAKQW 6 3 8 27 AAKKQW AAKKQW AAKQW AAKQW 4 10 29 9 AAKKQW AAKKQW AAKQW AAKQW 15 5 10 30 AAKKQW AAKKQW AAKQW AAKQW

  16. calcolo della similarità tra due sequenze date un programma per calcolatore ha un tempo di esecuzione che in generale dipende dal numero di operazioni necessarie per eseguirlo un programma che calcoli la similarità di sequenza tra due sequenze date deve effettuare un numero di confronti che dipende dal prodotto della lunghezza delle due sequenze O(nm) ~ O(n2)

  17. Allineamento semplice L’allineamento semplice si ottiene facendo scorrere una sequenza sull’altra un nucleotide alla volta (passo 1) CGCTTCGGACGAAATCGCATCAGCATACGATCGCATGCCGGGCGGGATAAC || | | CGAAATCGCATCAGCATACGATCGCATGC CGCTTCGGACGAAATCGCATCAGCATACGATCGCATGCCGGGCGGGATAAC | | | | | | | | CGAAATCGCATCAGCATACGATCGCATGC CGCTTCGGACGAAATCGCATCAGCATACGATCGCATGCCGGGCGGGATAAC | | | CGAAATCGCATCAGCATACGATCGCATGC CGCTTCGGACGAAATCGCATCAGCATACGATCGCATGCCGGGCGGGATAAC || | |||| | | | CGAAATCGCATCAGCATACGATCGCATGC CGCTTCGGACGAAATCGCATCAGCATACGATCGCATGCCGGGCGGGATAAC | ||| | || || CGAAATCGCATCAGCATACGATCGCATGC CGCTTCGGACGAAATCGCATCAGCATACGATCGCATGCCGGGCGGGATAAC || | | || || CGAAATCGCATCAGCATACGATCGCATGC CGCTTCGGACGAAATCGCATCAGCATACGATCGCATGCCGGGCGGGATAAC || || || | CGAAATCGCATCAGCATACGATCGCATGC CGCTTCGGACGAAATCGCATCAGCATACGATCGCATGCCGGGCGGGATAAC | | | | CGAAATCGCATCAGCATACGATCGCATGC CGCTTCGGACGAAATCGCATCAGCATACGATCGCATGCCGGGCGGGATAAC || CGAAATCGCATCAGCATACGATCGCATGC CGCTTCGGACGAAATCGCATCAGCATACGATCGCATGCCGGGCGGGATAAC ||||||||||||||||||||||||||||| CGAAATCGCATCAGCATACGATCGCATGC

  18. ricerca per similarità in una banca dati Quando si deve effettuare una ricerca per similarità di sequenza in una banca dati, l’operazione di confronto tra due sequenze deve inoltre essere ripetuta per ogni coppia di sequenze: 1) sequenza in input (query sequence) 2) ognuna delle sequenze della banca dati

  19. ricerca per similarità in una banca dati esiste quindi una forte necessità di utilizzare algoritmi RAPIDI!

  20. ricerca per similarità in una banca dati … e non abbiamo ancora considerato tutte le ulteriori complicazioni legate alla possibile presenza di gaps nell’allineamento tra due sequenze!

  21. calcolo della similarità tra due sequenze date necessità di trattare l’inserimento e/o la delezione di caratteri (gaps) IPLMTRWDQEQESDFGHKLPIYTREWCTRG                  ||||||||||       CHKIPLMTRWDQQESDFGHKLPVIYTREW 10 IPLMTRWDQEQESDFGHKLP-IYTREWCTRG        ||||||||| |||||||||| ||||||     CHKIPLMTRWDQ-QESDFGHKLPVIYTREW 25

  22. calcolo della similarità tra due sequenze date l’inserimento di gaps comporta una modifica del nostro iniziale SEMPLICE metodo di misura della similarità possiamo associare un punteggio di penalizzazione(gap penalty) per ogni gap aggiunto all’allineamento o attribuire un punteggio di penalizzazione diverso per l’apertura di un gap nell’allineamento o per il suo allungamento (gap extension penalty)

  23. calcolo della similarità tra due sequenze date IPLMTRWDQEQESDFGHKLP-IYTREWCTRG    ||||||||| |||||||||| |||||| CHKIPLMTRWDQ-QESDFGHKLPVIYTREW gap creation penalty (es.: -1 per ogni gap) IPLMTRWDQEQESDFGHKLP----IYTREWCTRG    ||||||||| |||||||||| |||||| CHKIPLMTRWDQ-QESDFGHKLPVGSSIYTREW gap extension penalty (es.: -0.1 per ogni ins/del successiva alla prima)

  24. CGCTTCGGACGAAATCGCATCA-GCATACGATCGCATGCCGGGCGGGATAA ||||||||||||| |||||||||||||||| CGAAATCGCATCACGCATACGATCGCATGC Allineamento con “gaps” L’allineamento semplice non sempre funziona bene CGCTTCGGACGAAATCGCATCAGCATACGATCGCATGCCGGGCGGGATAAC || | | | | | | | | CGAAATCGCATCACGCATACGATCGCATGC CGCTTCGGACGAAATCGCATCAGCATACGATCGCATGCCGGGCGGGATAAC | | | CGAAATCGCATCACGCATACGATCGCATGC CGCTTCGGACGAAATCGCATCAGCATACGATCGCATGCCGGGCGGGATAAC | | ||||| | | | CGAAATCGCATCACGCATACGATCGCATGC CGCTTCGGACGAAATCGCATCAGCATACGATCGCATGCCGGGCGGGATAAC || | | || || CGAAATCGCATCACGCATACGATCGCATGC CGCTTCGGACGAAATCGCATCAGCATACGATCGCATGCCGGGCGGGATAAC | ||| | | || || CGAAATCGCATCACGCATACGATCGCATGC CGCTTCGGACGAAATCGCATCAGCATACGATCGCATGCCGGGCGGGATAAC || | || | CGAAATCGCATCACGCATACGATCGCATGC CGCTTCGGACGAAATCGCATCAGCATACGATCGCATGCCGGGCGGGATAAC || || | | CGAAATCGCATCACGCATACGATCGCATGC CGCTTCGGACGAAATCGCATCAGCATACGATCGCATGCCGGGCGGGATAAC | | | CGAAATCGCATCACGCATACGATCGCATGC CGCTTCGGACGAAATCGCATCAGCATACGATCGCATGCCGGGCGGGATAAC || |||||||||||||||| CGAAATCGCATCACGCATACGATCGCATGC CGCTTCGGACGAAATCGCATCAGCATACGATCGCATGCCGGGCGGGATAAC ||||||||||||| | CGAAATCGCATCACGCATACGATCGCATGC A meno che le sequenze non coincidano perfettamente è molto spesso necessario introdurre “gaps”

  25. calcolo della similarità tra due sequenze date • un algoritmo di allineamento che tenesse conto • del possibile inserimento di un gap in ogni possibile posizione delle due sequenze e • di ogni possibile lunghezza di un gap in ogni possibile posizione • sarebbe estremamente • LENTO

  26. calcolo della similarità tra due sequenze date da ciò discende la necessità di trovare soluzioni alternative, ovvero nuovi algoritmi per l’allineamento delle sequenze

  27. Matrici di punti - dot matrices consideriamo una matrice in cui la prima riga in alto coincide con la sequenza1 scritta da sinistra a destra e in cui la prima colonna a sinistra coincide con la sequenza2 scritta dall’alto in basso in ogni punto in cui la sequenza nella riga e nella colonna coincidono, introduciamo un asterisco nel grafico. Le regioni delle sequenze che possono essere allineate senza introdurre gap emergono come una serie contigua di punti sulla diagonale

  28. calcolo della similarità tra due sequenze date - Uso di matrici di punti (DOT MATRICES) m a r g a r e t o a k l e y d a y h o f f m * a * * * * r * * g * a * * * * r * * e * * t * * d a * * * y * * h * o * * f f *

  29. calcolo della similarità tra due sequenze date - Uso di matrici di punti (DOT MATRICES) le dot matricesesprimono una buona rappresentazione grafica di un allineamento consentono di visualizzare similarità di sequenza anche in presenza di gaps, che appaiono come ‘salti di diagonale’ esistono programmi in grado di sfruttare gli schemi tipo ‘dot matrix’ per valutare la similarità tra sequenze e identificare il miglior allineamento

  30. Matrici di punti - dot matrices il rumore di fondo é molto alto perché molti dei match tra sequenze costruiti in questo modo sono casuali e dipendono da singole occorrenze dello stesso residuo in posizioni diverse delle due sequenze. possiamo calcolare il numero di match in una finestra, per esempio di 5 o 15 residui / basi, e decidere di introdurre un punto nel grafico solo se una certa percentuale minima di questi (es. 50%) sono identici. il punto viene posizionato al centro della finestra.

  31. calcolo della similarità tra due sequenze date - Uso di matrici di punti (DOT MATRICES)

  32. Le ricerche di similarità si basano sul confronto sistematico di una sequenza di partenza (generalmente chiamata query) con ognuna delle sequenze del database. Considerando che molti database di sequenze, come ad esempio GenBank contengono oltre un milione di sequenze diverse è necessario disporre di programmi in grado di portare avanti queste ricerche in modo automatico. Alcuni programmi, come BLAST, sono estremamente efficienti e sono in grado di portare a termine una ricerca di similarità in pochi secondi. Questi programmi si basano essenzialmente su procedure che: * per ogni sequenza del database * effettua l'allineamento; * attribuisce un punteggio; * se il punteggio è alto lo memorizza; * ripete fino alla fine delle sequenze; * mostra la lista dei migliori allineamenti trovati

  33. E' importante notare che è essenziale attribuire un punteggio agli allineamenti, altrimenti non si avrebbe modo di stabilire se un allineamento è migliore di un altro. Deve essere notato che con l'approccio della dot matrix non viene trovato alcun allineamento, ma viene semplicemente mostrata una matrice che deve essere interpretata visivamente. Quindi per effettuare ricerche di similarità questo semplice approccio non e’ sufficiente: abbiamo bisogno di un sistema che sia anche in grado di trovare automaticamente gli allineamenti migliori. Molto schematicamente il problema degli allineamenti viene risolto da programmi che sono in grado di identificare il "percorso" migliore all'interno di una dot matrix. Cioè il percorso che totalizza il massimo punteggio. Per percorso si intende l'insieme di caselle che corrispondono agli aminoacidi appaiati.

  34. calcolo della similarità tra due sequenze date - le matrici di sostituzione nel caso delle sequenze proteiche, gli allineamenti e il calcolo della similarità possono essere notevolmente migliorati dall’introduzione di diversi schemi di punteggio, noti come MATRICI DI SOSTITUZIONE che comprendono punteggi diversi da 0 e da 1 per l’appaiamento di residui amminoacidici

  35. Molto semplicemente, il punteggio può essere calcolato attribuendo un valore positivo ad ogni lettera appaiata correttamente e una penalità ad ogni gap. La somma di questi valori rappresenta quindi il punteggio dell'intero allineamento. Nel caso più semplice possiamo assegnare il valore di '1' ad ogni identità e '0' ad ogni "mismatch" cioè ai caratteri non appaiati correttamente. Un tale criterio non è però molto valido perchè non ha senso penalizzare tutti i mismatch allo stesso modo. Ad esempio la leucina e l'isoleucina sono molto simili; quindi se questi due aminoacidi vengono appaiati possiamo pensare che viene rispettato un certo criterio di similarità, anche se non c'è identità assoluta. Estendendo questo ragionamento possiamo attribuire ad ogni possibile coppia di aminoacidi un punteggo di appaiamento. In questo modo otteniamo una matrice di sostituzione.

  36. le matrici di sostituzione K R L D E I H V C G A Y F P W potremmo raggruppare residui in classi a seconda della similarità delle loro caratteristiche chimico-fisiche, e sommare 1 al punteggio per appaiamenti di residui della stessa classe e sottrarre 1 per residui di classi diverse

  37. le matrici di sostituzione • Margaret Dayhoff raccolse statistiche sulle frequenze di sostituzioni amminoacidiche nelle sequenze proteiche allora note • via via che le sequenze divergono, le mutazioni si accumulano • per misurare la probabilità relativa di una particolare sostituzione (per esempio Asp--> Glu) possiamo contare quanti Asp sono diventati Glu in allineamenti di sequenze omologhe

  38. le matrici di sostituzione • è comunque necessario evitare di considerare allineamenti in cui possano essere avvenuti sostituzioni multiple in determinate posizioni • per cui questi calcoli devono venire effettuati su coppie di sequenze MOLTO SIMILI tra loro, in modo da poter assumere che nessuna posizione è mutata più di una volta • la divergenza di due sequenze si può misurare in PAM: • 1 PAM = 1 Percent Accepted Mutation

  39. le matrici di sostituzione • due sequenze sono separate da 1 PAM se hanno il 99% di identità • la frequenza delle sostituzioni amminoacidiche può essere calcolata in coppie di sequenze poco divergenti (1 PAM) • frequenze di sostituzioni amminoacidiche per sequenze più divergenti possono essere calcolate a partire da queste, fino ad ottenere matrici PAM 250, corrispondenti a similarità di sequenza del 20%

  40. le matrici di sostituzione PAM 0 30 80 110 200 250 % identità 100 75 60 50 25 20 se due sequenze sono filogeneticamente distanti è opportuno usare matrici PAM con indici più alti, e viceversa

  41. Il tutto si può facilmente rappresentare con una matrice di 20x20, quattrocento valori. La seguente tabella corrisponde alla matrice PAM250

  42. A R N D C Q E G H I L K M F P S T W Y V B Z A 4 -1 -2 -2 0 -1 -1 0 -2 -1 -1 -1 -1 -2 -1 1 0 -3 -2 0 -2 R -1 5 0 -2 -3 1 0 -2 0 -3 -2 2 -1 -3 -2 -1 -1 -3 -2 -3 -1 N -2 0 6 1 -3 0 0 0 1 -3 -3 0 -2 -3 -2 1 0 -4 -2 -3 3 D -2 -2 1 6 -3 0 2 -1 -1 -3 -4 -1 -3 -3 -1 0 -1 -4 -3 -3 4 C 0 -3 -3 -3 9 -3 -4 -3 -3 -1 -1 -3 -1 -2 -3 -1 -1 -2 -2 -1 -3 Q -1 1 0 0 -3 5 2 -2 0 -3 -2 1 0 -3 -1 0 -1 -2 -1 -2 0 E -1 0 0 2 -4 2 5 -2 0 -3 -3 1 -2 -3 -1 0 -1 -3 -2 -2 1 G 0 -2 0 -1 -3 -2 -2 6 -2 -4 -4 -2 -3 -3 -2 0 -2 -2 -3 -3 -1 H -2 0 1 -1 -3 0 0 -2 8 -3 -3 -1 -2 -1 -2 -1 -2 -2 2 -3 0 I -1 -3 -3 -3 -1 -3 -3 -4 -3 4 2 -3 1 0 -3 -2 -1 -3 -1 3 -3 L -1 -2 -3 -4 -1 -2 -3 -4 -3 2 4 -2 2 0 -3 -2 -1 -2 -1 1 -4 K -1 2 0 -1 -3 1 1 -2 -1 -3 -2 5 -1 -3 -1 0 -1 -3 -2 -2 0 M -1 -1 -2 -3 -1 0 -2 -3 -2 1 2 -1 5 0 -2 -1 -1 -1 -1 1 -3 F -2 -3 -3 -3 -2 -3 -3 -3 -1 0 0 -3 0 6 -4 -2 -2 1 3 -1 -3 P -1 -2 -2 -1 -3 -1 -1 -2 -2 -3 -3 -1 -2 -4 7 -1 -1 -4 -3 -2 -2 S 1 -1 1 0 -1 0 0 0 -1 -2 -2 0 -1 -2 -1 4 1 -3 -2 -2 0 T 0 -1 0 -1 -1 -1 -1 -2 -2 -1 -1 -1 -1 -2 -1 1 5 -2 -2 0 -1 W -3 -3 -4 -4 -2 -2 -3 -2 -2 -3 -2 -3 -1 1 -4 -3 -2 11 2 -3 -4 Y -2 -2 -2 -3 -2 -1 -2 -3 2 -1 -1 -2 -1 3 -3 -2 -2 2 7 -1 -3 V 0 -3 -3 -3 -1 -2 -2 -3 -3 3 1 -2 1 -1 -2 -2 0 -3 -1 4 -3 B -2 -1 3 4 -3 0 1 -1 0 -3 -4 0 -3 -3 -2 0 -1 -4 -3 -3 4 Z -1 0 0 1 -3 3 4 -2 0 -3 -3 1 -1 -3 -1 0 -1 -3 -2 -2 1 BLOSUM 62

  43. Allineamento globale o locale? Allineamento globale: LTGARDWEDIPLWTDWDIEQESDFKTRAFGTANCHK ||.  | |  |  .|     .|  ||  || | || TGIPLWTDWDLEQESDNSCNTDHYTREWGTMNAHKAG Allineamento locale: TGARDWEDIPLWTDWDIEQESDFKTRAFGTANCHK        ||||||||.|||||      TGIPLWTDWDLEQESDNSCNTDHYTREWGTMNAHK

  44. sost. cons. id. 14 3 13 1 Allineamento globale o locale? Allineamento globale: LTGARDWEDIPLWTDWDIEQESDFKTRAFGTANCHK ||.  | |  |  .|     .|  ||  || | || TGIPLWTDWDLEQESDNSCNTDHYTREWGTMNAHKAG Allineamento locale: TGARDWEDIPLWTDWDIEQESDFKTRAFGTANCHK        ||||||||.|||||      TGIPLWTDWDLEQESDNSCNTDHYTREWGTMNAHK Ma qual è l’allineamento MIGLIORE?

  45. Allineamento globale o locale? 1) scegliamo il miglior allineamento dal punto di vista biologico, e poi… 2) cerchiamo il modo di privilegiarlo dal punto di vista computazionale spesso gli allineamenti locali hanno una migliore rispondenza con la realtà funzionale

  46. Allineamento globale o locale? similarità locali servono a identificare proteine anche diverse, ma che contengono lo stesso dominio

  47. esoni introni Allineamento globale o locale? a livello di DNA, troviamo regioni con similarità locali che riflettono situazioni interessanti: ad esempio introni/esoni, inserzioni/delezioni, transposoni, regioni promotore…

  48. Allineamento globale o locale? gli allineamenti globali possono comunque essere utilizzati per confrontare accuratamente due sequenze la cui similarità sia estesa per tutta la lunghezza.

  49. allineamenti tra due sequenze abbiamo definito un nuovo schema di punteggi per la valutazione della similarità tra due sequenze • una matrice di sostituzione per valutare l’appaiamento tra qualsiasi coppia di residui • penalizzazioni appropriate per l’apertura o l’estensione di un gap

  50. allineamenti tra due sequenze ci serve ora un metodo (un algoritmo) per generare il miglior allineamento possibile tra due sequenze, tenendo anche conto delle possibili inserzioni e delezioni un algoritmo ‘famoso’ per l’allineamento tra due sequenze si basa su una tecnica matematica nota come programmazione dinamica

More Related