macでインフォマティクス

macでインフォマティクス

NGS関連のインフォマティクス情報についてまとめています。

複数のBinnngツール結果を比較してbinning精度を上げる Binning_refiner

 

 ハイスループットショットガンシーケンシングは、未知の微生物群集を研究する強力な方法を提供する(Eloe-Fadrosh et al、2016)。メタゲノミクスショットガンシーケンシングからゲノムビニングと呼ばれるプロセスによって完全または部分的な微生物ゲノムを再構築するアプローチが最近多く開発されている(Alneberg et al、2014; Imelfort et al、2014; Kang et al、2015; LinおよびLiao)。これらのアプローチは、複合特性(例えば、GC含量、テトラヌクレオチド頻度)または複数のサンプルにわたる配列カバレッジプロファイル(またはそれらの組み合わせ)に基づいて、メタゲノミクス配列からアセンブリされたコンティグをクラスター化する。しかし、アルゴリズムや統計モデルの違いによる可能性が高いビニング手法の間に、しばしば矛盾した結果が観察されている(Kang et al、2015 link; Lin and Liao、2016 link)。1ビンの中のすべての配列は1つの生物に由来していなければならい、すなわち、他の生物由来の配列のコンタミネーションがあってはならない。そうでなければ誤った機能的および代謝的推論につながる(Albertsen et al、2013; Rinke et al、2013)。この評価のために、一連のマーカー配列を使用して、汚染レベルおよびゲノム完全性を測定する多くのアルゴリズムが確立されている(Parks et al、2015 link; Sangwan et al、2016 link; Seah and Gruber-Vodicka、2015 link)。(chekM)、(gbtools)。

 ここでは、Binning_refinerというパイプラインを開発し、異なるビニングプログラムの出力を、特に汚染レベルに関してゲノムビンの品質を向上させる目的で調整した。

Binning_refinerの主なステップは、論文 図1Aに要約されている。 2つのビニングプログラムの出力ビンがBinning_refinerの入力として使用される。 最初のステップでは、ビン名がコンティグ名に追加される。 各ビニングプログラムからのビンは、その後、1つのファイルに結合され、2つの結合されたファイルの間でblastn(Altschul et al、1990)が実行される。 blastnの結果はフィルタリングされ、ユーザー定義の基準を満たす一致のみが保持される(ここでは、クエリの長さ=件名=アライメントの長さとID = 100%を使用する)。 その2つの組のビンの間の共用コンティグの各組は、それらの全長が定義されたカットオフ(例えば、0.5Mbp)よりも長い場合、refined bin(補足図S1参照)として multi-fasta フォーマットで出力される。 Binning_refinerの後に入力およびrefineされたビンの品質(汚染および完全性)を評価するためCheckM(Parks et al、2015)が使用される。

 

f:id:kazumaxneo:20181006210641p:plain

Binning_refiner workflow. 論文より転載。

 

Binning_refinerに関するツイート


インストール

ubuntu16.04でテストした。

 

依存

  • Compatible with both python2 and python3.
  • BioPython
#anaconda環境ならcondaで導入。
conda install -c bioconda biopython

#
違うならpipを使う
pip install biopython

本体 Github

git clone https://github.com/songweizhi/Binning_refiner.git
cd Binning_refiner/

> python Binning_refiner.py -h

$ python Binning_refiner.py 

usage: Binning_refiner.py [-h] -1 1 -2 2 [-3 3] [-x1 X1] [-x2 X2] [-x3 X3]

                          [-prefix PREFIX] [-ms MS]

Binning_refiner.py: error: the following arguments are required: -1, -2

kazu@5994b9c9199f:~/Binning_refiner$ 

kazu@5994b9c9199f:~/Binning_refiner$ python Binning_refiner.py -h

usage: Binning_refiner.py [-h] -1 1 -2 2 [-3 3] [-x1 X1] [-x2 X2] [-x3 X3]

                          [-prefix PREFIX] [-ms MS]

 

optional arguments:

  -h, --help      show this help message and exit

  -1 1            first bin folder name

  -2 2            second bin folder name

  -3 3            third bin folder name

  -x1 X1          file extension for bin set 1, default: fasta

  -x2 X2          file extension for bin set 2, default: fasta

  -x3 X3          file extension for bin set 3, default: fasta

  -prefix PREFIX  prefix of refined bins, default: Refined

  -ms MS          minimal size for refined bins, default = 524288 (0.5Mbp)

 

実行方法

1、ビニングツール2つの時

例えばMetaBATとMyCCの出力を使う(binningされたfastaが入っているディレクトリを指定する)。ツール1のFASTAの拡張子だけ.faになっている場合は"-x1 fa"をつける。

python Binning_refiner.py -1 MetaBAT -2 MyCC -x1 fa -prefix Refined

mock communityなどの真のメタゲノムでないサンプルなら、fastaファイルが少ないため、比較的短時間で処理は終わる。

出力ディレクト

f:id:kazumaxneo:20181007102758j:plain

出力ディレクトリ/Refined_bins/

f:id:kazumaxneo:20181007104524j:plain

refinement結果をcheckmで分析することが推奨されている。

→ メタゲノムからビニングしたゲノムが完全か評価する CheckM 

 

 

2、ビニングツールが3つの時

例えばMetaBAT、MyCC、CONCOCT

python Binning_refiner.py -1 MetaBAT -2 MyCC -3 CONCOCT -x1 fa -x3 fa -prefix Refined

 

 

refinement結果は可視化できるが、RパッケージのoptparseとgoogleVisが必要。詳細はオーサーらのGithubで確認して下さい。

引用
Binning_refiner: improving genome bins through the combination of different binning programs
Song WZ, Thomas T

Bioinformatics. 2017 Jun 15;33(12):1873-1875

 

関連ツール