Lezione06 - Blast e Fasta
Transcript
Lezione06 - Blast e Fasta
Metodi euristici di allineamento Algoritmi euristici di allineamento Sono nati insieme alle banche dati, con lo scopo di permettere una ricerca rapida, anche se meno accurata, utilizzando la similarità a coppie (o “pairwise”) sulle migliaia di sequenze depositate. Attualmente i programmi più utilizzati sono: FASTA: Lipman & Pearson (1985) Nasce con il nome di FAST-P (ricerca veloce di proteine), ma poi viene adattato per gli acidi nucleici (FAST-N), quindi riunito in un FAST per tutti, FAST-A, o semplicemente FASTA. http://www.ebi.ac.uk/Tools/fasta33/index.html BLAST: Altshul (1990) Il Basic Local Analysis Search Tool viene pensato http://blast.ncbi.nlm.nih.gov/Blast.cgi FASTA Il frontend più utilizzato di FASTA è quello disponibile presso la EBI: l’interfaccia web permette di configurare il programma e di ottenere in diretta o tramite e-mail i risultati. Metodo dell’indicizzazione L’algoritmo implementato in FASTA si basa su una strategia di indicizzazione delle parole e sul concetto di “Lookup Table”: la proteina QUERY viene spezzettata in parole di lunghezza ktup (k-tuples) e la query viene così indicizzata (cioè si memorizzano solo gli indici, non la coppia). ELDERILGEVQTFDERIKGD 1.EL 2.LD 14.DE 3.DE 15.ER 4.ER 5.RI 6.IL 7.LG ...... 20.GD ktup = 2 Maggiore è il valore ktup più rapida e meno accurata sarà la ricerca. Per una proteina a ktup = 2 potrò avere al massimo 202 = 400 combinazioni, sempre. Lookup tables e offset (diagonali) Ogni SUBJECT della banca dati viene pre-indicizzata con la stessa k-tup, e si procede, data la query e ciascuna subject, alla creazione delle tabelle degli offset (indice della query meno indice della subject). Le diagonali che totalizzano il miglior punteggio (in generale almeno 10) vengono registrate. ------------------- QUERY ------------------ ------------SUBJECT--------- 0 1EL 2LD 3DE 4ER 5RI 6IL 7LG 8GE 9EV 1ER 0 1 2 3 4 5 6 7 8 2RI -1 0 1 2 3 4 5 6 7 3IL -2 -1 0 1 2 3 4 5 6 4LD -3 -2 -1 0 1 2 3 4 5 5DE -4 -3 -2 1 0 1 2 3 4 6EV -5 -4 -3 -2 -1 0 1 2 3 Total = 3 Offset = 3 Total= 2 Offset = -2 Essendo somme di coppie, il numero di conteggi da fare non è più il prodotto delle lunghezze, bensì qualcosa di simile alla somma delle due, con un netto decremento del tempo di calcolo. Scelta euristica dei subject I conteggi per calcolare le migliori diagonali sono semplici somme i cui valori vengono presi da matrici di sostituzione (es. PAM, BLOSUM). Le migliori diagonali identificano le Best Initial Regions, i cui punteggi sono definiti Init1. Query Query Subject Subject Per ogni subject ho uno score che definisce la similarità media della query con ogni subject: in pratica, dato un Init1 minimo, vengono scelte in modo euristico delle sequenze candidate per analisi più approfondite. Congiungimento delle diagonali Il passaggio successivo di FASTA è il tentativo di congiungere al meglio ogni BIR dei subject prescelti utilizzando criteri come: - Esclusione di eventuali overlap fra regioni - Punteggio superiore ad un "valore-soglia“ - Punteggi di penalizzazione (es. -16) per i gap Query Subject Subject Le regioni vengono allungate e avranno un nuovo score, detto InitN. Questa è una seconda soglia di scelta, alcune sequenze non passeranno questo test e verranno a loro volta scartate. Refinement finale con pairwise esaustivo Alla fine tutta la regione della subject riconosciuta come simile viene allineata mediante l’algoritmo di Smith & Waterman, tenendo una finestra di analisi intorno alla diagonale principale abbastanza stretta (< 20 residui). Query Query Subject Subject Lo score definitivo deriva quindi da una allineamento pairwise esaustivo, ed è definito Opt. Query Query Subject Subject Fase 1 : Indicizzazione col metodo lookup table Fase 2 : Calcolo degli Init1, generazione delle bits Query Query Subject Subject Fase 3: Definizione delle sequenze da approfondire, calcolo degli InitN Fase 4 : Smith-Waterman (Opt) Analisi Monte Carlo per la significatività Si cerca di valutare quanto il risultato che ottengo è significativo, considerando l’ipotesi alternativa che il risultato ottenuto sia dovuto al caso. Il concetto da tenere presente è che il risultato che si ottiene è dovuto agli aminoacidi che sono disposti in un certo ordine: se cambio l’ordine, lo score si dovrebbe perdere: Monte Carlo: 1. Prendere ogni subject, registrare lo score (X) 2. Produrre 100-200 versioni “randomizzate” di questo 3. Allineare ogni random con fasta, registrando gli Opt (y) 4. Calcolare la media (Y) e la deviazione standard (W) degli score Opt calcolati in 3. X-Y 5. Standardizzare calcolando lo Z-score Z = W Per z < 3 l'omologia NON è statisticamente significativa Per 3 < z < 6 l'omologia è POSSIBILMENTE statisticamente significativa Per 6 < z < 10 l'omologia è PROBABILMENTE statisticamente significativa Per z >10 l'omologia è statisticamente significativa In ogni caso non si può definire un p-value esatto perchè non si può sapere la distribuzione di Z La results page di FASTA Modalità “Show Alignment” Premendo il bottone “Show Alignments” il risultato si arricchisce di dettagli: emergono i vari scores (init1, initN, opt, Z-score) dell’euristica, poi anche lo score dell’esaustiva. Viene poi presentato anche l’allineamento finale. Il bit score Tutti gli score S che emergono dalle analisi FASTA (ma è una regola generale) restano confinati al singolo allineamento, e non sono comparabili tra allineamenti diversi. Il sistema dei punteggi (dato dalla matrice di sostituzione e dalle gap penalties) è però comune per tutti, quindi esiste un modo per convertire uno score S in un bit score S’ utile per i confronti tra allineamenti diversi. S' = λ*S - ln K ln 2 λ e K sono i due fattori di conversione da utilizzare, e sono stati calcolati secondo regole statistiche precise. da “Bioinformatics: Sequence and Genome Analysis” - David W. Mount – CSHL Press Basic Local Alignment Search Tool (BLAST) Il punto di accesso più utilizzato per eseguire chiamate BLAST è presso l’NCBI. Come per FASTA la maschera permette di impostare i parametri di ricerca e di significatività minima richiesta. E’ inoltre possibile scegliere il tipo di algoritmo BLAST da utilizzare. Indicizzazione in BLAST Anche BLAST basa la sua euristica sull’indicizzazione, ma introduce una sofisticazione a livello dei k-tuples, che qui vengono chiamati “word”. Si inizia con la creazione di un elenco di parole di lunghezza W dalla query e creazione di “w-mers”, cioè parole di lunghezza W che diano, secondo una matrice di sostituzione uno score > T se allineati sulla query stessa. TFDER LSH GVQQTFWECIKGD VSH = 16 ISH = 14 Word size (W) = 3 LAH = 13 Threshold (T) = 13 LTH = 13 LSH = 13 Per ogni parola vengono generati anche tutti i possibili w-mers, quindi ci sono molte più parole che in FASTA. Ricerca delle hits La ricerca è basata sempre sulle diagonali, ma dato che si hanno molte words sinonime, verranno segnati dei match positivi (hits) anche se non sono word identiche. In ogni caso gli indici fanno riferimento alla word vera della query, non dei suoi sinonimi. Ottengo così una lista di proteine in cui è stata trovata una corrispondenza con i frammenti della query. ---------------------------- QUERY ------------------------------ ------------SUBJECT--------- 0 1 ELEV-EIDL-DI 2 LDLE-VEVD-ID 3 DEED 4 EREK-DRDK 5 RIKL-RLRV-KI 6 ILIV-IILI-VL 7 LDVD-ID 8 DEED 9 EVEI-ELDV-DL 1EK 0 1 2 3 4 5 6 7 8 2KI -1 0 1 2 3 4 5 6 7 3IL -2 -1 0 1 2 3 4 5 6 4LD -3 -2 -1 0 1 2 3 4 5 5DE -4 -3 -2 1 0 1 2 3 4 6EV -5 -4 -3 -2 -1 0 1 2 3 Total = 2 Offset = -2 Total = 6 Offset = 3 Estensione senza gap – gli HSP Una volta che le varie hits sono state trovate, BLAST inizia a congiungerle. IN questa fase NON è previsto l’inserimento di gap. L’allungamento si ferma quando lo score del tratto scende sotto una seconda soglia, detta S (se è alta l’allungamento sarà minore). A questo punto si è individuato un HSP (High-scoring Segment Pair). In realtà anche se lo score scende sotto S, ma solo per alcuni residui, e poi risale, l’HSP può ancora allungarsi. Il parametro X dice la quantità di perdita di score massima tollerabile se si prosegue con l’allungamento dell’HSP. hit Query:83 Subject:48 hit hit LMVAISNVGTDTLSHLEAQNKIKSASHNLSLTLQKSK +++AIS GT+++SH +AQ++IK+AS+ L L + ++ VILAISGFGTESMSHADAQDRIKAASYQLCLKIDRAE HSP BLAST ha dunque 4 parametri fondamentali: W: word size, maggiore è il numero, minore è il numero di parole generate, minore è il tempo di esecuzione. Ma la sensibilità decresce sensibilmente. T: threshold, minore è il numero, maggiore è il numero di w-mers inclusi nella lista, maggiore è il tempo di esecuzione. Si ha però un incremento di sensibilità. S: score, minore è il numero, maggiore sarà la lunghezza degli HSP X: maggiore è il numero, più estesamente sarà osservato l’intorno di una HSP, aumentando il tempo di esecuzione. La statistica di BLAST Ciò che rende BLAST uno strumento molto efficace è l’impronta statistica su cui si basa il parametro S, che in questo caso agisce su allineamenti locali senza gap. La statistica degli score in questo caso è nota e si basa su un modello di casualità che dipende dalla composizione del database in cui si cerca e dalla matrice di sostituzione usata. Dato un S in fatti è possibile prevedere quanti HSP di quella lunghezza m si osservano in una banca dati della stessa grandezza di quella vera ma composta da proteine casuali. Questo numero è definito E (expected), secondo E = K m n e -λS => è molto più semplice pensare in termini di E che non in termini di S, quindi in realtà non si imposta S ma E. m e n indicano l’ampiezza dell’HSP e della banda dati, rispettivamente K e λ sono fattori di scala che dipendono dal sistema di scoring utilizzato La distribuzione degli scores Supponiamo di avere fatto un allineamento tra due sequenze, e di avere uno score S. Un modo per sapere se lo score è significativo, è quello di generare N sequenze casuali della stessa lunghezza, allinearle, calcolare la media e la deviazione standard degli scores ottenuti (Monte Carlo). Se implicitamente si assume che essi abbiano una distribuzione normale, si può calcolare la p(S) integrando In realtà, solo quelli che danno qualcosa di biologicamente rilevante vanno presi, eliminando gli score “peggiori”. Questo provoca una deviazione dalla “normalità” e definisce la “distribuzione dei valori estremi”. La results page di BLAST – Graphic summary Se BLAST riconosce una similarità ampia con una o più famiglie proteiche note, lo indica in modo grafico. E’ presente poi un summary grafico che permette di esplorare velocemente i primi 100 hits mostrandoli allineati con la sequenza query. La results page di BLAST – Descriptions BLAST include nel suo output un riassunto testuale delle sequenze che sono state trovate: per ognuna mostra un link (in questo caso ad Entrez Protein), il nome, lo score (in bits) e L’Expect value, secondo cui i risultati sono ordinati. La results page di BLAST – Alignments Sotto alle descrizini inziano i risultati veri e propri, ossia gli HSP: oltre alle note viste nelal descrizione, vengono riportate le identità, le similarità (Positives) e i gaps inseriti, se ce ne sono. Notare come gli allineamenti servano come “spiegazione” del risultato: il risultato è che la proteina è stata identificata, non è stata allineata… BLAST si è arricchito nel tempo BLAST è stato recentemente implementato con un two-hit method, che prevede che l’estensione delle HSP possa avvenire solo se due hits indipendenti si verifichino entro un numero di residui A, senza gaps in mezzo. Sono nate inoltre varie versioni specializzate: blastp: cerca similarità in banche dati proteiche a partire da un a query di amino acidi. blastn: cerca similarità in banche dati di nucleotidi a partire da una query di nucleotidi. blastx: cerca similarità in banche dati proteiche a partire da una query di nucleotidi che viene tradotta in tutti i frame. tblastn: cerca similarità in banche dati di nucleotidi a partire da una query di amino acidi, traducendo in amino acidi tutti i subject della banca dati, in tutti frame. tblastx: cerca similarità in banche dati di nucleotidi a partire da una query di nucleotidi, traducendo in amino acidi tutti i subject della banca dati BLAST si è arricchito nel tempo gapped-blast: porta avanti la fase di estensione delle HSP considerando la possibilità di inserzione dei gap. PSI-BLAST: effettua una ricerca iterativa utilizzando le HSP per generare dei profili caratteristici della query. PHI-BLAST: estensione di PSI-BLAST per la ricerca in banca dati di pattern proteici più che di query esatte. BL2SEQ: adattamento di blast per l’allineamento a coppie MegaBLAST: può concatenare molte queries tra loro per minimizzare il tempo di esecuzione dovuto a sequenze query troppo lunghe (è adatto a sequenze nucleotidiche molto simili tra loro) FASTA o BLAST ? Gli algoritmi usati in BLAST e FASTA sono simili come strategia, ma molto diversi nei contenuti. Il fatto che Fasta indicizzi le query in modo esatto lo porta a ridurre di molto il numero di subject su cui lavorerà in seguito, e questo è una tappa limitante che BLAST non ha a causa dei w-mers. Però Blast crea i w-mers basati su una matrice quindi può accadere che match esatti diano meno score S di match non esatti: es. secondo la Blosum62 - il match perfetto AIS-AIS dà score 12 - lo score inesatto LSH-MSH dà score 14 => il secondo è premiato più del primo Scelte consapevoli Per ricerche in banche dati nucleotidiche, l’indicizzazione in w-mers simili ha poca rilevanza. Le basi infatti non sono mai “con caratteristiche chimico fisiche simili”… Il valore W di default di BLAST per i nucleotidi è 11, il che lo porta a non riconoscere sequenze che condividano in modo esatto meno di 11 basi, è questo è un limite grosso (ma quello è il default…). Fasta è molto più tollerante per sequenze che presentano gaps, visto che già nelle prime fasi prevede il loro inserimento, mentre BLAST li inserisce solo in fase di allungamento. ⇒ FASTA è più adatto a ricerche in banche dati nucleotidiche ⇒ BLAST è più adatto a ricerche in banche dati proteiche Anche se questa regola è un po’ troppo arbitraria...
Documenti analoghi
Microarray Data - Laboratorio di Evoluzione Microbica e Molecolare
NCBI (
http://www.ncbi.nlm.nih.gov/)
BLAST: Basic Local Alignment Search Tool
Nella versione migliorata, dal 1997, sono necessari due
hit vicini (entro una distanza A). In questo modo le
estensioni avvengono meno frequentemente ma si
ottiene un notevole risparmio di tempo
Allineamento locale: BLAST Basi algoritmiche
omologhe - anche notevolmente divergenti - possono essere individuate regioni che mostrano una
similarità statisticamente significativa.
Nel confronto tra sequenze nucleotidiche è attribuito punteg...