複数のメタゲノムサンプルからde novoで株を同定するSTrain Resolution ON assembly Graphs (STRONG)を紹介する。STRONGはメタゲノムアセンブリゲノム(MAG)に対してコアアセンブリとビニングを行い、バリアント簡略化の前にコアアセンブリグラフを保存する。これにより、各MAGに含まれる個々の単一コピーコア遺伝子(SCG)に対するサブグラフとそのサンプルごとのユニットカバレッジを抽出することが可能になる。ベイズアルゴリズムBayesPathsにより、存在する菌株の数、SCG上のハプロタイプまたは配列、および存在量が決定される。STRONGは合成コミュニティを使用して検証され、実際の嫌気性消化器の時系列に対して、ロングナノポアリードから観察されるものと一致するハプロタイプを生成する。
インストール
git clone --recurse-submodules https://github.com/chrisquince/STRONG.git
export SPATH=$PATH:$PWD/STRONG/
cd STRONG/SPAdes/assembler/
./build_cog_tols.sh
cd ../../
mamba env create -f conda_env.yaml
conda activate STRONG
cd BayesPaths
python ./setup.py install # *1
cd ../
CPATH=`which concoct_refine`
sed -i 's/values/to_numpy/g' $CPATH
sed -i 's/as_matrix/to_numpy/g' $CPATH
sed -i 's/int(NK), args.seed, args.threads)/ int(NK), args.seed, args.threads, 500)/g' $CPATH
#Fix R lapack library location item
ln -s $CONDA_PREFIX/lib/R/modules/lapack.so $CONDA_PREFIX/lib/R/modules/libRlapack.so
#インストールチェック
python SnakeNest/scripts/check_on_dependencies.py
#インストールスクリプトが用意されている(SPAdesとmmabaのインストール、YAMLに書かれた他のパッケージの仮想環境STRONGへのインストール)。今回は上の手順で進めた。
./install_STRONG.sh
> python SnakeNest/scripts/check_on_dependencies.py
> ./bin/STRONG -h
usage: STRONG [-h] [--threads THREADS] [--config CONFIG] [--verbose]
[--dryrun] [--unlock] [--dag DAG] [-s ...]
dir
[{graphextraction,bayespaths,assembly,all,desman,evaluation,results}]
STRONG - STrain Resolution ON Graphs
positional arguments:
dir Output directory
{graphextraction,bayespaths,assembly,all,desman,evaluation,results}
Pipeline step to run options: all, assembly,
graphextraction, bayespaths, evaluation, results or
desman, default is all
optional arguments:
-h, --help show this help message and exit
--threads THREADS, -t THREADS
Number of threads
--config CONFIG, -c CONFIG
config.yaml to be copied to the directory (unnecessary
if config.yaml is already there)
--verbose, -v Increase verbosity level
--dryrun, -n Show tasks, do not execute them
--unlock, -u Unlock the directory
--dag DAG, -d DAG file where you want the dag to be stored
-s ... Pass additional argument directly to snakemake
データベースの準備
COGデータベース
export DB_PATH=/path/to_my/database
cd $DB_PATH
wget https://strongtest.s3.climb.ac.uk/rpsblast_cog_db.tar.gz
tar -xvzf rpsblast_cog_db.tar.gz
rm rpsblast_cog_db.tar.gz
テストデータの準備
export SRPATH=/<path>/<to>/STRONG_Runs
mkdir $SRPATH
cd $SRPATH
wget https://strongtest.s3.climb.ac.uk/Test.tar.gz
tar -xvzf Test.tar.gz
rm Test.tar.gz
Test/
Sample1-8にはそれぞれ1組のペアエンドfastq.gzファイルが配置されている。
ラン前にSTRONG/SnakeNest/config.yamlを編集する。
1,dataのパスはダウンロードして解凍したSTRONG_Runs/Testにする。
2,cog_databaseはダウンロードして解凍したrpsblast_cog_db/Cogにする。
3,genomeはダウンロードして解凍したSTRONG_Runs/Test/Evalにする。
テストラン
cd $SPATH/STRONG/
./bin/STRONG --config ./SnakeNest/test_config.yaml $SRPATH/TestResults --threads 8 --dryrun --verbose
引用
STRONG: metagenomics strain resolution on assembly graphs
Christopher Quince, Sergey Nurk, Sebastien Raguideau, Robert James, Orkun S. Soyer, J. Kimberly Summers, Antoine Limasset, A. Murat Eren, Rayan Chikhi & Aaron E. Darling
Genome Biology volume 22, Article number: 214 (2021)
関連
*1