macでインフォマティクス

macでインフォマティクス

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

関連するメタゲノムから集団ゲノムを復元するための自動化ツール groopM

 

 微生物群集の機能と進化を理解する能力は、特定の生態系のほとんどの構成種を培養できないことで妨げられてきた(論文より Hugenholtz、Goebel&Pace、1998)。ショットガンシーケンシングの環境DNAへの応用であるMetagenomicsは、この培養のボトルネックを回避し、微生物群集を広く代表するゲノムデータを得る手段を提供している(Handelsman、2004)。歴史的に、不十分なシーケンスカバレッジのために複雑なコミュニティの構成種のゲノムをアセンブリすることは不可能であったため、ツールの開発は、配列組成に基づいて配列断片(読み取りを含む)に分類を割り当てる分類アルゴリズムに大いに焦点を当ててきた(McHardy et al (Brady&Salzberg、2009; MacDonald、DH&Beiko、2012)、homology(Huson et al、2007)、phylogenetic affiliation(Krause et al、2008; Wu&Eisen、2008) ; Parks、MacDonald&Beiko、2011)。これらの方法の根底にある主なリミットは、リファレンスデータベースへの依存による微生物多様性の歪んだゲノム表現である(Hugenholtz、2002)。

 最近の技術的進歩により、複雑なコミュニティにおける珍しい集団(<1%)から部分的またはほぼ完全なゲノムを得るために必要な解像度を提供する、コスト効果の高いディープメタゲノムシーケンシング(50Gbp以上)が可能になった(Albertsen et al、2013; Wrighton et ak、2012)。しかしながら、匿名のフラグメント(コンティグ)をそれらのソース集団を代表するグループにビニングすることは、依然として重要な課題である。メタゲノムをビニングする1つのアプローチは、emergent self organizing maps(TF-ESOM)(Wrightonら、2012)または interpolated markov models(Strous et al。、2012)を用いてテトラヌクレオチド頻度の類似性でコンティグをクラスタリングすることであった。配列組成に基づく方法の限界は、短いコンティグ(<2Kbp)のビニング精度が低くなることと、テトラヌクレオチド頻度が類似した関連微生物からのコンティグのビニングが難しいことである(Teeling et al、2004a; Teeling et al、2004b)。

 近年、複数の関連するメタゲノム(Albertsen et al、2013; Alneberg et al、2013; Karlsson et al、2013; Nielsen et al、2014; Sharon et al、2013)(紹介)の異なるカバレッジパターンをビニングする方法が発表されている(論文執筆時点)。これらのアプローチは、類似のカバレッジプロファイルを有するコンティグが同じ微生物集団から生じた可能性があり、カバレッジプロファイルをコンポジションベースのアプローチと組み合わせることが、ビニングの忠実度を向上させる大きな可能性を示すという仮定に基づいている。ここでは、特定の生態系の時間的または空間的シリーズなど、複数の関連するメタゲノムにわたる共同変化するカバレッジプロファイルに主に基づいて、離散集団ゲノムにコンティグを自動的にビンするツールであるGroopMを紹介する。

 

HP

GroopM - Metagenomic binning

f:id:kazumaxneo:20181208092103p:plain

 

manual

http://ecogenomics.github.io/GroopM/manual/GroopM_manual.pdf

  

 

インストール

ubuntu14.04でテストした(docker使用。ホストOS: mac os10.14)。

依存

sudo apt-get update
sudo apt-get -y install git build-essential zlib1g-dev python-numpy\
python-pip python-dev cython libhdf5-dev libfreetype6-dev libpng-dev\
python-pillow python-matplotlib libblas-dev liblapack-dev gfortran

#注意 今のことろ失敗してる (not recommend)
conda install Pillow
conda install -c bioconda bamm
conda install pytables #numexprも入る

本体 GIthub

#仮想環境なので、condaの環境が破壊されるリスクは無視して、pipで入れてしまう
sudo pip install GroopM

 > groopm

# groopm -h

 

                             ...::: GroopM :::...

 

                     Automagical metagenomic binning FTW!

 

   -------------------------------------------------------------------------

                                  version: 0.3.4

   -------------------------------------------------------------------------

 

    Typical workflow:

 

    groopm parse        -> Load the raw data and save to disk

    groopm core         -> Create core bins

    groopm refine       -> Refine these cores a little

    groopm recruit      -> Add more contigs to the cores

    groopm extract      -> Extract binned contigs or reads

 

    Extra features:

 

        Utilities:

 

    groopm merge        -> Merge two or more bins

    groopm split        -> Split a bin into N parts

    groopm delete       -> Delete a bin

 

        Printing, plotting:

 

    groopm explore      -> Methods for viewing bin layouts

    groopm plot         -> Plot bins

    groopm highlight    -> Highlight individual bins and apply labels

    groopm flyover      -> Create a movie of your data

    groopm print        -> Print summary statistics

 

        Import, export:

 

    groopm dump         -> Write database fields to csv

 

    USE: groopm OPTION -h to see detailed options

    

 

実行方法

groomMを使うには、全データをアセンブリして得たfastaファイルと、そのfastaにアライメントして作成したbamファイルが必要(最低3サンプルのbamが必要)。

groopm parse db.gm contigs.fa sample1.bam sample2.bam sample3.bam ...

 

Create a set of high quality “trusted” bins. These will be refined and expanded in later stages. 

groopm core -c 500 db.gm
  •  -c   cutoff contig size for core creation (1500)

ここでerrorが出る。 過去のトラブル事例を調べると、導入したnumexpr、pytables、numpyのバージョンに問題がありそうだったが、数時間思考錯誤しても修正できなかった。改善できたら追記します。ということで、上の導入手順は参考にしないでください。

=> docker iamgeもいくつか公開されています。興味がある方はテストしてみて下さい。

 

 

Examine your bins and try fix any errors you find

groopm refine db.gm

 

Recruit unbinned contigs using the core bins as seeds. 

groopm recruit db.gm

 

Extract binned contigs or read identifiers

groopm extract db.gm contigs.fa

 

引用

GroopM: an automated tool for the recovery of population genomes from related metagenomes

Imelfort M, Parks D, Woodcroft BJ, Dennis P, Hugenholtz P, Tyson GW

PeerJ. 2014 Sep 30;2:e603

 

パフォーマンス比較

https://bitbucket.org/berkeleylab/metabat/wiki/Home

 

関連ツール