微生物群集は多数の微生物のmixtureからなる。メタゲノミクス研究では、遺伝物質は微生物群集から直接抽出され、ハイスループットシークエンシング技術を使用してシークエンスされ、異なるリード長の大量のシークエンスリードが得られる。
通常、メタゲノムデータ解析の最初のステップは、リードのオーバーラップ情報に基づいてリードをコンティグと呼ばれる比較的長いゲノムフラグメントにアセンブリする「リードアセンブリ」で、次に、同じビンにゲノムまたはcloselt relatedなゲノムを仕分ける。 3番目のステップでは、リードを既知のゲノム配列またはビン内のコンティグにマッピングし、ゲノムとゲノムビンの相対存在量プロファイルを各サンプルで推定する。最後に、統計学的方法を用いて、ゲノム/ビンの存在量プロファイルを個体の環境因子または表現型と関連付ける。メタゲノム研究は、ヒトの腸内の微生物群集がいくつかの疾患(Khor et al、2011; Jostins et al、2012)および免疫療法の効果(Wilck et al、2017; Chen et al)と有意に関連していることを示した。本稿では、メタゲノムデータ解析の通常の第2段階であるコンティグビニングに焦点を当てる。
利用可能なコンティグビニング方法は、2つの大きなカテゴリーに分類することができる:MEGAN(Husons et al, 2007)のようなコンティグを既知のリファレンスデータベースにマッピングするtaxonomy依存の方法(教師あり方法とも呼ばれる)、MaxBin 、CONCOCT、MetaBAT、COCACOLAおよびMBC3Cなどの教師なし方法。これらの方法にはそれぞれ独自の限界がある。既知のゲノムは限られており、多数のゲノムが未だに未知であるため、多くの未知コンティグが存在する。さらに、アラインメントは計算上高価であり、したがってアラインメントに基づくコンティニングビニング方法は一般に遅い。教師なしビニング方法は上記の欠点のいくつかを部分的に克服することができる。既存の教師なしビニング方法は、いくつかのコンティグの既知のゲノムへのアラインメントなど、利用可能な追加の生物学的情報を十分に活用していないため、ビニング性能が向上する可能性がある。したがって、未知のゲノムからの大量のコンティグを含むデータセットに使用できるだけでなく、より良いビニング性能のためにアラインメントから利用可能な生物学的情報を利用することができる効果的なコンティグビニングアプローチを開発することが不可欠である。
この問題に取り組むために、本著者らは、ペアワイズ組み入れによってクラスタリング性能を改善することができる様々な半教師クラスタリング研究(Wagstaff et al、2001; Gu et al、2013)に触発され、新規コンティグビニング方法SolidBinを開発した。
The general workflow of SolidBin. 論文より転載。
インストール
python3.6の仮想環境を作って導入することが推奨されている。
git clone https://github.com/sufforest/SolidBin
cd SolidBin/
conda create -n solidbin -y python=3.6 numpy pandas scikit-learn scipy
conda activate solidbin
>python SolidBin.py -h
$ python SolidBin.py -h
usage: SolidBin.py [-h] [--contig_file CONTIG_FILE]
[--coverage_profiles COVERAGE_PROFILES]
[--composition_profiles COMPOSITION_PROFILES]
[--priori_ml_list PRIORI_ML_LIST]
[--priori_cl_list PRIORI_CL_LIST] [--output OUTPUT]
[--log LOG] [--clusters CLUSTERS] [-a A] [-b B] [--use_sfs]
optional arguments:
-h, --help show this help message and exit
--contig_file CONTIG_FILE
The contigs file.
--coverage_profiles COVERAGE_PROFILES
The coverage profiles, containing a table where each
row correspond to a contig, and each column correspond
to a sample. All values are separated with tabs.
--composition_profiles COMPOSITION_PROFILES
The composition profiles, containing a table where
each row correspond to a contig, and each column
correspond to the kmer composition of particular kmer.
All values are separated with comma.
--priori_ml_list PRIORI_ML_LIST
The edges encoding either the co-alignment or other
priori information, one row of an edge is in the
format: contig_name_A contig_name_B 1. The edge is
undirected.
--priori_cl_list PRIORI_CL_LIST
The cannot-link information, one row of an edge is in
the format: contig_name_A contig_name_B 1. The edge is
undirected.
--output OUTPUT The output file, storing the binning result.
--log LOG Specify where to store log file
--clusters CLUSTERS Specify the number of clusters. If not specified, the
cluster number is estimated by single-copy genes.
-a A weight of must-link constraints
-b B weight of cannot-link constraints
--use_sfs use SFS as constraints
docker imageも 公開されている。
docker run -it -v /data/StrainMock/input:/input -v /data/StrainMock/output:/output solidbin python SolidBin.py --contig_file /input/StrainMock_Contigs_cutup_10K_nodup_filter_1K.fasta --composition_profiles /input/kmer_4.csv --coverage_profiles /input/cov_inputtableR.tsv --output /output/result.tsv --log /output/log.txt
実行方法
引用
SolidBin: Improving Metagenome Binning with Semi-supervised Normalized Cut
Ziye Wang, Zhengyang Wang, Yang Young Lu, Fengzhu Sun, Shanfeng Zhu
Bioinformatics, Published: 12 April 2019