BLAST

**BLAST**-algoritm on töövahend bioinformaatikas, mida kasutatakse sekveneerimisandmete analüüsiks. Algoritmi kasutatakse, et leida andmebaasidest nukleiinhapete (DNA või RNA) nukleotiidsele ja polüpeptiidide aminohappelisele järjestusele homoloogiline vaste. Programmi nimi on akronüüm ingliskeelsest nimetusest **''B**asic **L**ocal **A**lignment **S**earch **T**ool*. BLAST-algoritmi loomist 1990. ja edasiarendust 1997. aastal loetakse selle kümnendi üheks olulisimaks sündmuseks bioinformaatikas. BLASTi olulisust iseloomustab tõsiasi, et selle programmi kohta publitseeritud teadusartiklid on ühed enim tsiteeritud.

Esimese BLAST-algoritmi lõid [[Steve Altschul]], [[Warren Gish]] ja [[David Lipman]] [[Riiklik Biotehnoloogia Infokeskus|Riiklikus Biotehnoloogia Infokeskuses]] (ingl k *National Center for Biotechnology Information, NCBI*).

== Kasutusalad ==
BLAST-analüüs võimaldab leida sekveneerimisandmete andmebaasist homoloogilisi järjestusi. Need on järjestused, mis pärinevad ühisest eellasest ja võivad erineda mutatsioonide tõttu, kuid siiski täidavad enamasti sarnast funktsiooni. BLASTi abil saab ka identifitseerida tundmatuid liike, kaardistada huvipakkuva järjestuse asukohta kromosoomis ning konstrueerida [[Fülogeneesipuu|fülogeneesipuid]]. Siiski pole BLAST-andmete põhjal loodud fülogeneesipuud nii usaldusväärsed kui traditsioonilistel meetoditel loodud puud. Hoolimata oma vanusest kasutatakse BLAST-i ja selle variatsioone bioinformaatikas laialdaselt tänapäevani.

== Algoritm ==
Enne BLAST-i loomist kasutati peamiselt sekveneerimisandmete analüüsimisprogrammi [[FASTA]], mille eelkäija ([[FASTP]]) arendasid 1985. aastal välja David Lipman ja [[William Pearson]]. Varem kasutati homoloogiliste järjestuste leidmiseks [[Smithi-Watermani algoritm]]i, mida kasutades on küll garanteeritud parima võimaliku järjestustevahelise joonduse leidmine, kuid see on aeglane. Just nobedust silmas pidades on BLAST loodud heuristilise algoritmi baasil, mis kasutab tulemuseni jõudmiseks erinevaid otseteid. Seeläbi tagatakse küll kiirem tulemus, kuid väleduse nimel ohverdatakse resultaadi täpsust. Päringut tehes on kiiruse ja täpsuse tasakaalu võimalik muuta parameetriga T, kus suurem T väärtus tähendab kiiremat tulemust. Siiski pole heuristilise algoritmiga tagatud parima tulemuse leidmine.

== Otsinguprotsess ==
BLAST kasutab heuristilisi meetodeid, otsides esialgu kahe järjestuse vahel üles lühikesed vasted. Seda esmast protsessi kutsutakse seemendamiseks. Teise etapina alustab algoritm kohaliku joondusega. Järjestustes sarnaseid kohti otsides on keskse tähtsusega nn sõnad. Näiteks kui valgu järjestus peaks olema GASTK, siis BLASTi vaikimisi määratud otsingutingimustega oleksid sõnade pikkused 3 tähte ning näidisjärjestuse alusel oleksid need GAS, AST ja STK. BLASTi heuristiline algoritm leiab kõik sagedased kolmetähelised sõnad, mis esinevad nii huvipakkuvas järjestuses kui ka andmebaasis olevas järjestuses. Saadud tulemust kasutatakse järjestustevahelise joonduse koostamiseks. Alles nüüd lisatakse sagedastele sõnadele ülejäänud vähemsagedased sõnad. Kontrollides nüüd uusi sõnu [[skoorimaatriks]]is (tavaliselt [[BLOSUM62]], ingl k *BLOck SUbstitution Matrix*), peavad need ületama ette määratud täpsuslävendi T. Sobilikke koostatud sõnu võrreldakse nüüd andmebaasis olevate järjestustega. Selle, millist leitud vastet esitatakse tulemustesse, määrab ära parameeter T. Kui seemendamine on lõpule viidud, hakkab BLAST saadud järjestusi mõlemas suunas pikendama. Iga pikendamine kas suurendab või vähendab järjestuste sobivust kirjeldavat skoori, mis peab olema suurem kui täpsuslävend T. Muul juhul saadud joondust kasutajale ei esitata.

== Programm ==
BLAST-i tööriistakomplekti BLAST+ saab oma arvutisse tasuta alla laadida ja läbi [[tekstiterminal]]i kasutada. Komplekt kätkeb endas tegelikult mitmeid alamprogramme nagu näiteks BLASTN, BLASTP, BLASTC, TBLASTX, TBLASTN, PSI-BLAST, RPSBLAST ja RPSTBLASTN. Lisaks on võimalik programmi kasutada otse veebirakendusena. Mõlemal viisil töötab BLAST kõigil suurematel operatsioonisüsteemidel nagu [[Linux]], [[iOS]] ja [[Microsoft Windows]].

BLASTist on mitmesuguseid versioone, mis võimaldavad sooritada erinevaid otsinguid vastavalt kasutaja vajadustele.

=== Variatsioonid ===
**'megaBLAST** – otsib andmebaasist sisestatud nukleotiididele vastavaid nukleotiide ehk sooritab nukleotiidi-nukleotiidi päringu. See on sobilik väga sarnaste järjestuste leidmiseks. Seda kasutatakse näiteks samade või sarnaste liikide puhul. Näiteks kasutab oma analüüsimoodulis seda programmi Eesti päritolu elurikkuse andmebaaside- ja analüüsiplatvorm [[PlutoF]]. 
***BLASTN** – nukleotiidi-nukleotiidi otsing, mis on optimeeritud leidma suuremate erinevustega järjestusi.
***SmartBLAST** – kiirem alternatiiv tavalisele BLASTi valgu-valgu otsingule leidmaks tundmatule proteiinile nime.
***BLASTP** – võrdleb valgu-valgu järjestust. Selle programmi algoritm on aluseks mitmetele teistele BLASTi teisenditele nagu näiteks BLASTX ja TBLASTN.
***BLASTX** – teeb nukleotiidi päringu valkude andmebaasist. Ehk kõigepealt transleerib sisestatud nukleotiidide päringu aminohappeliseks järjestuseks, et teha valgu-valgu võrdlust.
***TBLASTN** – otsib valgu järjestust nukleotiidide andmebaasist, transleerides andmebaasis olevaid nukleotiid-järjestusi.
***Primer-BLAST*' – kasutatakse spetsiifiliste [[praimer]]ite loomisel.

=== Vorming ===
Kuna BLAST on [[Avatud lähtekoodiga tarkvara|avatud lähtekoodiga]], on programmist loodud ka mitteametlikke teisendeid. BLAST kasutab sisendina [[FASTA]]-vormingut ning [[Rahvusvaheline Puhta ja Rakenduskeemia Liit|Rahvusvahelise Puhta ja Rakenduskeemia Liidu]] (inglise keelest akronüüm IUPAC) sümboleid, mis võimaldavad kasutada nukleiinhapete kirjeldamisel mitmetähenduslikke tähti. Aminohapete kujutamisel kasutatakse nende ühetähelisi tähiseid. Vahel on ka valkude puhul vaja kasutada mitmetähenduslikke tähti, kuna proteiinide sekveneerimisel ei suudeta vahel eristada mõningaid aminohappeid. Selleks on kasutusele võetud tähed B, mis võib tähistada nii [[aspargiinhape]]t kui ka [[aspargiin]]i, ja Z, mis võib tähistada nii [[glutamiinhape]]t kui ka [[glutamiin]]i.

Nukleotiidide vasted IUPACi sümbolitele.


=== FASTA-vorming ===
Kõige populaarsem vorm bioloogiliste järjestuste kirjeldamiseks on FASTA, mille lõi koos samanimelise programmiga William Pearson. Seetõttu kutsutakse seda vormi vahel ka Pearsoni vorminguks. Sellises vormingus fail koosneb ühest või mitmest järjestusüksusest, mis omakorda koosneb järjestuse nimest, kirjeldusest ning seejärel järjestusest endast. Neist kolmest on kohustuslikud elemendid nimi ja järjestus. Iga uus üksus algab uuelt realt sümboliga ">". Tühikuid kasutades tuleb olla hoolikas. Sümboli ">" ja nime vahel ei tohi olla tühikut, mis on järjestuse nime ja kirjelduse eraldajaks. Nukleotiidide või aminohapete järjestus hakkab pihta uuelt realt.

Näide FASTA-failivormingust NCBI dokumentatsioonist, kus "*>gi|129295|sp|P01013|OVAX_CHICK*" on järjestuse nimi ja "*GENE X PROTEIN (OVALBUMIN-RELATED)''" on kirjeldus. Järgmiselt realt algab järjestus valgust, mis on kirja pandud ühetäheliste aminohapete sümbolitena.
```text
>gi|129295|sp|P01013|OVAX_CHICK GENE X PROTEIN (OVALBUMIN-RELATED)
QIKDLLVSSSTDLDTTLVLVNAIYFKGMWKTAFNAEDTREMPFHVTKQESKPVQMMCMNNSFNVATLPAE KMKILELPFASGDLSMLVLLPDEVSDLERIEKTINFEKLTEWTNPNTMEKRRVKVYLPQMKIEEKYNLTS VLMALGMTDLFIPSANLTGISSAESLKISQAVHGAFMELSEDGIEMAGSTGVIEDIKHSPESEQFRADHPFLFLIKHNPTNTIVYFGRYWSP
```

FASTA-vormingul puudub standardne failinimelaiend. Sagedasti kasutatavad laiendid faili nime lõpus on .fasta, .fas, .fna või .fa.

### Väljund
BLASTi väljund võib olla eri vormingutes nagu näiteks HTML, lihttekst või XML. NCBI kodulehel väljastatakse otsingutulemused HTML-ina. See sisaldab graafilist tabelit järjestustevahelisest homoloogiast ja otsingutabamuste arvu.

## Vaata ka
* Clustal
* PlutoF

## Viited

## Välislingid
* BLASTi ametlik koduleht
* BLASTi ingliskeelne erialasõnastik