การใช้งาน BLAST+

โหลดไฟล์ตัวอย่าง

ในตัวอย่างนี้เราจะใช้จีโนม Limosilactobacillus reuteri

เริ่มจากดาวน์โหลดโฟลเดอร์ที่จะใช้งานครั้งนี้ (01_blasttut) และแตกไฟล์ออกมา

# wget http://omics.ku.ac.th/blasttut/01_blasttut.tar.gz
wget https://www.dropbox.com/s/rb4urm6sbioy857/01_blasttut.tar.gz?dl=0 -O 01_blasttut.tar.gz
tar -xzf 01_blasttut.tar.gz && rm 01_blasttut.tar.gz
cd 01_blasttut

เราสามารถตรวจสอบลักษณะของโฟลเดอร์ได้โดยใช้คำสั่ง tree

tree
.
├── genomes
│   ├── GCA_009389105.1_ASM938910v1_genomic.fna.gz  # จีโนม
│   └── GCA_009389105.1_ASM938910v1_protein.faa.gz  # โปรตีน
├── Makefile
├── submit.sh
├── unk.fa   # DNA ที่ใช้ query
└── unkp.fa  # Protein ที่ใช้ query

จีโนมนี้เลือกสุ่มมาจากจาก FTP ของ NCBI

ขั้นตอนแรก เราจะเช็คว่าจีโนมที่ใช้งานคืออะไร

module av bbmap
module load bio/bbmap
sendsketch.sh  in=genomes/GCA_009389105.1_ASM938910v1_genomic.fna.gz

bbsketch เราจะได้ว่าตัวจีโนมที่ใช้อยู่น่าจะเป็นพวก Lactobacillus วิธีแปลผล

แตกไฟล์ Genome ทั้งหมดก่อนที่จะใช้งาน BLAST

(cd genomes; for i in *; do gunzip $i; done)

การใช้โปรแกรม BLAST+

1. แบบ Interactive

สร้าง DB สำหรับ BLAST

qsub -I -l "nodes=1:ppn=4" -l "walltime=1:00:00" -l "mem=2gb"
cd 01_blasttut
module load bio/BLAST+
makeblastdb -in  genomes/GCA_009389105.1_ASM938910v1_genomic.fna -dbtype nucl
makeblastdb -in  genomes/GCA_009389105.1_ASM938910v1_protein.faa -dbtype prot

แล้วทำการ blast

blastx -query unk.fa -db genomes/GCA_009389105.1_ASM938910v1_protein.faa -outfmt 7 > unk2prot.tab

นอกจากนี้ เรายังมี NCBI blast database ไว้สำหรับใช้งานด้วยอยู่ที่ /share/data/sysbiomics/db/

2. แบบ Batch file

ให้สร้าง bash ไฟล์ตามนี้

#PBS -r n
#PBS -e makeblastdb.err
#PBS -o makeblastdb.log
### Mail to user
#PBS -m ae
#PBS -q submit
#PBS -l walltime=1:00:00
#PBS -l nodes=1:ppn=4
#PBS -l mem=2gb
#################################################
#################################################

cd $PBS_O_WORKDIR
module load bio/BLAST+
sleep 60
makeblastdb -in  genomes/GCA_009389105.1_ASM938910v1_genomic.fna -dbtype nucl
makeblastdb -in  genomes/GCA_009389105.1_ASM938910v1_protein.faa -dbtype prot
blastx -query unk.fa -db genomes/GCA_009389105.1_ASM938910v1_protein.faa -outfmt 7 > unk2prot.tab

โดยให้เก็บไว้ในไฟล์ชื่ออะไรก็ได้ (แต่ใน ตย. จะใช้ชื่อ submit.sh) แล้วสั่งงานโดยใช้คำสั่ง qsub submit.sh

ใช้ NCBI-BLAST databases บน Sciku

ในเซิร์ฟเวอร์ของ Sciku มี NCBI database บางส่วนเก็บไว้บริการ

  • NR
  • NT
  • Swissprot

ซึ่ง Database เหล่านี่ถูกเก็บไว้ใน Folder /share/data/sysbiomics/db/

สำหรับในแบบฝึกหัดนี้เราจะใช้ Uniprot เป็นฐานข้อมูล ตัวอย่างในการรัน Interactive

# ต้องอยู่ใน Compute node [c1-c4]
blastp -query unkp.fa -db /share/data/sysbiomics/db/uniprot/blast/uniprot_sprot.fasta -num_threads 4 -outfmt 7 > unkp2uni.out

หรือสำหรับ Batchfile

#PBS -r n
#PBS -e bigblast.err
#PBS -o bigblast.log
### Mail to user
#PBS -m ae
#PBS -q submit
#PBS -l walltime=1:00:00
#PBS -l nodes=1:ppn=4
#PBS -l mem=2gb
#################################################
#################################################

cd $PBS_O_WORKDIR
blastp -query unkp.fa -db -db /share/data/sysbiomics/db/uniprot/blast/uniprot_sprot.fasta -num_threads 4 -outfmt 7 > unkp2uni.out