TRUBA’da Obitools kullanımı

Galaxy server‘da Obitools’ta takılınca TRUBA’da Obitools kullanımını lab arkadaşımdan öğrenmeye çalıştım. Burada da unutmamak için derledim.

Obitools ve trimmomatic yüklüyoruz. Obitools kullanmadan önce trimmomatic ile trim ediyoruz.

cat *.fasta > combined.fasta 
# (bulunduğumuz klasördeki bütün fasta dosyalarını birleştirmek için ihtiyacımız olan komut)

Obitools python 2 ve trimmomatic python 3 kullandığı için py2 ve py3 adında iki environment oluşturduk. Obitools için py2’yi, trimmomatic kullanmak için py3’ü aktive etmek gerekli.

export PATH="/truba/home/onudogan/miniconda3/bin:$PATH"

source activate py2

 py2’yi aktive etmek için bu iki kodu çalıştırmalısın

export PATH="/truba/home/onudogan/miniconda3/bin:$PATH"

source activate py3

bu da py3’ü aktive etmek için kullandığımız kod.

for loop oluşturduk, x’den 1 den 5’e, y nin 1 den 10 a z’nin 1’den 2’ye olduğu -bunu sekanslarımızın bulunduğu dizindeki ham data dosyalarımızın isim aralıklarına göre düzenleyeceğiz. for için do ve done yazmamız gerekliydi. M‘nin yanına x değişkeni fastq oluşturduk aynı dosyada Header’ımı değiştirdim (header.sh) crop olan Trim ettiğim tüm dosyaları

#!/bin/bash
#SBATCH -A onudogan #kullanıcı_adımız
#SBATCH -J trim #işimizin_adı
#SBATCH -N 1 #kaç_nod_kullanılacak
#SBATCH -n 20 #iş_için_toplamda_kullanılacak_çekirdek_adeti.
#SBATCH -p  debug #name of the job queue
#SBATCH --time=00-00:15:00 #işimizin_süresi

#fastq dosyalarımızın bulunduğu dizindeki
tüm dosyaların trim edilmesi için for döngüsü oluşturuyoruz. 
for x in {1..5}  
do
for y in {1..10}
do
for z in {1..2}
do
trimmomatic SE -threads 20 -phred33 ./${x}-${y}_L001_R${z}_001.fastq.gz
./${x}-${y}_L001_R${z}_001_crop.fastq HEADCROP:26 #26 adaptör sekans uzunluğu
done
done
done
(base) -bash-4.2 $batch obi.sh
...$ squeue (iş çalışıyor mu diye)
...$ -acct

yine for döngüsü oluşturduk

illuminapairedend ile tek bir dosyada oluşturduk.

#!/bin/bash
#SBATCH -A onudogan #kullanıcı_adımız
#SBATCH -J trim #işimizin_adı
#SBATCH -N 1 #kaç_nod_kullanılacak
#SBATCH -n 20 #iş_için_toplamda_kullanılacak_çekirdek_adeti.
#SBATCH -p  debug #name of the job queue
#SBATCH --time=00-00:15:00 #işimizin_süresi

for x in {1..5}
do
for y in {1..10}
do

illuminapairedend --score-min=40 -r ${x}-${y}_L001_R1_001_crop.fastq ${x}-${y}_L001_R2_001_crop.fastq > ${x}-${y}.fastq #illuminapairend

obigrep -p 'mode!="joined"' ${x}-${y}.fastq > ${x}-${y}.ali.fastq #obigrep

obiuniq -m sample ${x}-${y}.ali.fastq > ${x}-${y}.ali.uniq.fasta #obiuniq

obiannotate -k count -k merged_sample ${x}-${y}.ali.uniq.fasta > $$ ; mv $$ ${x}-${y}.ali.uniq.fasta #obiannotate

obistat -c count ${x}-${y}.ali.uniq.fasta | sort -nk1 | head -20 #obistat

obigrep -l 300 -p 'count>=3' ${x}-${y}.ali.uniq.fasta > ${x}-${y}.ali.uniq.c3.l300.fasta #obigrep

obiclean -d 9 -H ${x}-${y}.ali.uniq.c3.l300.fasta >  #obiclean

cleandata/${x}-${y}.ali.uniq.c3.l300.d10clean.fasta #cleandata

done 
done

header diye bir kod oluşturduk (header.sh)

#!/bin/bash
#SBATCH -A onudogan #kullanıcı_adımız
#SBATCH -J trim #işimizin_adı
#SBATCH -N 1 #kaç_nod_kullanılacak
#SBATCH -n 20 #iş_için_toplamda_kullanılacak_çekirdek_adeti.
#SBATCH -p  debug #name of the job queue
#SBATCH --time=00-00:15:00 #işimizin_süresi

for x in {1..5}
do
for y in {1..10}
do

sed 's|\M.*||' ${x}-${y}.ali.uniq.c3.l300.d10clean.fasta > $$ ; mv $$ ${x}-${y}.ali.uniq.c3.l300.d10clean.fasta #sed ile siliyorsun

awk '/^>/ {$1=$1 '${x}'"-"'${y}'"_" ++i}1' ${x}-${y}.ali.uniq.c3.l300.d10clean.fasta > $$ ; mv $$ ${x}-${y}.ali.uniq.c3.l300.d10clean.fasta #awk ile daha anlamlı bir şekilde adlandırıyorsun

done
done
bash-4.2$ cat *.fasta #cat komutu fasta uzantılı dosyaları yazdırmak için 

BLAST database’ni servera indirmek gerekiyor BLAST’lamadan önce

anaconda, Biostars’ta BLAST ara yüzünü server a indirme linkini 

 tar -zxvf #tar dosyasını açmak için

içinde iki dosya oluyor ve oraya çıkartıyor. BLAST yapmaya hazırız. BLASTDB ye cleandata dosyamızın lokasyonunu tanıtıyoruz

export BLASTDB="/truba/home/onudogan/blast"

blastn -db nt -query "combined.fasta" -outfmt 6" std sscinames pident qcovs staxids " -max_target_seqs 100 -out "blastresult.out" -remote #blastresult.out dosyasına blastlıyoruz.


Blast taksonomi database’i için erişim linki

conda --help