Hyppää sisältöön

Puhdin ja Mahdin laskentapalvelut ovat poistuneet käytöstä. Puhdin ja Mahdin kirjautumisnoodit sekä tallennustila ovat saatavilla 15. lokakuuta 2026 asti, mutta ne eivät enää ole palvelusopimusten piirissä. Ryhdythän toimiin datan siirtämiseksi Roihuun välittömästi. Ohjeita löydät sivulta Roihun datan siirto-opas.

BWA

Burrows-Wheeler Aligner (BWA) on tehokas ohjelma, joka kohdistaa suhteellisen lyhyitä nukleotidisekvenssejä pitkää viitesekvenssiä, kuten ihmisen genomia, vasten. Se toteuttaa kolme algoritmia: BWA-MEM (mem), BWA-Backtrack (aln) ja BWA-SW (bwasw). BWA-Backtrack toimii alle 200 emäsparin pituisten kyselysekvenssien kanssa. Kahta muuta algoritmia käytetään pidemmille luvuille noin 100 kbp:iin asti. BWA-MEMiä suositellaan yli 70 emäsparin pituisille luvuille. Kaikki algoritmit tekevät aukollisen kohdistuksen.

BWA:ta voidaan käyttää sekä yksittäispään että paripään lukujen kohdistamiseen viitegenomiin tai sekvenssijoukkoon.

Lisenssi

Vapaasti käytettävä ja avointa lähdekoodia GNU GPLv3 -lisenssillä.

Saatavuus

  • Roihu-CPU: 0.7.19, bio-apps-moduulin kautta.

Käyttö

BWA on osa Roihun bio-apps -kokoelmaa. Lataa ensin bio-apps-moduulipuu ja sitten BWA-moduuli:

module load bio-apps/v202603
module load bwa/0.7.19

BWA-komentojen perussyntaksi on:

bwa <command> [options]

BWA-indeksit

CSC ei ylläpidä valmiiksi käännettyjä BWA-indeksejä viitegenomeille Roihussa, mutta voit tarkistaa, tarjoavatko Chipsterissä käytetyt genomit valmiin indeksin genomille, jota haluat käyttää. Tämä tehdään chipster_genomes -työkalulla:

module load chipster_genomes
chipster_genomes bwa

Jos sopivaa indeksiä ei löydy, ensimmäinen vaihe BWA-kohdistuksessa on viitegenomin lataaminen ja sen indeksointi. Huomaa, että $HOME-hakemistosi on usein liian pieni kokonaisten genomien käsittelyyn; analyysi kannattaa tehdä sen sijaan projektisi scratch-hakemistossa.

Lataa viitegenomi (esimerkiksi wget-komennolla) scratch-hakemistoosi ja laske sille sitten BWA-indeksit:

bwa index -a bwtsw Homo_sapiens.GRCh38.dna.toplevel.fa

Huomaa, että pienille (alle 2 GB) viitegenomeille voit käyttää nopeampaa "is"-indeksointialgoritmia (bwa index -a is).

Yksittäispään kohdistus

Kun indeksointi on valmis, voit tehdä yksittäispään lukujen kohdistuksen komennolla:

bwa mem Homo_sapiens.GRCh38.dna.toplevel.fa reads.fastq > aln.sam

Jos haluat käyttää aln-algoritmia (BWA-Backtrack), kohdistus täytyy tehdä kahdessa vaiheessa.

Laske ensin varsinainen kohdistus:

bwa aln Homo_sapiens.GRCh38.dna.toplevel.fa reads.fastq > aln_sa.sai

Tulostiedosto on BWA:n omaa .sai-muotoa, jonka voit muuntaa SAM-muotoon bwa samse -komennolla:

bwa samse Homo_sapiens.GRCh38.dna.toplevel.fa aln_sa.sai reads.fastq > aln.sam

Paripään kohdistus

Jos käytät MEM-algoritmia, voit tehdä paripään kohdistuksen yhdellä komennolla:

bwa mem Homo_sapiens.GRCh38.dna.toplevel.fa read1.fq read2.fq > aln.sam

BWA-Backtrack-algoritmin tapauksessa sinun tulee ensin tehdä erillinen kohdistusajo kummallekin lukutiedostolle:

bwa aln Homo_sapiens.GRCh38.dna.toplevel.fa reads1.fq > aln1.sai
bwa aln Homo_sapiens.GRCh38.dna.toplevel.fa reads2.fq > aln2.sai

Nämä kaksi .sai-kohdistustiedostoa yhdistetään bwa sampe -komennolla:

bwa sampe Homo_sapiens.GRCh38.dna.toplevel.fa aln1.sai aln2.sai reads1.fq reads2.fq > aln.sam

Esimerkkieräajokomentosarja

BWA-ajot tulee suorittaa eräajoina. Alla on esimerkkieräajokomentosarja BWA-ajon suorittamiseen Roihussa:

#!/bin/bash
#SBATCH --job-name=bwa
#SBATCH --output=output_%j.txt
#SBATCH --error=errors_%j.txt
#SBATCH --account=<project>
#SBATCH --partition=small
#SBATCH --time=12:00:00
#SBATCH --nodes=1
#SBATCH --ntasks=1
#SBATCH --cpus-per-task=8
#SBATCH --mem-per-cpu=4000M

module load bio-apps/v202603
module load bwa/0.7.19

# Index the reference genome
bwa index -a bwtsw Homo_sapiens.GRCh38.dna.toplevel.fa

# Run the alignment
bwa mem -t $SLURM_CPUS_PER_TASK Homo_sapiens.GRCh38.dna.toplevel.fa reads1.fq reads2.fq > aln.sam

Yllä olevassa eräajoesimerkissä suoritetaan yksi BWA-tehtävä (--ntasks=1). BWA-ajo käyttää 8 ydintä (--cpus-per-task=8) ja yhteensä 32 GB muistia. Ajon enimmäiskesto on kaksitoista tuntia (--time=12:00:00). Kaikki ytimet varataan yhdeltä laskentasolmulta (--nodes=1). Korvaa <project> omalla CSC-projektillasi (esimerkiksi project_2001234).

Voit lähettää eräajotiedoston eräajo järjestelmään komennolla:

sbatch batch_job_file.sh

Katso lisätietoja eräajojen suorittamisesta ohjeesta eräajokomentosarjan luominen Roihulle.

Tuki

CSC Service Desk

Lisätietoja

Lisätietoja BWA:sta löytyy seuraavista lähteistä:

Suomenkielinen tekoälykäännös

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

Klikkaa tästä antaaksesi palautetta