Hyppää sisältöön

Docs CSC now features an automatic Finnish translation. Click here for more information.

Warning!

Puhti and Mahti will be decommissioned after Roihu becomes available. Users should clean up unnecessary files and move any required data by the end of August 2026. See the Roihu data preparation instructions for details.

Puhti scratch is very full: keep only active data there and move or delete everything else. No new Puhti scratch quota will be granted.

BLAST

BLAST (Basic Local Alignment Search Tool) on yleisimmin käytetty sekvenssihomologian hakutyökalu. Kun annetaan kyselysekvenssi (nukleotidi tai proteiini), BLAST vertaa sitä sekvenssitietokantaan ja poimii sekvenssit, joilla on merkittävää samankaltaisuutta kyselysekvenssin kanssa. BLAST käyttää heuristista hakuprotokollaa, mikä tekee hausta erittäin nopean verrattuna ei-heuristisiin menetelmiin. Käytetyt heuristiikat voivat kuitenkin aiheuttaa sen, että BLAST ei löydä kaikkia merkittäviä osumia.

NCBI-BLASTin komentoriviversio mahdollistaa käyttäjälle kaikkien BLASTin parametrien muokkaamisen, erityismenetelmien kuten PSI-BLASTin ja PHI-BLASTin käytön sekä suurten datajoukkojen analysoinnin.

Puhdissa voit käyttää pb-komentoa (Parallel Blast) suurille kyselysekvenssijoukoille. pb-ohjelma jakaa suuren hakutyön useisiin osatöihin, jotka suoritetaan samanaikaisesti (lisää alempana).

Yleisimmin käytetyt BLAST-komennot ovat:

  • blastn hakee osumia nukleotidisekvenssille nukleotiditietokannasta
  • blastp hakee osumia proteiinisekvenssille proteiinitietokannasta
  • blastx hakee osumia nukleotidisekvenssille proteiinitietokannasta
  • psiblast tekee iteratiivisen haun proteiinisekvenssille proteiinitietokannasta
  • rpsblast hakee osumia proteiinisekvenssille proteiiniprofiilitietokannasta
  • rpstblastn hakee osumia nukleotidisekvenssille proteiiniprofiilitietokannasta
  • tblastn hakee osumia proteiinisekvenssille nukleotiditietokannasta
  • tblastx hakee osumia nukleotidisekvenssille nukleotiditietokannasta käyttämällä sekä kysely- että tietokantasekvenssien proteiinikäännöksiä.

Muut blast-komennot

  • blastdbcmd hakee sekvenssin tai sekvenssijoukon BLAST-tietokannoista
  • makeblastdb luo uuden BLAST-tietokannan
  • blast_formatter muotoilee BLAST-arkistomuotoisen BLAST-tulostiedoston uudelleen.

Lisenssi

Vapaasti käytettävissä ja avointa lähdekoodia GNU LGPLv2.1 -lisenssillä.

Saatavuus

  • Puhti: 2.15.0
  • Chipsterin graafinen käyttöliittymä

Käyttö

CSC:llä BLAST-hakuja voidaan suorittaa useilla tavoilla:

  • käyttämällä Chipster-alustaa
  • tavallisilla BLAST-komennoilla interaktiivisissa eräajoissa (sinteractive -i)
  • eräajoina pb-komennolla Puhdissa

Interaktiivinen käyttö Puhdissa

Jotta voit käyttää uusinta BLAST-versiota Puhdissa, anna ensin komento:

module load biokit

Käynnistä sitten interaktiivinen eräajoistunto komennolla:

sinteractive -i

Varaa interaktiiviselle istunnollesi 8 GiB muistia.

Sen jälkeen voit alkaa käyttää yllä lueteltuja BLAST-komentoja. Esimerkiksi seuraava komento hakisi sekvenssihomologeja UniProt-tietokannasta proteiinisekvenssille.

blastp -query proteinseq.fasta -db uniprot -out result.txt

Voit käyttää -help-valitsinta nähdäksesi, mitä komentorivivalintoja tietylle BLAST-komennolle on saatavilla. Esimerkiksi

blastp -help

Esimerkiksi komento:

blastp -query proteinseq.fasta -evalue 0.001 -db uniprot -outfmt 7 -out result.table

suorittaisi saman haun kuin yllä on kuvattu, paitsi että e-arvon kynnys asetettaisiin arvoon 0.001 (-evalue 0.001) ja tuloste kirjoitettaisiin taulukoksi (-outfmt 7).

pb:n (Parallel BLAST) käyttö CSC:llä

Jos kyselysekvenssijoukkosi sisältää alle 20 sekvenssiä, interaktiivinen eräajo on todennäköisesti tehokkain tapa tehdä haku. Jos kyselyjoukkosi kuitenkin sisältää satoja tai tuhansia sekvenssejä, Puhdin rinnakkaislaskentakapasiteetin hyödyntäminen on tehokkaampaa. Tällaisiin massiivisiin BLAST-hakuihin voit käyttää pb-komentoa.

pb (Parallel BLAST) on suunniteltu tilanteisiin, joissa kyselytiedosto sisältää suuren määrän sekvenssejä. Se jakaa kyselytehtävän useisiin osatöihin, jotka voidaan suorittaa samanaikaisesti hyödyntäen palvelimen resursseja erittäin tehokkaasti. Suurille kyselysekvenssijoukoille pb voi nopeuttaa hakua jopa 50-kertaisesti. Kaksi esimerkkikomentoa pb:lle Puhdissa:

module load biokit
pb blastn -db nt -query 100_ests.fasta -out results.out
pb psiblast -db swiss -query protseqs.fasta -num_iterations 3 -out results.out

pb blast -komennot voidaan suorittaa interaktiivisesti Puhdin kirjautumissolmuissa. Sinun ei tarvitse luoda eräajotiedostoa itse. Sen sijaan pb-komento luo ja lähettää eräajon automaattisesti. Kun BLAST-ajo on käynnistynyt, pb käynnistää prosessin, joka seuraa blast-ajon etenemistä. Koska suuren BLAST-ajon suorittaminen voi kestää pitkään, saatat joutua sulkemaan seurannan. Voit tehdä sen painamalla Ctrl-c. Sen jälkeen voit aloittaa muita tehtäviä tai kirjautua ulos Puhdista. BLAST-ajot jatkavat silti suorittamista eräajojärjestelmässä.

Yhdistääksesi uudelleen pb blast -ajoosi, siirry scratch-hakemistoosi ja suorita komento:

blast_clusterrun

Tämä listaa keskeneräisten pb blast -ajojesi väliaikaishakemistot. Voit tarkistaa blast-ajosi työnumeron hakemiston nimestä. Käytä tätä numeroa -jobid-valitsimen kanssa määrittääksesi sen pb blast -ajon, johon haluat yhdistää uudelleen.

blast_clusterrun -jobid some-number

Omien BLAST-tietokantojen käyttö pb:n kanssa

pb-ohjelma mahdollistaa myös BLAST-hakujen tekemisen käyttäjän omia fasta-muotoisia sekvenssijoukkoja vastaan. Tämä tehdään korvaamalla -db-valitsin valitsimella -dbnuc (nukleotideille) tai -dbprot (proteiineille). Esimerkki:

pb blastn -dbnuc my_seq_set.fasta -query querys.fasta -out results.out

Jos tietokantasi on suuri, BLAST-indeksien rakentaminen voi vaatia yli 1 GB muistia (se on työkohtainen muistiraja Puhdin kirjautumissolmuissa). Näissä tapauksissa voit lähettää työn interaktiivisesta eräajosta (esimerkiksi 8 GB muistilla).

Yleiskäyttöiset NCBI BLAST -tietokannat kuten NT tai NE ovat kasvaneet hyvin suuriksi, mikä hidastaa hakuja Puhdissa. Siksi, jos voit kohdentaa hakusi vain näiden tietokantojen osajoukkoon, haku nopeutuu ja epäolennaisten osumien raportointi vähenee.

BLAST+ 2.15.0 -versiosta alkaen BLAST+-komentorivisovellukset tukevat uutta ominaisuutta: ne hyväksyvät myös ei-lehtitason taxID:t (eli organismitason yläpuolella olevat, kuten esimerkiksi kädellisten tunnisteen). Esimerkiksi jos haluat kohdentaa haun vain NR-tietokannan lintusekvensseihin (Taxonomy ID: 8782), voit käyttää komentoa

pb blastp -db nr - query test.fasta -taxids 8782 -out test.res

Jos tiedät käyttäväsi tiettyä NR- tai NT-tietokantojen osajoukkoa useita kertoja, on tehokkaampaa suodattaa tämä sekvenssiosa kerran ja indeksoida sitten oma tietokanta suodatetuista sekvensseistä. Voit käyttää komentoa blastdbcmd suodattaaksesi tietyn taksonomisen ryhmän NR- tai NT-tietokannoista.

Esimerkiksi kaikki lintusekvenssit voidaan hakea NR-tietokannasta komennolla:

blastdbcmd -taxids 8782 -db nr -dbtype prot -out nrbirds.fasta -target_only

Tuloksena syntyvä fasta-tiedosto voidaan indeksoida BLAST-hakuja varten makeblastdb-komennolla.

makeblastdb -in nrbirds.fasta -dbtype prot

Jotta voit käyttää omaa tietokantaasi, sinun täytyy määrittää ympäristömuuttuja BLASTDB uudelleen niin, että se osoittaa hakemistoon, jossa indeksit sijaitsevat. Jos esimerkiksi indeksit sijaitsevat hakemistossa my_blastdb projektin project_20012345 scratch-hakemistossa, muuttuja asetetaan komennolla:

export BLASTDB=/scratch/project_20012345/my_blastdb

Nyt voit käyttää omaa tietokantaasi BLAST-haussa:

pb blastp -db nrbirds.fasta - queryquery.fasta -out bird-only-hits.res

Ensemblin genomidatan käyttö pb:n kanssa

pb-komento voi myös automaattisesti hakea lajikohtaisen aineiston Ensembl- tai Ensembl Genomes -palvelimilta ja käyttää aineistoa hakutietokantana. Tämä tehdään korvaamalla -db-valitsin valitsimella -ensembl_dna (hakee genomisen DNA:n), -ensembl_cdna (hakee cDNA-sekvenssit) tai -ensembl_prot (hakee proteiinisekvenssit). Lajin latinankielinen nimi tai taksonomiaindeksinumero annetaan Ensembl-valitsimien argumenttina. Lajin nimessä tulee käyttää alaviivaa (_) välilyönnin sijasta.

Esimerkiksi jos haluat verrata nukleotidisekvenssijoukkoa ihmisen genomiin, voit käyttää komentoa:

pb blastn -query dna_fargments.fasta -ensembl_dna homo_sapiens -out human_hits.txt

Jos haluat verrata samoja DNA-fragmentteja kanan genomista ennustettuihin proteiinisekvensseihin, voit käyttää komentoa:

pb tblastn -query dna_fargments.fasta -ensembl_prot gallus_gallus -out chicken_hits.txt

Voit nähdä Ensembl- ja Ensembl Genomes -tietokannoissa saatavilla olevien lajien luettelon komennolla:

ensemblfetch.sh -names

Alla on luettelo CSC:n palvelimilla ylläpidetyistä BLAST-tietokannoista.

**Nimi Tietokanta Lähdetiedosto**
Nukleotidit
nt NCBI:n ei-redundantti nukleotiditietokanta ftp://ftp.ncbi.nih.gov/blast/db/FASTA/
refseq NCBI RefSeq RNA -tietokanta ftp://ftp.ncbi.nih.gov/refseq/release/complete/
refseq_con NCBI RefSeq ihmisen contigit ftp://ftp.ncbi.nih.gov/refseq/H_sapiens/H_sapiens/
Proteiinit
nr NCBI:n ei-redundantti proteiinitietokanta ftp://ftp.ncbi.nih.gov/blast/db/FASTA/
pdb_v5 PDB-proteiinirakennetietokanta ftp://ftp.rcsb.org/pub/pdb/derived_data/
swiss Uniprot/Swiss-tietokanta ftp://ftp.ebi.ac.uk/pub/databases/uniprot/knowledgebase/
trembl Uniprot/TrEMBL-tietokanta ftp://ftp.ebi.ac.uk/pub/databases/uniprot/knowledgebase/
uniprot Uniprot Swiss ja TrEMBL
uniref100 Uniref100-tietokanta ftp://ftp.ebi.ac.uk/pub/databases/uniprot/uniref/uniref100/
uniref90 UniRef90-tietokanta ftp://ftp.ebi.ac.uk/pub/databases/uniprot/uniref/uniref90/
uniref50 UniRef50-tietokanta ftp://ftp.ebi.ac.uk/pub/databases/uniprot/uniref/uniref50/
Ensembl-genomit Valitse yksi lajeista pb-valitsimilla: -ensembl_dna, -ensembl_cdna tai -ensembl_pep ftp://ftp.ensembl.org/

Tuki

Ota yhteyttä CSC:n Service Deskiin teknistä tukea varten.

Lisätietoja

Lisätietoja Blastista löytyy NCBI:n BLAST-sivulta.

Suomenkielinen tekoälykäännös

Sisällössä voi esiintyä virheellistä tietoa tekoälykäännöksestä johtuen.

Klikkaa tästä antaaksesi palautetta