※M1/M2チップ搭載のMacOSのPCでは下記通りにやっても動かないことがあります。
最近の解析環境のアップデートにより、エラーを吐く事例が頻出しています。
Dockerで実行できるようにimageをアップしましたので、本記事の方法でエラーが出る場合はDockerによる実行もご検討ください。(2024/08/01)
symportal
symportalはBenjamin C.C Humeが開発した、褐虫藻メタバーコーディングで得られたリードをジェノタイピングするソフトである。パイプラインとして作られており、rawデータをそのままインプットすることができる。以下参照論文およびsymportalの公式ホームページ。
メタバーコーディング
symportalで解析する場合は、基本的に以下のプライマーでメターバーコーディングを行う必要がある。
Primer pair | Sequence 5′–3′ | Amplicon size bp | Protocol | Cycles | Publication |
---|---|---|---|---|---|
SYM_VAR_5.8S2 | GAATTGCAGAACTCCGTGAACC | ∼234–266 | 98 °C for 2 min | 35 | |
SYM_VAR_REV | CGGGTTCWCTTGTYTGACTTCATGC | 98 °C for 10 s, 56 °C for 30 s, 72 °C for 30 s 72 °C for 5 min |
symportalのインストール v0.3.24 (2022年1月26日時点最新)
事前にcondaをインストールしてください。
以下を順にターミナルで実行する。
githubよりソースコードをダウンロード
#githubよりソースコードをダウンロード
wget https://github.com/didillysquat/SymPortal_framework/archive/refs/tags/v0.3.24.tar.gz
#解凍
tar -zxvf v0.3.24.tar.gz
#残ったファイルを削除
rm v0.3.24.tar.gz
以下を実行して秘密キー(アルファベットと文字の羅列)を取得し、メモ帳等にコピペしてキープしておく
#秘密キーを取得(メモ帳等にコピペしておく)
base64 /dev/urandom | head -c50
#2024年3月5日追記
MacOSのM2チップPCでエラーが起きたので、当該PCの場合は以下を代わりに実行する。
#base64 /dev/urandom | head -c50の代わりに以下を入力
dd if=/dev/urandom bs=1 count=50 | base64
以下を実行してsymportalをセッティングする
#ダウンロードしたファイルに移動
cd SymPortal_framework-0.3.24
#settings_blank.pyの名前をsettings.pyに変更
mv settings_blank.py settings.py
#settings.pyのSECRET_KEY = ''に秘密キーを入力
#入力したらこのようになる。SECRET_KEY = '^3#q(9(ky$5#=tg$8m45k*5gh!==n&nh)5*8=hf0g)giob^mzd'
vim settings.py
#sp_config_blank.pyの名前をsp_config.pyに変更
mv sp_config_blank.py sp_config.py
#sp_config.pyのuser_nameとuser_emailを入力
user_name = "undefined" --> user_name = "gibu"
user_email = "undefined" --> user_email = "bcchume@symportal.org"
#condaで仮想環境を作成する
conda env create -f symportal_env.yml
#仮想環境に入る
conda activate symportal_env
#SQLiteデータベースの作成
python3 manage.py migrate
#参照配列の設定
python3 populate_db_ref_seqs.py
#インストールのテスト
python3 -m tests.tests
以下を実行してうまくインストールできたかテストする
#インストールのテスト
python3 -m tests.tests
インストールがうまくいっていると、実行後、以下のように表示される
ANALYSIS COMPLETE: DataAnalysis:
name: testing
UID: 1
DataSet analysis_complete_time_stamp: 2020-06-23_13-21-54.293011
Cleaning up after previous data analysis test: 1
Deleting /home/humebc/delete_me/SymPortal_framework/outputs/analyses/1
Cleaning up after previous data loading test: 1
Deleting /home/humebc/delete_me/SymPortal_framework/outputs/loaded_data_sets/1
symportalの実行
詳しい情報は以下のgithubに記載されている
https://github.com/didillysquat/SymPortal_framework/wiki
ディレクトリ下にメタバーコーディングで得られたrawデータを置き、以下を順に実行する。
main.pyのパスをsymportalインストール先のパスに変更すること
#sympoortalの実行
#データの読み込み
/home/gibu/soft1/SymPortal_framework-0.3.24/main.py --load /home/gibu/project/takata/230126_takata --name first_loading
#読み込んだデータの確認
python3.8 /home/gibu/soft1/SymPortal_framework-0.3.24/main.py --display_data_sets
#分析の実行 --analyseの数字は読み込んだデータの確認でチェックする
/home/gibu/soft1/SymPortal_framework-0.3.24/main.py --analyse 2 --name first_analysis --num_proc 3
#実行された分析の確認
/home/gibu/soft1/SymPortal_framework-0.3.24/main.py --display_analyses
#実行結果の出力 --print_output_seqsの数字は実行された分析の確認でチェックする
/home/gibu/soft1/SymPortal_framework-0.3.24/main.py --print_output_seqs 2
symportal_env.ymlがうまくいかない
以下を手動でインストールする
#仮想環境の構築
mamba create -n symportal python=3.6 -y
conda activate symportal
#チャンネルの追加
conda config --add channels conda-forge
conda config --add channels bioconda
conda config --add channels anaconda
#ソフトのインストール
mamba install -y numpy
mamba install -y biopython
mamba install -y Django
mamba install -y matplotlib
mamba install -y pandas
mamba install -y plumbum
mamba install -y scipy==1.5.3
mamba install -y scikit-bio==0.5.6
mamba install -y openpyxl
mamba install -y xlrd
mamba install -y blast
mamba install -y iqtree
mamba install -y mafft
mamba install -y mothur==1.43.0
mamba install -y psycopg2
mamba install -y werkzeug
mamba install -y textdistance
mamba install -y beautifulsoup4