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 Basic Local Alignment Search Tool. 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.[1][2][3]

DNA-ahelate järjestus, mis on kujutatud nukleotiidide ühetäheliste vastetena

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

Kasutusalad muuda

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ü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.[1]

Algoritm muuda

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 algoritmi, 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.[1][4][5]

Otsinguprotsess muuda

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 skoorimaatriksis (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.[6]

Programm muuda

BLAST-i tööriistakomplekti BLAST+ saab oma arvutisse tasuta alla laadida ja läbi tekstiterminali 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.[7]

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

Variatsioonid muuda

  • 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 praimerite loomisel.[4][8]

Vorming muuda

Kuna BLAST on avatud lähtekoodiga, on programmist loodud ka mitteametlikke teisendeid. BLAST kasutab sisendina FASTA-vormingut ning 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 aspargiinhapet kui ka aspargiini, ja Z, mis võib tähistada nii glutamiinhapet kui ka glutamiini.[1]

Nukleotiidide vasted IUPACi sümbolitele.

Sümbol Kirjeldus Vastav nukleotiid
A

C

G

T

adenosine, adenosiin

cytidine, tsütidiin

guanosine, guanosiin

thymidine, tümidiin

A

C

G

T

W

S

M

K

R

Y

weak, nõrk (2 vesiniksidet)

strong, tugev (3 vesiniksidet)

amino, amino-rühmaga

keto, keto-rühmaga

purine, puriin

pyrimidine, pürimidiin

A, T

C, G

A, C

G, T

A, G

C, T

B

D

H

V

mitte A (B järgneb A-le)

mitte C (D järgneb C-le)

mitte G (H järgneb G-le)

mitte T, U (V järgneb U-le)

C, G, T

A, G, T

A, C, T

A, C, G

N any (suvaline nukleotiid) A, C, G, T

FASTA-vorming muuda

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.[1]

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.[9]

>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.[1]

Väljund muuda

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.[1]

Vaata ka muuda

Viited muuda

Välislingid muuda