CALENDARIO LEZIONI AGGIORNATO 10 APRILE 17 APRILE NO (PASQUETTA) -> MERCOLEDI’ 19 APRILE LABORATORIO 24 APRILE NO 1 MAGGIO NO -> MERCOLEDI’ 3 MAGGIO 8 MAGGIO - LABORATORIO 15 MAGGIO 22 MAGGIO 29 MAGGIO – LABORATORIO 5 GIUGNO – (DATA DI RISERVA ANCHE PER EVENTUALE LABORATORIO) LEZIONE 5 BLAST e applicazioni speciali BLAST - definizione • Acronimo per Basic Local Alignment Search Tool • Definito per la prima volta da Altschul et al. 1990 • Si tratta di un vero e proprio articolo «storico» che ad oggi è stato citato quasi 65mila volte in letteratura, il che riesce a dare un’idea della sua importanza in campo biologico Schema che riassume il funzionamento dell’algoritmo Vedremo nel dettaglio i vari passaggi nelle prossime slides Ha alcuni punti in comune con FASTA, ma altri lo rendono estremamente diverso e maggiormente versatile BLAST - funzionamento • Come FASTA si basa sull’indicizzazione di parole • Tuttavia questa funziona in modo molto diverso rispetto a FASTA • La sequenza query viene scomposta in parole di lunghezza W • Primo step: partendo dalla sequenza query, vengono creati dei w-mers, cioè tute le parole di lunghezza W che, se allineate con la query, diano un punteggio > T • T viene calcolato sulla base di una matrice di sostituzione BLAST - funzionamento • Visto che per orni parola W vengono generati svariati w-mers con alcuni mismatch (purché mantengano uno score > T), le parole indicizzate sono in numero molto maggiore rispetto a FASTA • Secondo step: viene effettuata la ricerca dei w-mers delle query nel database e vengono memorizzati i match perfetti ritrovati, che vengono messi in relazione alla parola W originaria della query (non al w-mer con il match), registrandone la posizione nella sequenza query • Si ottiene pertanto una lista di sequenze (del database) con cui è stato trovato match nei confronti di frammenti delle query BLAST - funzionamento • Terzo step: ogni hit viene esteso in entrambe le direzioni, senza inserire gap, finché lo score dell’allinemaneto scende sotto un valore soglia S • Si ottengono delle regioni più lunghe rispetto ai w-mers di partenza dette HSP (High-scoring Segment Pair) • Anche se l’allineamento scende sotto lo score S, questo è di solito tollerato per una determinata lunghezza data dal parametro X. Questo è utile per tollerare la presenza di regioni locali di maggiore divergenza. Se entro un numero di residui allineati X lo score torna ad essere >S allora l’allungamento dell’HSP prosegue BLAST - parametri Sulla base di quanto abbiamo detto finora possiamo identificare quattro parametri fondamentali per BLAST: 1) W (word size): maggiore è, minore è il numero di parole generate e più veloce è il tempo di esecuzione, a scapito però della sensibilità 2) T (threshold): minore è questo valore, maggiore sarà il numero di w-mers inclusi nella lista e di conseguenza maggiore sarà il tempo di calcolo richiesto. Allo stesso tempo verrà però incrementata la sensibilità 3) S (score): minore è questo valore, maggiore sarà la lunghezza degli HSP generati 4) X: maggiore è questo valore, più estesamente sarà analizzato l’intorno delle HSP, andando ad aumentare il tempo di calcolo (ma anche sensibilità e lunghezza degli HSP stessi) BLAST - statistica • La potenza di BLAST sta nel fatto di poter dire quanto accurati siano i risultati della ricerca • Dato un S, è possibile prevedere quanti saranno gli HSP ritrovati in una banca dati della stessa grandezza di quella consultata, ma composta da sequenze casuali • Questo numero è definito come E (expect) • Dal momento che è molto più intuitivo e semplice ragionare su E piuttosto che su S in termini di significatività statistica di un risultato, il valore che viene impostato come soglia per la ricerca è sempre E, ed S viene calcolato automaticamente tramite una complessa relazione statistica tra i due valori • All’atto pratico, l’impostazione di un E molto basso darà quasi certamente risultati molto significativi BLAST - versioni • BLASTn: cerca similarità in banche dati nucleotidiche utilizzando sequenze nucleotidiche come query • BLASTp: cerca similarità in banche dati proteiche utiilizzando sequenze amino acidiche come query • BLASTx: cerca similarità in banche dati proteiche utilizzando sequenze nucleotidiche come query, che vengono tradotte nei 6 possibili frame di lettura • tBLASTn: cerca similarità in banche dati nucleotidiche utilizzando sequenze proteiche come query. I subject della banca dati vengono tradotti nei 6 possibili frame di lettura • tBLASTx: cerca similarità in banche dati nuclotidiche i cui subject sono stati tradotti nei 6 possibili frame di lettura utilizzando sequenze nucleotidiche tradotte a loro volta nei 6 possibili frame di lettura BLAST - versioni TTCAGGCGTGCAGATGACGATGCAGTACATGGGTTTCTCTTTATTAAGTTCTTATGTCATGTTTATCATAGACT CTGAAGTCAACCAGTCAGAGGTTATCGTACGTCAAATCAGTCAGAGGTTATCAGTCAATACAGTGAATCCTGAT TCCCGTATGTGTGTTGTGACATATACACTGAATTCTGACTTAACCGCCTGTGTTATGAAATATACACTGAATCC TGACTTAACCGTAAGTGTTGTGACAGATACTGTGAATCCTGACTTACCAGTTTGTGTTGTGACATATACACTGA ATCCTGGCTTACCCGTATGTGTTGTGACAGATACTGTGAATCATGACCTACCCGTATGTGTTGTGACGTACAAC TTGAATCCCGACTTACCAGTTTGTGTTGTGACATATACACTGAATCCTGACTTACCCTTCTGTGTTGTGACATA TACACTGAATCCTGACTTACCCTTCTGTGTTGTGACATATACACTGAATCCTGACTTAACCATAGTGTTGTGAT GCGTCATCGACTSGATGTCATCCTATACATTTTTCCCATTTA Quale è il frame di lettura corretto di questa sequenza codificante? Non posso saperlo a priori... BLAST – applicazioni speciali • Gapped-BLAST: porta avanti l’estensione delle HSP tenendo presente la possibilità di introdure dei gap • PSI-BLAST: Position-Specific Iterated BLAST - effettua una ricerca iterativa utilizzando le HSP per generare dei profili caratteristici della query • BL2SEQ: adattamento di BLAST per l’allineamento di coppie di sequenze • MEGABLAST: può concatenare molte queries tra loro per minimizzare il tempo di esecuzione dovuto a queries molto lunghe (adatto per l’allineamento di sequenze nucleotidiche molto lunghe, come regioni cromosomiche, e sequenze ad alto grado di similarità) • Discontinuous MEGABLAST: simile a MEGABLAST ma ottimizzato per sequenze divergenti, ad esempio regioni cromosomiche di specie differenti BLAST – applicazioni speciali • DELTA-BLAST: Domain Enhanced Lookup Time Accelerated BLAST – implementazione di BLASTp che utilizza un database di domini conservati (CDD) • PHI-BLAST: Pattern Hit Initiated BLAST - estensione di PSI-BLAST per la ricerca in banca dati di pattern proteici più che di queru esatte • Magic BLAST: implementato recentemente per l’allineamento di dati di Next Generation Sequencing contro genomi di riferimento BLAST – accessibilità web • https://blast.ncbi.nlm.nih.gov/Blast.cgi • Hostato sul portale dell’NCBI BLAST – differenze rispetto a FASTA • La più importante differenza è l’indicizzazione di parole esatte in FASTA contro quella dei w-mers in BLAST. Per questo motivo il numero di subject ritrovati da FASTA nel database sarà molto ridotto e la strategia di indicizzazione è un fattore molto limitante per FASTA • Tuttavia BLAST assegna i punteggi S sulla base di matrici di sostituzione e può accadere che dei match inesatti ottengano degli score più alti di match esatti della stessa lunghezza • Ad esempio, AIS-AIS = 12, mentre LSH-MSH = 14 utilizzando BLOSUM62 • Per sequenze nucleotidiche l’indicizzazione dei w-mers ha poca rilevanza • Inoltre il W di default per BLASTn = 11, quindi tendenzialmente non verrà rilevata similarità significativa a meno che non ci sia una stringa identica di almeno 11 nucleotidi • Inoltre FASTA prevede l’inserzione di GAP già nei suoi primi step, BLAST solamente in fase di elongation degli HSP • In sostanza, FASTA è indicato per sequenze nucleotidiche, NON per sequenze amino acidiche che è sempre opportuno ricercare con BLAST BLAST – applicazioni • Il metodo BLAST, dall'originaria formulazione ad oggi, ha rappresentato un validissimo strumento d'analisi, che numerosi server bioinformatici consentono di utilizzare on-line per ricerche nelle principali banche dati • Sono state sviluppate numerose applicazioni, basate sul metodo BLAST ma ottimizzate per il tipo di ricerca, sonda e database nei quali si intenda cercare sequenze omologhe. Gli algoritmi di BLAST sono stati progressivamente potenziati, implementando nuove funzioni che consentono, ad esempio, di adottare matrici definite sulla base del set di dati in analisi o di integrare l'analisi di similarità con quella per pattern • Mentre nella maggior parte dei casi i biologi si connettono all’home page dell’NCBI per effettuare ricerche di similarità all’interno di database pubblicamente disponibili (nr, UniProt, GenBank, ecc.), tenete presente che è spesso utile utilizzare BLAST in locale, cioè scaricando un applicativo che permette la ricerca in database personalizzati e spesso non ancora rilasciati pubblicamente BLAST – applicazioni • Le applicazioni di BLASTp e BLASTn sono piuttosto intuitive • Più complesse sono quelle dei BLAST «speciali», BLASTx, tBLASTn e tBLASTx • Teniamo in considerazione che, dovendo lavorare su query e/o subject tradotti nei sei possibili frames di lettura, le ricerche effettuate con questi metodi saranno sensibilmente più lente rispetto ai BLASTn e BLASTp canonici • BLASTx è indicato quando dispongo di una sequenza nucleotidica, che presumo sia codificante e sono interessato a traovare l’identità della proteina codificata sulla base della similarità con sequenze subject proteiche presenti all’interno di un database • La sequenza query viene tradotta nei sei possibili frames di lettura, in quanto non so né lo strand (+ o -), né il frame (+1/+2/+3) in cui inizia l’ Open reading Frame • Naturalmente se una sequenza nucleotidica non è codificante non otterrò alcun risultato significativo BLAST – applicazioni • tBLASTn al contrario è utilizzato per trovare regioni di similarità tra una sequenza query proteica e delle sequenze subject nucleotidiche, che si presume siano codificanti, almeno in parte (ad esempio mRNA, oppure regioni cromosomiche che comprendono esoni) • Una possibile applicazione ad esempio riguarda l’annotazione di genomi e trascrittomi • Questa può essere intesa sia come annotazione funzionale, cioè l’assegnazione di un «nome» e, conseguentemente, di una presunta funzione ad un gene o ad un trascitto • Ma può essere anche strutturale, ad esempio per trovare le regioni genomiche che più probabilmente sono codificanti (cioè corrispondono ad esoni di geni che poi vengono trascritti in mRNA e tradotti in proteine), oppure per distinguere 5’ e 3’ UTR dalla regione codificante in un mRNA BLAST – applicazioni • Più semplicemente un tBLASTn mi potrebbe servire per trovare il gene o il trascritto codificante la proteina A nella specie X (ad esempio un orangutan) partendo dalla stessa proteina (ortologa) nella specie Y (ad esempio l’uomo) • Oppure BLASTx mi potrebbe servire per capire che funzione abbia una sequenza di mRNA molto espressa nel cervello dell’orangutan confrontandola con tutte le proteine codificate dal genoma umano • Per questi confronti e per derivare conclusioni scientificamente valide dobbiamo sempre tenere presenti i concetti fondamentali di similarità, omologia, ortologia e paralogia • Tanto più due specie sono filogeneticamente vicine tanto più è probabile che un e-value signficativo del BLAST significhi anche che due sequenze di specie siano ortologhe, ma facciamo sempre attenzione alla possibile presenza di paraloghi, alla convergenza evolutiva e a similarità locali (ad eempio di domini che corrispondono ad una piccola parte della sequenza query) BLAST – applicazioni • tBLASTx è l’applicazione più complessa e, di conseguenza, anche quella che richiede le tempistiche più lunghe, dal momento che sia la sequenza query che le sequenze subject del database devono essere tradotte nei 6 possibili frames di lettura • Questa variante di BLAST va utilizzata quando voglio confrontare sequenze nucleotidiche query presumibilmente codificanti con un database nucleotidico che a sua volta presumibilmente contiene sequenze codificanti • Può servire per: evidenziare similarità quando non sono sicuro di quale sia il frame di lettura corretto di una sequenza nucleotidica query, o io abbia dubbi sul fatto che sia codificante o meno • Dobbiamo tenere presente che la sensibilità del BLAST è estrememente maggiore per sequenze proteiche rispetto a sequenze nucleotidiche BLAST – sensibilità • Potenzialmente, due sequenze proteiche identiche al 100% possono anche derivare da due mRNA identici solamente al 60% • Questo avviene a causa della degenerazione del codice genetico, cioè alcuni aminoacidi possono essere codificati da triplette di nucleotidi (codoni) differenti • Stringhe di 4 caratteri vs stringhe di 20 caratteri • Come abbiamo già visto, un allineamento tra sequenze nucleotidiche usa score di match/mismatch, mentre un allineamento tra sequenze proteiche utilizza matrici di sostituzione che meglio rappresentano la vera rilevanza bologica di una sostituzione Laddove sia possibile farlo è sempre meglio tradurre le sequenze nucleotidiche in proteine con uno dei 3 BLAST speciali per aumentare la SENSIBILITA’ del metodo TIPO DI BLAST FINESTRA DOVE INCOLLARE LA SEQUENZA IN FORMATO FASTA DATABASE D’INTERESSE – MENU’ A TENDINA LIMITAZIONE RICERCA A SPECIE O CAMPO TASSONOMICO BLAST SPECIALIZZATI (VARIANO A SECONDA DEL TIPO DI BLAST) RICERCA PARAMETRI INTERFACCIA WEB - DETTAGLI • Il menù a tendina mi permette di selezionare uno dei database disponibili tra quelli presenti nel portale NCBI (N.B. Variano a seconda che si tratti di DB nucleotidici o proteici!) • Il menù organism mi permette di limitare la ricerca a determinati campi tassonomici (es. Uomo, verebrati, mammiferi, eucarioti) per rendere la ricerca più specifica e, soprattutto, più rapida (perchè il database da consultare è più piccolo) INTERFACCIA WEB - DETTAGLI • I parametri avanzati talvolta vengono automticamente aggiustati sulla base della sequnza query • Posso limitare il numero massimo di risultati da mostrare (Max target sequences) • Posso limitare il massimo Expect (per essere più stringente nella ricerca) • Posso cambiare la matrice di sostituzione (PAM/BLOSUM) dal menu’ a tendina • Posso variare le gap penalties per esistenza ed estensione BLAST – INTEPRETAZIONE DEI RISULTATI • I 100 risultati più significativi vengono riassunti come barre colorate in un grafico simile a quello mostrato a fianco • La sequenza query è mostrata in alto some una grossa barra azzurra • Le sequenze subject (i risultati) sono mostrati sotto come barre più sottili • Il loro colore indica lo score di allineamento (più sono tendenti a rosso, più alto è, il nero indica uno score scarsamente significativo) • Notate che le barre dei subject non sempre coprono l’intera query • Nel caso a fianco la maggior parte degli hit non trova similarità fino a posizione 600 BLAST – INTEPRETAZIONE DEI RISULTATI • Gli stessi risultati riassunti nel grafico sono anche elecanti in una tabella, in ordine decrescente dal risultato più significativo a quello meno significativo (cioè in base all’evalue) • In sostanza più una sequenza subject ha un e-value vicino a zero, tanto più in alto nel ranking sarà • Ogni sequenza subject mostra la descrizione per esteso e l’accession ID. Con un click è possibile aprire la scheda di GenBank o UniProt corrispondente • Vengono anche mostrati score di allineamento, query cover (la % della query che trova match), evalue e % di identità BLAST – INTEPRETAZIONE DEI RISULTATI • Nella terza ed ultima parte della pagina dei risultati di BLAST sono mostrati gli allineamenti nel dettaglio, come mostrato in questo esempio • In alto ci sono i dati del subject • Vengono poi riportati i dettagli del match, come nella tabella riassuntiva • Notate che per sequenze proteiche oltre al numero di identità è riportato anche il numero di «positives» (indicati nell’allineamento da un simbolo (+) • Sono indicati anche il numero di gap e la loro % • Infine è indicato il frame. Nell’esempio a fianco questa voce è presente in quanto si tratta dell’output di un BLASTx, mentre in un BLASTp questa voce non si ritrova