5
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

細菌ゲノムの遺伝子を高速に比較するLS-BSR pipelineを使う

Last updated at Posted at 2019-01-20

LS-BSR piplineとは

Jason W らが作成した細菌のゲノム間の遺伝子を比較しBLASTスコア比を返してくれるツール.
Large scale Blast Score Ratioを略してLS-BSR.

今回の解析に必要なデータセット

LS-BSR のディレクトリに格納されているtest_data/genomesを用いる.

データセットとして,
E2348_69_all.fasta
H10407_all.fasta
O157_H7_sakai_all.fasta
SSON_046_all.fasta
の4株が用いられている.

2. インストール

依存関係について

LS-BSR は様々なツールに依存していて正直しんどい.

依存ツール
Python >2.7 and <=3.5
BioPython
Prodigal - Required for de novo gene prediction only
VSEARCH - Optional
USEARCH - Optional
CD-HIT - Optional
Blast+ - Optional
Blat - Optional
Diamond - Optional

一気に入れたい場合はconda とかで.

conda create -n ls_bsr python=3.5
conda activate ls_bsr
conda install blast vsearch cd-hit prodigal ucsc-blat diamond biopython
git clone https://github.com/jasonsahl/LS-BSR.git
python setup.py install

# テストしよう
python tests/test_all_functions.py

3. 実行コマンド

LS-BSR の実行には4つ方法がある.
tblastn, blastn, usearch, diamond を用いた方法である.

# De novo 遺伝子予測方法
# -p が用いるプロセッサ数, -d がfasta(塩基)が入ったファイル, -c でusearch を指定している
ls_bsr.py -p ${n_cores} -d test_data/genomes -c usearch

# tblastn によるスクリーニング方法
ls_bsr.py -d test_data/genomes -g test_data/genes/ecoli_markers.fasta

# blastn による遺伝子スクリーニング方法
 ls_bsr.py -d test_data/genomes -g test_data/genes/ecoli_markers.fasta -b blastn

# Diamond によるアノテーションに対しての遺伝子検索方法
ls_bsr.py -d test_data/genomes -g test_data/genes/genes.pep -b diamond

4. 出力ファイルについて

今回は,De novo 遺伝子予測方法で実行した.

2019120134338_bsr_matrix.txt
2019120134338_consensus.pep
2019120134338_duplicate_ids.txt
2019120134338_run_parameters.txt
2019120134338_consensus.fasta
2019120134338_dup_matrix.txt
2019120134338_names.txt

というように,日付が先頭についたファイルが出力される.
-xをつければ,出力ファイルの_より前の部分の名前を変更できる.

5. 可視化について

出力ファイルの可視化について,様々な方法を使うことができる.
R,MeVでヒートマップを書くとか,iTOLで系統樹と一緒に表示させるとか.

以下にRでヒートマップを書いたが,そもそもこのデータは行数が多すぎてヒートマップに適していないので,80行だけランダムサンプリングして描画している.
入力側(xy軸)を数個の遺伝子とかにして,データベース側(x軸)に当てるとかいう状況だとヒートマップがいいと思う.

#heatmap の描画ライブラリを読み込む
library(pheatmap)

#データを読み込む&前処理
lsbsr<-read.table("2019120134338_bsr_matrix.txt")
lsbsr<-as.matrix(lsbsr)

# ランダムサンプリングで80行持ってくる
lsbsr80<-lsbsr[sample(nrow(lsbsr), 80), ]

#PDF に出力する
pdf("heatmap.pdf",width=10,height=15,pointsize = 8)

# heatmap 作成
pheatmap(lsbsr80)

# 描画終了
dev.off()

できたのがこんなかんじ
スクリーンショット 2019-01-20 19.25.31.png

参考HP

LS-BSR(Large Scale Blast Score Ratio)

LS-BSR Tutorial Project

LS-BSRの論文

The large-scale blast score ratio (LS-BSR) pipeline: a method to rapidly compare genetic content between bacterial genomes

5
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?