Bioinformatics/기타

[BLAST] RefSeq ITS 데이터 베이스로 blast하는 shell 함수만들기 (Linux)

김해김씨99대손 2024. 1. 26. 18:59

업데이트: 2024-08-06

 

 

이전 글

 

[R] Data frame에서 FAS/FASTA 포멧으로 바꾸는 3가지 방법

Unclassified된 species를 blast돌리기 위해 phyloseq 개체에서 추출한 계통을 fasta포멧으로 만들고자 했다. 원래 엑셀로 정렬을 하는 방법도 있고, 리눅스 상에서 간단하게 변경하는 방법도 있지만 역시

bio-kcs.tistory.com

 

[BLAST] Linux(Ubuntu, CentOS) 환경에서 NCBI BLAST+ 설치하고 돌려보기

🟦 BLAST란? | BLAST = basic local alignment sequence tool -BLAST는 밝혀진 지놈 또는 단백질 서열들을 데이터베이스화 해서 새로 밝혀낸 서열들의 상동성(유사성)검사를 실시하여 새로 밝혀진 서열이 어떤

bio-kcs.tistory.com

 

 

[BLAST] Linux에서 FAS/FASTA서열을 모두 blast하고 결과를 요약하는 스크립트 만들기

| 준비물 - 설치된 BLASTn (참고 : blast 설치) - fas/fasta파일 fas/fasta파일은 서열과 서열의 아이디로 구성되어 있으며, 아이디는 > 다음에 오는 글자를 말한다. | 자동화 함수 만들기 1. 빈 문서 만들기 v

bio-kcs.tistory.com

 

 

 


 

 

1. Data base다운로드

- https://ftp.ncbi.nlm.nih.gov/blast/db/

1) ITS RefSeq Fungi 다운로드 

2) 압축 풀고 원하는 위치로 이동 

-  tar -xzvf ITS_RefSeq_Fungi.tar.gz

 

 

2. BLAST 함수 만들기

- "vi blast_ITS.sh" 입력

#!/bin/bash

mkdir ./blast_ITS_results/            # 결과 파일을 저장하는 디렉토리 
output_dir="./blast_ITS_results/"     # 결과 파일을 저장하는 디렉토리


export PATH=$PATH:/home/~/ncbi-blast-2.13.0+/bin                    # 서버의 BLAST위치 
export BLASTDB="/data/Reference/ITS/BLASTDB/RedSeq_Fungi_20240802/" # 서버의 DB위치 


for file in *.fas; do                 # sh 파일과 같은 위치에 있는 fas파일을 input으로 사용

  # Top 5보기 
  output_file="${output_dir}${file%.*}.csv" 
  output_file_sum="${output_dir}${file%.*}_sum.csv"

  blastn -db /data/Reference/ITS/BLASTDB/RedSeq_Fungi_20221028/ITS_RefSeq_Fungi \
         -query "${file}" \
         -task blastn \
         -dust no \
         -outfmt "7 delim=, qacc sacc evalue bitscore qcovus pident sscinames" \
         -max_target_seqs 5 >  "$output_file"
  grep -v '#'  "$output_file" > "$output_file_sum"

  # Top 1 보기 
  output_file_t1="${output_dir}${file%.*}_t1.csv"
  output_file_t1_sum="${output_dir}${file%.*}_t1_sum.csv"

  blastn -db /data/Reference/ITS/BLASTDB/RedSeq_Fungi_20221028/ITS_RefSeq_Fungi  \
         -query "${file}" \
         -task blastn \
         -dust no \
         -outfmt "7 delim=, qacc sacc evalue bitscore qcovus pident sscinames" \
         -max_target_seqs 1 >  "$output_file_t1"
  grep -v '#'  "$output_file_t1" > "$output_file_t1_sum"

done

 

- 위 함수 입력하고 ":wq"로 저장

- "chmod u+x blast_ITS.sh" 로 활성화

 

 

3. BLAST  수행

- "bash blast_ITS.sh " 입력

 

 

 

4. 결과물 확인하기 

- 샘플 이름과, 그에따른 각각 결과물이 생성된 것을 볼 수 있다. 

 

 

 

 

반응형