# BLAST

El BLAST (Basic Local Alignment Search Tool) és un programa informàtic d'alineament de seqüències de tipus local ja sigui d'ADN o de proteïnes. El programa és capaç de comparar una seqüència problema (comunament anomenada query) contra una gran quantitat de seqüències que es trobin en una base de dades. L'algorisme troba les seqüències de la base de dades que tenen major semblança a la seqüència query. És important esmentar que BLAST usa un algorisme heurístic pel que no ens pot garantir que hagi trobat la solució correcta. No obstant això, el BLAST és capaç de calcular el grau de significació estadística dels seus resultats, pel que proveeix d'un paràmetre per a jutjar els resultats que s'obtenen
Normalment el BLAST és fet servir per a trobar probables gens homòlegs. En general, quan és obtinguda una nova seqüència, es fa servir el BLAST per a comparar-la amb altres seqüències que han estat prèviament caracteritzades, per a així poder inferir la seva funció. El BLAST és l'eina més usada per a l'anotació i predicció funcional de gens o seqüències proteiques. S'han creat moltes variants per a resoldre alguns problemes específics de recerca.
El BLAST és un programa de llicència lliure i es pot usar gratuïtament des del servidor de l'NCBI. Si es desitja també està disponible per a ser instal·lat localment. L'avantatge del servidor de l'NCBI és que l'usuari no ha de mantenir ni actualitzar les bases de dades i que la recerca es fa en un clúster d'ordinadors, el que atorga rapidesa. Els desavantatges són: no es permeten fer recerques massives atès que és un recurs compartit, dificultant, per tant, l'ensenyament a l'aula, les seqüències són enviades al servidor de l'NCBI sense cap mena de xifrat, el que pot ser un problema per a qui vulguin mantenir les seves seqüències privades. L'aplicació local del BLAST té l'avantatge de permetre manejar diversos paràmetres que en les recerques de l'NCBI estan estandarditzats, pel que proveeix una major flexibilitat per als usuaris avançats.
Com a formats d'entrada i sortida fa servir el FASTA.

## Algorisme del BLAST

El BLAST fa servir l'algorisme de Smith-Waterman per a realitzar els seus alineaments
El BLAST fa servir una matriu de substitucions d'aminoàcids o nucleòtids per a qualificar els seus alineaments. Aquesta matriu conté la puntuació que se li dona en alinear un nuecleòtid o un aminoàcid X de la seqüència A amb altre aminoàcid I de la seqüència B. Les matrius més emprades per a qualificar alineaments de proteïnes són la BLOSUM i la PAM (ambdues van ser obtingudes mesurant la freqüència dels aminoàcids en una gran mostra de proteïnes). També es permet a l'usuari definir la seva pròpia matriu. El tipus de matriu fetes servir és determinant per als resultats que s'obtindran, l'ús d'una matriu incorrecta pot dur a qualificar erròniament els alineaments i, per tant, obtenir resultats equivocats.
L'algorisme del BLAST té tres etapes principals: sembrat, extensió i avaluació. A continuació es descriuen breument cadascuna d'elles.

### Primera etapa: sembrat

En aquesta etapa se cerquen "paraules" petites en les seqüències de la base de dades, que corresponen a fragments de la seqüència query. El BLAST assumeix que els alineaments significatius han de contenir aquestes paraules. Només es consideren significatives les paraules que tinguin una puntuació major a T (T és un paràmetre que pot modificar a l'usari del programa) i que es trobin almenys a una distància A d'una altra paraula. W és l'altre paràmetre fet servir pel BLAST i es refereix a la grandària de les paraules a cercar. Ajustant els paràmetres T, A i W es pot escollir entre fer un alineament sensible però lent, o un més ràpid però amb menor sensibilitat.

### Segona etapa: extensió

Una vegada obtingudes les paraules que compleixen amb els criteris donats, es passa a l'etapa d'extensió. En aquesta etapa l'alineament es va estenent a banda i banda de les paraules. L'extensió realitzada en aquest punt es fa fent ús de l'algorisme de Smith-Waterman. BLAST va estenent l'alineament fins que la puntuació de l'alineament descendeixi X o més punts pel que fa a la puntuació més alta obtinguda anteriorment. Aquí resideix el factor heurístic del BLAST, ja que en imposar el límit X, evita estendre al llarg de tota la seqüència tots els alineaments (procés que duria massa temps). El perill que això comporta és que el programa es pot quedar encallat en un màxim local. És per això que la definició de X és determinant per al resultat.

### Tercer etapa: avaluació

Una vegada acabada l'extensió de totes les paraules, cadascun dels alineaments realitzats és avaluat per a determinar la seva significació estadística. Per a això, el programa elimina els alineaments inconsistents (alineaments que ajuntin la mateixa part de la seqüència query amb diferents parts d'una seqüència en la base de dades). Els alineaments resultants són anomenats parells d'alta puntuació (HSPs o High Score Pairs per les seves sigles en anglès). Una vegada realitzat això, es calcula la puntuació final dels alineaments resultants i es determina la seva significació prenent en compte la probabilitat que té l'alineament d'haver estat obtingut per atzar d'acord amb la grandària de la base de dades. Al final es reporten només els alineaments que hagin obtingut una probabilitat major a I. El paràmetre I és conegut com a "valor i de tall", i permet definir quins alineaments es volen obtenir d'acord amb la seva significació estadística. Quan menor sigui el valor d'I, més significatiu és un alineament.

## Programes de la família BLAST
### Blastn

És dels més emprats. Compara una seqüència de nucleòtids contra una base de dades que contingui també seqüències nucleotídiques.

### Blastp

És un altre dels més emprats. És un BLAST obert que compara una seqüència d'aminoàcids contra una base de dades del mateix tipus. Normalment fa servir la matriu BLOSUM o PAM per realitzar els alineaments, tot i que també pot fer servir la matriu definida per l'usuari.

### BlastX

Aquest programa fa servir com a query una seqüència de nucleòtids. Tradueix la seqüència en els seus possibles marcs de lectura i compara les seqüències traduïdes contra una base de dades de proteïnes. Es fa servir quan se sospita que la seqüència query és d'un gen però no se sap exactament quin és el seu producte.

### TBlastn

Compara una seqüència proteica amb una base de dades de nucleòtids. Per a realitzar-ho tradueix totes les seqüències de nucleòtids en els seus sis marcs de lectura. Es fa servir quan es té una proteïna i l'anàlisi amb el blastp no ha estat amb èxit. Una bona quantitat de les seqüències traduïdes no són proteïnes que existeixin a la natura, el que obliga a anar amb compte amb aquest blast.

### TBlastX

És la combinació del TBlastn amb el BlastX. Compara una seqüència d'aminoàcids contra una base de dades d'aminoàcids, però primer tradueix tant la seqüència query com la base de dades de proteïnes, fent servir els sis marcs possibles de lectura.

### B2seq

És un blast que compara dues seqüències entre elles, en comptes de comparar una seqüència amb una base de dades.

## Variants del BLAST
### Gapped Blast

És una millora de l'algorisme original del BLAST. Es tracta d'un BLAST que contempla l'existència de petites insercions o delecions de les seqüències que s'estan comparant, permetent així alinear un o diversos nucleòtids o aminoàcids amb els buits anomenats gaps. Actualment és la forma habitual en la qual es fa servir el BLAST. L'ús d'aquest enfocament nou, afegeix un paràmetre a l'algorisme que és la penalització que es dona en la puntuació per alinear un nucleòtid o aminoàcid amb un gap.

### PsiBlast

Aquesta variant és emnprada per trobar possibles homòlegs entre organismes de parentiu molt llunyà, des del punt de vista filogenètic. Està disponible només per a seqüències d'aminoàcids. Es tracta d'un programa iteratiu que va calculant les seves pròpies matrius de distància a cada iteració.
A l'inici, fa un blastp normal, fent servir una matriu estàndard per a qualificar els alineaments. De les seqüències obtingudes en aquesta alineació, el programa genera una matriu nova de pesos, basant-se en les freqüències dels aminoàcids de les seqüències obtingudes en els alineaments. Fa servir aquesta matriu nova per a realitzar un altre alineament. Això permet, en general, trobes nous alineaments, que són emprats per calcular una matriu nova. El procés es repeteix tantes vegades com l'usuari ho indiqui, o fins que ja no es trobi nous alineaments.

### Wu Blast

Més que una variant, és l'algoritme del BLAST implementat per bioinformàtics de la Universitat de Washington. Segons els seus creadors, és un algorisme molt més ràpid i eficient que el BLAST de l'NCBI, i igual de sensible. Esdevé adequat per realitzar anàlisis massius de BLAST.

## Característiques intrínseques del BLAST

* Tot i que el BLAST és un programa molt poderós i ofereix resultats d'alta fiabilitat, en ser un programa heurístic pot contenir errors. Actualment, l'abús i la pobra interpretació dels resultats del BLAST ha dut a múltiples errors d'anotació. Això comporta haver de reunir evidència externa per corroborar un alineament (fisiològica, filogenètica, genètica…).
* El programa del BLAST, no garanteix que les seqüències que alineï siguin homòlogues i molt menys que tinguin la mateixa funció (en el cas que siguin proteïnes), simplement proveïx possibles candidats. Es fan doncs necessaris més anàlisis per a anotar correctament una seqüència.
* La puntuació del BLAST depèn de l'allargada de la seqüència, una seqüència molt curta tindrà una puntuació menor que una gran simplement per la quantitat de caràcters que té. Així, car la puntuació s'ha d'interpretar basant-se en l'allargada de la seqüència.
* El valor i depèn de la grandària de la base de dades. Per a bases de dades molt petites, els valor i alts són més significatius que per a bases de dades molt grans. Per a la base de dades de l'NCBI, en general, valors i de 0,01 o menys són considerats com a bons, però això pot dependre de la seqüència que s'estigui analitzant.
* Les bases de dades pateixen l'anomenat catàstrofe de l'anotació transitòria que fa que moltes proteïnes tinguin etiquetades incorrectament l'anotació, la qual per homologies amb el BLAST es va propagant ràpidament. A més, a més, moltes de les funcionalitats apuntades són putatives i per tant, possiblement incorrectes. Això fa que el BLAST per si sol, encara que presenti un percentatge d'homologia molt elevat no serveixi per indicar quina és la funció d'una proteïna, encara que sí que serveixi per suggerir-la.
* Les seqüències amb la millor puntuació o el millor valor i no són necessàriament els millors candidats a ser gens homòlegs. És important analitzar tots els alineaments que troba el programa i treure conclusions sobre la base del resultat global.
* El BLAST té diversos paràmetres per defecte que en general funcionen bé per a la majoria dels casos, però hi ha situacions en què es fa necessari canviar-los per a obtenir millors resultats. No hi ha forma de saber exactament quin paràmetre és l'òptim, s'han de realitzar múltiples proves fins a trobar les millors condicions.

## Referències

* ↑ Smith TF, Waterman MS «Identification of common molecular subsequences.». J Mol Biol., 147, 1, 1981, pàg. 195-7. PMID: 7265238.«Enllaç».
* ↑ Altschul, S. F., et. al. «Gapped BLAST and PSI-BLAST: a new generation of protein database search programs.». Nucleic Acid Res., 25, 1997, pàg. 3389-402. PMID: 9254694.«Enllaç».

## Enllaços externs

* BLAST del National Center for Biotechnology Information (NCBI) (anglès)
* Servidor BLAST a l'EBI (anglès)