Allineamento locale: BLAST Basi algoritmiche

Allineamento locale: BLAST
BLAST (Basic Local Alignment Search Tool) è il più diffuso programma di allineamento locale
delle sequenze. Per vari anni il metodo FASTA (da non confondere con l’omonimo formato) e
BLAST sono stati utilizzati in alternativa o in modo complementare; progressivamente, però, la
maggiore velocità, il continuo lavoro di sviluppo e di ottimizzazione hanno reso l’uso di BLAST
pressocché universale.
FASTA esiste ancora ma, come altri validissimi programmi, è utilizzato in ambito più ristretto.
Pertanto la descrizione di FASTA è stata eliminata dal programma d’esame (che in compenso riporta
una più completa descrizione di BLAST e consigli per la sua fruibilità) ed è ancora ospitata su questo
sito “fuori programma”, per gli eventuali interessati (non sarà, comunque, oggetto di domande
d’esame o di valutazione).
Le sequenze individuate in ricerche BLAST possono rivelarsi lunghe (esattamente o
approssimativamente) quanto l'intera sonda, o corrispondere a regioni più o meno estese della stessa.
Infine, le sequenze individuate possono, a loro volta, rappresentare intere proteine o solo frammenti
delle stesse (probabilmente, domini o insieme di domini). Infatti, non si deve dimenticare che BLAST
individua per allineamento regioni di similarità locale. Talora BLAST può individuare una o più
sequenze identiche alla sonda, malgrado nome e numero d'accesso diversi. Ciò non è sorprendente,
poiché non sempre i compilatori dei database si accorgono della ridondanza tra sequenze, ed alcune di
esse sono depositate come nuove, senza verificarne la coincidenza totale con quelle già note. A volte
l'identità può riguardare una sequenza codificante predetta a partire da dati genomici e quella reale di
un cDNA. In tal caso si ottengono la verifica della predizione e dati sull'espressione (stadio o tessutospecifica, stimolata da induttori, associata a patologie ecc.).
Basi algoritmiche
BLAST si basa sull'algoritmo sviluppato da Altschul e collaboratori e sull'assunto che in sequenze
omologhe - anche notevolmente divergenti - possono essere individuate regioni che mostrano una
similarità statisticamente significativa.
Nel confronto tra sequenze nucleotidiche è attribuito punteggio positivo alle identità e negativo alle
non identità. Invece, per confrontare sequenze proteiche, sono adottate le matrici di punteggi PAM o
BLOSUM. In BLAST è definita Maximal Score segment Pair (MSP) la regione di massima
similarità, la cui significatività statistica è calcolata secondo il metodo di Karlin ed Altschul. Tutte le
altre regioni con punteggio di similarità statisticamemente significativo in quanto superiore ad una
soglia S sono definite High Score segment Pair (HSP). BLAST estrae dai database, ove trova le
sequenze da confrontare con la sonda, solo regioni il cui punteggio di similarità sia superiore ad una
soglia. L'abbassamento della soglia aumenta la sensibilità, ma riduce la velocità. Il valore della soglia
è determinato in modo che risulti automaticamente E = 10, ove E (Expected) rappresenta il numero
atteso di regioni non correlate condivise tra sonda e sequenze del database.
In considerazione di quanto già illustrato in precedenza sul reale valore della significatività statistica,
sono particolarmente apprezzabili le possibilità di modulare i parametri di BLAST (matrici, valori
soglia, filtri ecc.) poichè, come al solito, solo la valutazione critica dei risultati ottenuti con ricerche
reiterate e modulate può portare a conclusioni attendibili.
Applicazioni di BLAST
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.
I principali server che ospitano pagine dedicate a BLAST sono quelli dell'NCBI e dell'EBI, ma
BLAST è utilizzabile on-line anche collegandosi ad altri server bioinformatici oppure localmente,
scaricando via ftp database e programmi nella versione adeguata al sistema operativo utilizzato (Unix,
Windows, MacOSX, Linux).
Presso il server dell’NCBI è possibile usufruire di applicazioni BLAST per screening on-line di vari
database; esse sono divise, rispecchiando la logica del browser Entrez gestito dallo stesso server, in
sezioni principali. Nella prima sezione (BLAST Assembled RefSeq Genomes) BLAST è ottimizzato
per la ricerca in specifici genomi. Nella seconda sezione (Basic BLAST) sono presenti le applicazioni
principali per l’analisi per allineamento delle sequenze proteiche e nucleotidiche. Nella terza sezione
(Specialized BLAST) sono presenti applicazioni basate su BLAST ed ottimizzate per usi specifici.
Basic BLAST
La sezione Basic BLAST si presenta con le sottosezioni nucleotide BLAST e protein BLAST che
confrontano set di dati omogenei (query sequence e sequenze nel database sono dello stesso tipo).
Le applicazioni nella sezione nucleotide BLAST servono a confrontare una query nucleotidica con le
sequenze contenute nei db nucleotidici, utilizzando l’algoritmo più diffuso, blastn, oppure gli
algoritmi Megablast e discontiguous Megablast, ottimizzati per l’allineamento di lunghe sequenze
non particolarmente divergenti. Megablast è ottimizzato per allineare sequenze quasi uguali, le cui
differenze possano derivare da errori di sequenziamento o polimorfismi. La differenza fondamentale
tra Megablast e blastn è nella scelta della "word size", ovvero la lunghezza minima della stringa di
residui contigui considerata ai fini della valutazione di identità, che in Megablast è ottimale con
valori maggiori o uguali a 16 (multipli di 4). Ciò rende più selettiva l'accettazione di identità e fino a
10 volte più veloce Megablast che, quindi, si presta meglio all'uso con sequenze molto lunghe. I
default settings di Megablast richiedono, attualmente, una word lunga 28. Megablast è utile per
l'analisi di sequenze molto lunghe ed estremamente simili; per lo studio di sequenze lunghe e
divergenti è invece da utilizzare "discontiguous Megablast ", in cui il valore di word size torna a
livelli più bassi. In particolare, i "gap costs" sono pari a 5 per l'apertura di un gap e pari a 2 per la sua
estensione.
Le applicazioni nella sezione protein BLAST servono a confrontare una query proteica con le
sequenze contenute nei db di proteine, utilizzando l’algoritmo più diffuso, blastp, oppure gli algoritmi
psi-blast e phi-blast, ottimizzati per l’ottenimento di matrici di posizione o per ricerche centrate su un
pattern. La ricerca con blastp è in genere più veloce che con blastn, perchè paragona sequenze
omogenee e complesse in un insieme ridotto di dati. Ciò dipende dal fatto che le sequenze proteiche
contengono un numero minore di residui rispetto alle regioni codificanti (per ciascun aminoacido,
rappresentato dal codice ad una lettera, vi sono le tre basi di un codone), ma anche dalla presenza, nei
database di acidi nucleici, delle sequenze di introni, UTR, trasposoni, regioni mediamente ed
altamente ripetute. Inoltre, nelle banche dati nucleotidiche possono coesistere dati genomici grezzi ed
annotati, predizioni geniche e cDNA, EST e STS ecc..... La sigla "psi", che contraddistingue
l'algoritmo psi-blast, significa "position-specific iterated", perchè realizza ricerche iterative, in cui le
sequenze estratte sono usate per costruire una matrice, che sarà utilizzata nella reiterazione della
ricerca e così via. In pratica, la matrice che va a definirsi in PSI-BLAST è del tipo QxA, ove Q è la
lunghezza della sequenza sonda ed A quella dell'alfabeto (in termini di simboli dei residui). La
matrice costruita in tal modo è definita "Position Specific Score Matrix" o PSSM e può essere
salvata come file di testo per l'uso in screening successivi di differenti database. Una serie di
applicazioni BLAST, inoltre, implementa algoritmi ed esplora database in modo da individuare
regioni di similarità con domini proteici.
Quando invece è necessario confrontare una query di un tipo con database contenenti sequenze di tipo
diverso, per consentire il corretto confronto tra i differenti alfabeti di DNA e proteine si ricorre alle
applicazioni translated BLAST, che sono blastx, tblastn e tblastx. Quando si dispone di una sonda
nucleotidica e si vuole confrontarla con sequenze proteiche (poichè è noto o si ipotizza possa
contenere una sequenza codificante), l'applicazione blastx è appropriata, in quanto traduce la
sequenza nucleotidica sonda nei sei possibili registri di lettura e confronta le sequenze tradotte
con i database di proteine selezionati. Semplicisticamente, è come se si sottoponessero
contemporaneamente sei sonde proteiche con blastp. L'applicazione tblastn, invece, confronta una
sonda proteica con la traduzione dinamica nei sei registri di lettura dei database nucleotidici
selezionati. L'applicazione che impiega il tempo maggiore, per ovvie maggiori esigenze di calcolo, è
tblastx, che confronta una sequenza nucleotidica, dinamicamente tradotta nei sei registri di
lettura, con le sequenze proteiche derivanti dalla traduzione dinamica nei sei registri dei
database nucleotidici selezionati.
Per questi motivi, blastn richiede tempi di esecuzione maggiori e può essere utile limitare le ricerche
ad un subset delle sequenze (ad es., solo quelle di un organismo o di un raggruppamento tassonomico,
oppure solo EST o DNA genomico, o infine limitazioni combinate).
Specialized BLAST
Negli ultimi anni sono state implementate numerose versioni "speciali" di BLAST che, in pratica,
differiscono dalle principali per l'ottimizzazione di algoritmi di ricerca, matrici, funzioni, filtri e
database utilizzati, pur restando sostanzialmente basate sull'architettura fondamentale di BLAST.
Un’applicazione inserita quasi impropriamente tra quelle specializzate e molto utile è “blast two
sequences” (bl2seq). Differentemente dall’interfaccia standard di BLAST, in cui si sottomette la
sequenza “query” da lanciare contro interi database, bl2seq chiede l’inserimento di due sequenze, che
confronta tramite l’algoritmo di blast. Questa applicazione, presentata anche nelle esercitazioni, è
molto utilizzata per confrontare sequenze di DNA clonati con le sequenze attese, per verificare ad
esempio la presenza di mutazioni, introdotte per errore (PCR ecc.), oppure secondarie ad alterazioni
genetiche (screening di pazienti), o infine introdotte per mutagenesi mirata (studi funzionali,
ingegneria proteica ecc.).
Una delle applicazioni specializzate più utili per complementare il lavoro molecolare è "PrimerBLAST", che consente di inserire la sequenza del templato, dei primer forward e reverse per la PCR,
nonchè parametri che riguardano i primer. Aprendo la sezione "Advanced parameters"si può notare
come in Primer-BLAST siano elevati i valori di "Expect" e bassi quelli di "Word Size". Esistono
molti programmi per la progettazione dei primer che, più che validi per valutare la compatibilità della
melting temperature, i rischi di appaiamento tra primer o di formazione di forcine, tuttavia non
valutano la specificità di appaiamento. Il priming aspecifico infatti è un fattore che spesso crea
problemi in PCR. Ad esempio, se progettiamo una coppia di primer sulla base della sola sequenza del
gene del quale vogliamo amplificare, ad esempio, una regione, può darsi che il risultato
dell’amplificazione fornisca più bande e non solo quella attesa. Ciò facilmente può accadere se non
abbiamo valutato la specificità della coppia di primer. Infatti, se ad esempio il gene di nostro interesse
ha una serie di paraloghi (geni omologhi nello stesso organismo) ed i primer sono progettati in parti
della sequenza conservate anche negli altri geni, essi si appaieranno in più punti nel genoma e
produrranno più amplificati. Primer-BLAST, quindi, è da utilizzare per predire e quindi evitare
amplificazioni aspecifiche, che possono sottrarre tempo alle analisi sperimentali o perfino portare
fuori strada.
Un ulteriore tool bioinformatico sviluppato per le analisi molecolari ed in particolare per il clonaggio
è VecScreen, utile per "decontaminare" le sequenze genomiche o di cDNA da quelle di vettori. Se,
infatti, per sequenziare dei frammenti di DNA clonati si utilizzano un vettore ricombinante come
stampo e dei primer per PCR che riconoscono regioni del vettore a monte ed a valle dell'inserto, la
sequenza riassemblata conterrà l'inserto, ma anche le parti del vettore comprese nell'amplificato.
Depositando sequenze di questo tipo in banca dati si produce, a causa della ripetizione delle sequenze
spurie del vettore, un elevato rumore di fondo, che disturba le ricerche e confonde i risultati. Ormai
gli esperti dei server bioinformatici che immettono nelle banche dati le nuove sequenze ricevute
provvedono, sistematicamente, a verificarne eventuali contaminazioni da vettore. Tuttavia, qualche
sequenza di vettore può sfuggire ed, in ogni caso, è opportuno (e corretto) che, prima di sottomettere
una sequenza, si provveda ad analizzarla (ad esempio, con VecScreen, o mediante confronto contro
database di vettori disponibili presso altri server).
Poichè sempre più rilevante per la farmacogenomica la conoscenza dei polimorfismi genici (Single
Nucleotide Polymorphism), nella sezione "Specialized BLAST" è disponibile SNP-BLAST, che
consente di utilizzare geni o cDNA come sonde per la ricerca dei relativi polimorfismi non solo in
Homo sapiens, ma anche in altri organismi.
Chi analizza l'espressione genica può verificare la disponibilità per una sequenza nucleotidica di
profili di espressione genica (GEO), mentre per chi lavora nell'immunologia molecolare
è disponibile Ig-BLAST.
BLAST e database
I database associabili a ricerche con applicazioni NCBI-BLAST sono numerosi. In particolare, quelli
per la sezione Nucleotide BLAST consentono ricerche in un ambito ampio, selezionando l'insieme
delle sequenze non ridondanti o "nr" (che comprende le tre principali banche dati di DNA mondiali)
o set più ristretti, quali ad esempio i database di sole EST (con sottosezioni est_human, est_mouse ed
est_others) o di sequenze brevettate (Patent). Alcuni database sono riservati alle sequenze di uno
specifico organismo, primo tra tutti l'uomo, ma anche lievito (database yeast, figura in alto) o altre
specie modello.
Attualmente presso l'EBI è implementato WU-Blast2, una versione di BLAST ottimizzata dal pool
bioinformatico della Washington University e dall'NCBI. Selezionando la finestra dei database in
cui http://www.ebi.ac.uk/blast2/index.htmlWU-Blast2 può effettuare ricerche, si può avere un'idea del
gran numero di database proteici e nucleotidici nei quali possono effettuare ricerche le applicazioni
BLAST, nonchè del tipo di applicazioni utilizzabili per database.
Scelta delle applicazioni in funzione delle ricerche.
Per ottenere risultati significativi in una ricerca per allineamento è necessario selezionare
opportunamente applicazioni e database; per trarne informazioni rilevanti è inoltre fondamentale
sapere interpretare correttamente i risultati e rimodulare le richieste a seconda delle necessità. Nel caso
non si abbiano le idee chiare o non si rammenti più quanto appreso, si potrà ricorrere agli schemi di
selezione presenti sulle pagine guida (sezione Help) di NCBI-BLAST. Guide simili sono presenti
anche presso altri server che forniscono servizi BLAST.
In genere, la scelta di sito, applicazioni e database, nonchè dei parametri di ricerca ed output, non
richiede studi approfonditi e, nella maggior parte delle ricerche di routine, i valori preimpostati
possono essere lasciati inalterati, se è corretta la combinazione tra applicazione da utilizzare e database
in cui effettuare la ricerca. Inoltre, in molti casi ormai, modifiche nella selezione dell'applicazione
comportano il passaggio automatico al set di database compatibili, evitando ad utenti distratti di
inoltrare richieste errate.
E' esperienza comune che si ottengano risultati differenti effettuando analisi su server differenti; questo
dipende sia dal differente tipo di database interrogabili, le cui sequenze non sono condivise al 100%,
sia dal fatto che i parametri preimpostati di query ed output possono essere diversi. E' pertanto sempre
opportuno, prima di passare ad una fase di analisi dei risultati e di elaborazione delle ipotesi, procedere
in una serie di richieste su più database, reiterate con o senza filtri e con parametri più o meno
stringenti. In genere è conveniente effettuare una medesima ricerca con BLAST con e senza filtro per
le regioni a bassa complessità, in modo da non perdere informazioni che potrebbero essere mascherate
dal rumore di fondo provocato da tali regioni, ma anche da rilevarne la presenza, talora biologicamente
significativa. Ad esempio, alcune regioni ricche in prolina contraddistinguono particolari famiglie di
proteine, regioni ricche in aminoacidi acidi spesso sono presenti in domini leganti cationi e regioni
ricche in aminoacidi basici possono essere presenti in proteine nucleari. Tutto ciò può essere inutile,
tuttavia, quando i risultati sono estremamente ed univocamente indicativi, come nel caso di
identificazione di sequenze identiche al 100% o comunque altamente similari.
© Francesco Filippini, 2002-2010