Hyppää sisältöön

Welcome to our weekly research support coffee hour on Zoom! Click here for more information.

Warning!

Puhti scratch disk is becoming very full (80+ % ) resulting in performance degradation. Everybody is advised to only keep actively processed data on scratch, all other data should be deleted, transferred to host institute or stored in Lumi-O. No new quota will be granted. Click here for a tool for examining your disk usage.

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, minkä vuoksi haku on erittäin nopea verrattuna ei-heuristisiin menetelmiin. Käytetyt heuristiikat voivat kuitenkin aiheuttaa sen, että BLAST ei löydä kaikkia merkittäviä osumia.

NCBI-BLASTin komentoriviversio mahdollistaa sen, että käyttäjä voi muokata kaikkia BLASTin parametreja, käyttää erityismenetelmiä kuten PSI-BLAST ja PHI-BLAST sekä analysoida suuria datajoukkoja.

Puhdissa voit käyttää pb-komentoa (Parallel Blast) suurille kyselysekvenssijoukoille. pb-ohjelma jakaa suuren hakutyön useisiin osatöihin, jotka suoritetaan samanaikaisesti (lisää tästä 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 uudelleen BLAST-arkistomuotoisen tulostiedoston.

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ä komentorivivalitsimia 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 tulos tulostettaisiin taulukkoon (-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. Suurilla kyselysekvenssijoukoilla 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, mihin pb blast -ajoon haluat yhdistää uudelleen.

blast_clusterrun -jobid some-number

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

pb-ohjelma mahdollistaa myös BLAST-haut 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 (mikä 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+ versiosta 2.15.0 alkaen BLAST+-komentorivisovellukset tukevat uutta ominaisuutta: ne hyväksyvät myös ei-lehtitason taxID:t (eli organismitason yläpuolella olevat tunnisteet, 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ä sekvenssien osa kerran ulos 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ääritellä ympäristömuuttuja BLASTDB uudelleen niin, että se osoittaa hakemistoon, jossa indeksit sijaitsevat. Esimerkiksi jos indeksit sijaitsevat hakemistossa my_blastdb projektin project_20012345 scratch-hakemistossa, muuttuja asetetaan komennolla:

export BLASTDB=/scrartch/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 listan komennolla:

ensemblfetch.sh -names

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

**Name Database Source file**
Nucleotides
nt NCBI non-redundant nucleotide database ftp://ftp.ncbi.nih.gov/blast/db/FASTA/
refseq NCBI RefSeq RNA database ftp://ftp.ncbi.nih.gov/refseq/release/complete/
refseq_con NCBI RefSeq human contigs ftp://ftp.ncbi.nih.gov/refseq/H_sapiens/H_sapiens/
Proteins
nr NCBI non-redundant protein database ftp://ftp.ncbi.nih.gov/blast/db/FASTA/
pdb_v5 PDB protein structure database ftp://ftp.rcsb.org/pub/pdb/derived_data/
swiss Uniprot/Swiss database ftp://ftp.ebi.ac.uk/pub/databases/uniprot/knowledgebase/
trembl Uniprot/TrEMBL database ftp://ftp.ebi.ac.uk/pub/databases/uniprot/knowledgebase/
uniprot Uniprot Swiss and TrEMBL
uniref100 Uniref100 database ftp://ftp.ebi.ac.uk/pub/databases/uniprot/uniref/uniref100/
uniref90 UniRef90 database ftp://ftp.ebi.ac.uk/pub/databases/uniprot/uniref/uniref90/
uniref50 UniRef50 database ftp://ftp.ebi.ac.uk/pub/databases/uniprot/uniref/uniref50/
Ensembl genomes Valitse yksi lajeista pb-valitsimilla: -ensembl_dna, -ensembl_cdna tai -ensembl_pep ftp://ftp.ensembl.org/

Tuki

Ota yhteyttä CSC:n asiakastukeen 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