El BLAST (Basic Local Alignment Search Tool) és un programa informàtic que permet comparar dues seqüències biològiques i trobar regions de similaritat local entre aquestes. Existeixen diferents tipus de BLAST, segons el format de les seqüències que s’utilitzen.
En aquest punt, hem alineat les querys prèviament seleccionades amb els diferents genomes dels protistes. Per dur-ho a terme, hem realitzat un tBLASTn, que compara una seqüència protèica (una query determinada) amb una base de dades de nucleòtids (el genoma d’un protista determinat). Per a realitzar-ho, tBLASTn tradueix cada seqüència de nucleòtids en els seus sis marcs de lectura possibles. A més a més, quan s’executa el programa, aquest reemplaça directament la U (selenocisteïna) de la query per una X. Finalment, tBLASTn et proporciona el diferents hits trobats per cada selenoproteïna alineada amb cadascun dels genomes dels diferents protistes.
Per poder treballar amb aquest programa cal executar prèviament les següents ordres al shell:
$ export PATH=/cursos/BI/bin/ncbiblast/bin:$PATH
$ cp /cursos/BI/bin/ncbiblast/.ncbirc ~/
Els fitxers corresponents a les bases de dades dels genomes dels diferents protistes no es poden utilitzar com a bases de dades de BLAST directament si es troben en fitxer FASTA. Perquè puguin ser accessibles s'han de formatejar, utilitzant una comanda anomenada formatdb, que genera tres arxius essencials perquè aquest programa pugui funcionar. L'ordre que cal executar al shell és el següent:
$ formatdb -i /cursos/BI/genomes/protists/any/nom_protista/genome.fa -p F -n genomes.fa
On el paràmetre -i especifica la ruta d'accés als fitxers dels diferents genomes dels protistes, l'argument -p F indica que la base de dades no és de proteïnes i el paràmetre -n permet renombrar l'arxiu de sortida de la base de dades, que ja es podrà utilitzar per fer el BLAST.
No obstant, els arxius que ens han proporcionat ja estaven formatejats, de manera que no ens ha calgut introduir aquesta comanda.
Un cop fets els passos anteriors, hem iniciat el tBLASTn, tot executant la següent comanda:
$ blastall -p tblastn -i protein.fa -d genomes.fa -o protein.genomes.fa
On query.fa ha de ser el fitxer que contingui la selenoproteïna , genoma_protista.fa ha de ser el nom de la base de dades en la qual volem fer la cerca, és a dir, del genoma d’un protista, i query.genoma_protista.fa ha de ser el nom d'un fitxer dins el qual volem que BLAST ens emmagatzemi els resultats de la cerca. A més a més, el paràmetre -p especifica el tipus de blast que s'aplica, el paràmetre –i indica quina query s'utilitza per a fer la recerca, l'argument -d especifica l'arxiu que s'utilitza com a base de dades i el paràmetre -o serveix per a donar-li un nom a l'arxiu de sortida del BLAST.
Hem afegit, però, un altre paràmetre per a dur a terme el tBLASTn: -m 9. Aquest argument especifica al programa que creï un fitxer de sortida en format de taula per a cada query alineada amb els genomes dels diferents protistes. En les diferents columnes d'aquest fitxer trobem la identitat de la query, la regió on es troba el hit, el percentatge d'identitat, la longitud de l'alineament, els mismatches, els gaps openings, on comença l'alineament dins de la query, on acaba l'alineament dins de la query, on comença l'alineament dins de la regió, on acaba l'alineament dins de la regió, el valor E (E-value) i la puntuació (score) de l'alineament. D'aquesta manera, la comanda que hem utilitzat finalment és la següent:
$ blastall -p tblastn -i query.fa -d genoma_protista.fa -o query.genoma_protista.fa -m 9
Un cop fet el tBLASTn, hem obtingut diferents hits per a cada query alineada amb cadascun dels genomes dels protistes. No obstant, hem observat que amb la query TR de Phytophthora sojae i amb les diferents querys de Fep15 no hem obtingut cap hit o els que hem obtingut són molt dolents, de manera que hem decidit afegir un altre paràmetre al tBLASTn: -F F. El BLAST, per defecte, substitueix les regions de baixa complexitat dels genomes per Xs, ja que aquestes regions poden donar lloc a errors en els alineaments resultants, és a dir, poden donar falsos positius. No obstant, quan no s'obtenen hits interessa que no es substitueixin les regions de baixa complexitat dels genomes, i és per això que hem fet un altre BLAST on hem afegit l’argument -F F. Els resultats reportats en aquest cas els hem tingut en compte només en el cas de les querys esmentades, ja que per les altres querys ja hem obtinguts hits molt significatius amb el BLAST sense aquest paràmetre. D'aquesta manera, per dur a terme la recerca de similaritat sense que es substitueixen les regions de baixa complexitat hem introduït la següent comanda:
$ blastall -p tblastn -i query.fa -d genoma_protista.fa -o query.genoma_protista.fa -m 9 -F F
Per a automatitzar aquest pas i no haver de fer un BLAST per cada query i per cada genoma de forma individual, hem creat uns programes anomenats programa.bash i programaFF.bash que ens realitzen aquest procés de forma simultània per a totes les querys i tots els genomes dels protistes. Aquests programes reporten uns fitxers amb els alineaments de les diferents querys amb el genoma dels diferents protistes i uns altres fitxers on es troben els hits escollits mitjançant dos filtres que hem afegit als programes. El primer filtre es troba dins del mateix programa i es basa en agafar només aquells alineaments que tenen un valor E amb un exponent negatiu. En canvi, per poder aplicar el segon filtre hem creat dos programes en perl. El programa searchU.pl ens ha permès trobar de manera automàtica en quina posició es troba la selenocisteïna (U) en cadascuna de les querys, mentre que el programa final.pl ens ha permès, a partir del resultat del programa anterior, seleccionar només aquells alineaments en els que la query tingués la U alineada. Com que el programa searchU.pl ens proporciona el valor de la posició on es troba la U en la query, podem fer que el programa final.pl ens agafi només aquells alineaments on el valor de la columna que especifica on comença l'alineament dins de la query sigui igual o més petit que el valor de la posició de la U i on el valor de la columna on acaba l'alineament a dins de la query sigui igual o major que el valor de la posició de la U. Hem utilitzat aquest filtre perquè sinó obteníem alineaments amb un valor E molt bo però en quals la selenocisteïna de la query no es trobava dins de l'alineament. Per exemple, en la query TR1 humana, la U es troba en la penúltima posició, de manera que sense aquest filtre trobem alineaments de gairebé tota la query excepte dels últims aminoàcids, on es troba la selenocisteïna.