การใช้งาน 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
เราจะได้ว่าตัวจีโนมที่ใช้อยู่น่าจะเป็นพวก Lactobacillus วิธีแปลผล
แตกไฟล์ Genome ทั้งหมดก่อนที่จะใช้งาน BLAST
(cd genomes; for i in *; do gunzip $i; done)
สร้าง 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/
ให้สร้าง 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
ในเซิร์ฟเวอร์ของ 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