BIG-SCAPEはオランダのグループが開発した二次代謝産物生合成遺伝子クラスター比較ツールである。
事前に二次代謝産物生合成遺伝子クラスター予測ツールantiSMASHを利用して解析されたデータ群を解析し、比較結果を見やすく出力してくれる。
Google Colaboratoryでも動作さえることができるため、方法を記録する。
製作者のホームページ
https://bigscape-corason.secondarymetabolites.org/
引用文献
https://www.nature.com/articles/s41589-019-0400-9
2023年5月10日にCondaを利用しない方法へと変更しました。
condaを利用するよりも早く実行することができます。
2023年10月17日、Pfamデータベースのダウンロード元が変更されたことに気づきました。
ダウンロード先を変更しました。
2025年1月27日追記
著者らによりupdateが入り、仕様が少し変更されました。
- pyhmmerが必要になったようです
- hmmデータベースのpathの入力が必要になった
- 機能が分割され、最初に「cluster, query, benchmark」の指定が必要になった
- 従来の機能を利用するならclusterを指定すれば良い
- 現時点でリリースされている最新版はbeta版であるため、今後改善が入ると予想される。古いversionを使いたい場合は最後の「BiG-SCAPEの古いバージョンを利用した場合」を参照する。
- 現状、最新版はまだbeta版であることもあり、旧バージョンよりも大幅に時間がかかるようである。改善するまで利用しない方が良いかもしれない。
インストールの過程で必要なモジュールのインストール
最初のセル
以下、スクリプトを上から順にセルにコピーペーストして実行すると良い。
import os
import shutil
import subprocess
from subprocess import Popen
biopythonのインストール
biopythonとpyhmmerのインストールが必要である。2025年1月26日追記
pyhmmerの追加、biopythonのversion指定を外した。version指定をしなくても動作するようになった。
!pip install biopython
!pip install pyhmmer
BIG-SCAPEと付随する必要なツールのインストール
sudo pat-getを利用したインストールが簡便である。Condaでもインストール可能である。ただし、こちらの方は時間がかかる。condaを利用したinstallは参考のために本ページの最後に記載する。
!sudo apt-get install hmmer2 hmmer diamond-aligner fasttree ncbi-blast+
BiG-SCAPEのダウンロード
まず、BiG-SCAPEのプログラムをダウンロードする。!git clone https://github.com/medema-group/BiG-SCAPE.git
これにより、BiG-SCAPEフォルダが作られるはずである。
左側のフォルダボタンを押すことで確認する。
Pfamデータベースのダウンロード
BiG-SCAPEフォルダにPfamデータベースをダウンロードし、フォーマットする必要がある。
そのため、以下の操作を行う。
#ルートに作られるBiG-SCAPEフォルダの中にPfamデータベースを格納する必要があるため、フォルダを移動する
%cd BiG-SCAPE
#Pfamデータベースをダウンロードする。
#以下は過去のデータベースからダウンロードする際のコマンドです。
#cmd = 'wget ftp://ftp.ebi.ac.uk/pub/databases/Pfam/releases/Pfam32.0/Pfam-A.hmm.gz && gunzip Pfam-A.hmm.gz'
cmd = 'wget ftp://ftp.ebi.ac.uk/pub/databases/Pfam/current_release/Pfam-A.hmm.gz && gunzip Pfam-A.hmm.gz'
test = subprocess.Popen(cmd, shell=True, text=True,stdout=subprocess.PIPE, stderr=subprocess.PIPE)
outs, errs = test.communicate()
#Pfamデータベースをセットアップする
cmd = 'hmmpress Pfam-A.hmm'
test = subprocess.Popen(cmd, shell=True, text=True,stdout=subprocess.PIPE, stderr=subprocess.PIPE)
outs, errs = test.communicate()
#完了後もとのフォルダに戻る。
%cd ../
BiG-SCAPEの動作確認
BiG-SCAPEのhlepを呼び出すことで、正常に動作するか確認する。
特にエラーが出なければ良い。
#@title BiG-SCAPE 動作確認
cmd = "python BiG-SCAPE/bigscape.py --help"
test = subprocess.Popen(cmd, shell=True, text=True,stdout=subprocess.PIPE, stderr=subprocess.PIPE)
#test.wait()
outs, errs = test.communicate()
print(outs)
print(errs)
clusterの機能に関してもhelpを確認しておくといい。
#@title BiG-SCAPE 動作確認
cmd = "python BiG-SCAPE/bigscape.py cluster -h"
test = subprocess.Popen(cmd, shell=True, text=True,stdout=subprocess.PIPE, stderr=subprocess.PIPE)
#test.wait()
outs, errs = test.communicate()
print(outs)
print(errs)
Google Driveへのアクセス
antiSMASHの解析データを必要とするため、アップロードによる解析はやや煩雑である。 自身のgoogle driveの特定のフォルダにantiSMASHの結果のデータを全て格納し、そこにアクセスして解析すると簡便で良い。 ただし、容量が必要なので、無料のアカウントでは容量が足りなくなる可能性もある。 folder_nameを目的のフォルダ名にする。from google.colab import files
from google.colab import drive
drive.mount('/content/drive')
DRIVE = "MyDrive/folder_name/" #@param {type:"string"}
BiG-SCAPEの実行
-iの後にインプットファイルの名前が、-oの後に出力ファイルの保存先を指定している。 この設定では解析ファイルが格納されているフォルダに新たに「BS_results」というフォルダを作成して結果を格納する。2025年1月27日追記
clusterオプションの指定が必要になったため、clusterオプションを追加した。
pfamデータベースのパスの指定が必要になったため「-p BiG-SCAPE/Pfam-A.hmm」を追加した。
#BiG-SCAPEへの実行
cmd = "python BiG-SCAPE/bigscape.py cluster -p BiG-SCAPE/Pfam-A.hmm -i " + DRIVE + " -o" + DRIVE + "BS_results"
test = subprocess.Popen(cmd, shell=True, text=True,stdout=subprocess.PIPE, stderr=subprocess.PIPE)
#test.wait()
outs, errs = test.communicate()
print(outs)
print(errs)
出力されたネットワークをcytoscapeで描画する
BiGSCAPEで出力されたファイル、index.htmlを開くとある程度ネットワーク画像を描画してくれる。しかし、より綺麗な図を目指すのであればcytoscapeを利用した方が良い。cytoscape
https://cytoscape.org/
まず、cytoscapeをインストールし起動する。
次に、「File > import > Net work from file」
を実行する。
BiGSCAPEの結果、出力フォルダにはnetwork_filesというフォルダが存在する。
このフォルダの中に化合物ファミリーごとのフォルダ (NRPS, PKS, etc) が存在する。
これらのなかに、「.network」という拡張しのファイルが存在するため、これらを開く。
以下のような画面が出てきます。
Clustername 1をクリックし、「Source node」に指定する。
Clustername 2をクリックし、「Target node」に指定する。
Raw distanceをクリックし、「Edge attribute」 に指定する。
importが済んだら、「File > Import > Table from File」を実行する。
同じフォルダにある、対応した名前のtsvファイルを開く。
Family numberが入力される。
BiG-SCAPEの古いバージョンを利用した場合
ベータ版である、最新場ではなく、古いv1.9を利用することも可能である。
以下の方法で一つ古いversionをダウンロードすることができる。
!git clone https://github.com/medema-group/BiG-SCAPE.git -b v1.1.9 --depth 1
他の操作はほとんど同じになる。以下のコマンドでこちらは実行可能である。
#BiG-SCAPEへの実行
cmd = "python BiG-SCAPE/bigscape.py -i " + DRIVE + " -o" + DRIVE + "BS_results"
test = subprocess.Popen(cmd, shell=True, text=True,stdout=subprocess.PIPE, stderr=subprocess.PIPE)
#test.wait()
outs, errs = test.communicate()
print(outs)
print(errs)
condaを利用した必要なプログラムのインストール (参考)
以下の方法でcondaを利用して必要なプログラムをインストールすることが可能である。
しかし、こちらの方法は使わない方が良い。原因は不明だが、うまく動作しない場合がある。
%%bash
#MINICONDA_INSTALLER_SCRIPT=Miniconda3-4.5.4-Linux-x86_64.sh
#Miniconda3-4.7.12.1-Linux-x86_64.sh
MINICONDA_INSTALLER_SCRIPT=Miniconda3-4.7.12.1-Linux-x86_64.sh
MINICONDA_PREFIX=/usr/local
wget https://repo.continuum.io/miniconda/$MINICONDA_INSTALLER_SCRIPT
chmod +x $MINICONDA_INSTALLER_SCRIPT
./$MINICONDA_INSTALLER_SCRIPT -b -f -p $MINICONDA_PREFIX
conda update --all
#install hmmer by conda
conda install -y -c bioconda hmmer
conda install -y -c bioconda/label/cf201901 hmmer
conda install -y -c numpy scipy scikit-learn
conda install -y -c anaconda networkx
conda install -y -c bioconda fasttree
conda install -y -c bioconda/label/cf201901 fasttree