macでインフォマティクス

macでインフォマティクス

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

メタゲノムのアセンブリ配列からプラスミド配列を予測する PlasFlow

 

 プラスミドは、変化する環境条件下で急速な進化とそれらの宿主の適応を促進するmobile genetic elementsである(ref1,2)。プラスミドは、宿主細胞内で自律的に複製するの染色体外のDNA断片であり、細菌種において広く存在している。既知のプラスミドの大部分は環状DNAとして存在し、これはアルカリlysis法を用いた容易な単離を可能にする重要な特徴である。しかしながら、主にBorelliaStreptomycesNocardiaおよびRhodococcus属からのプラスミドもあり、それらは線状である(ref.3)。プラスミドの重要な特徴は、それらが通常一次代謝プロセスに一般的に割り当てられる遺伝子は欠いているが、むしろ宿主の環境適合性を改善するか異化または抵抗機能をコードする遺伝子を保有することである(ref.4–6)。さらに、それらは多様な分類群からの異なる種間の遺伝子水平伝播に寄与することができ、これはプラスミドを重大な生態学的影響を与える因子にする(ref.7)。従って、プラスミド指向の研究は、多様な環境で起こる過程をよりよく理解するために重要であり、そして新しいプラスミドを同定しそしてシーケンシングするための方法が必要とされている。

 特定の表現型に基づいた宿主細菌の分析中に偶然に多数のプラスミドが同定されている(ref.8)。しかしながら、この同定方法は非常に面倒であり、培養とは無関係に特定の環境試料の全プラスミドDNA含有量、いわゆる「plasmidome」への適切な洞察を提供することができない(ref.3)。培養依存性plasmidome研究(ref.9-12)は、特定の細菌または細菌群のmobile genetic elementsの理解に大きく貢献しているが、これらの方法では培養不可能な生物からのプラスミドは手が届かない。Exogenous plasmid isolation(ref.13、14)およびTransposon-aided Capture(TRACA、(ref.6、15〜16))を含むこの問題に取り組むいくつかのアプローチが開発されているが、これらの方法には重大な制限がある。低処理量の外性プラスミド単離のためには、捕捉されるプラスミドは接合性(または少なくとも可動性)であり、レシピエント細胞内で安定的に複製される必要がある(ref.3)。これにより、移動できないプラスミドのヒット数が大幅に減る。TRACAはよりハイスループットだが、サイズが2〜10 kbの小さなプラスミドしか捕捉できない(ref.3,17)。環境からプラスミドを直接単離することは可能だが、それは一般に小さいものに限定されている(ref.17)。以前に環境サンプルからの間接的プラスミド単離とそれに続くエキソヌクレアーゼ処理およびPhi29増幅を使用する技術が開発されている(ref.18–20)が、この方法は高いバクテリアバイオマス含有量および酵素操作を妨害する汚染物質が少ないサンプルに有用である。

 メタゲノムデータセット中のプラスミド配列を同定するためのバイオインフォマティック方法も開発されているが、分子方法と同様に、それらは一般に環状エレメントの同定を目的としている(ref.21)。シーケンシング技術の迅速な発展及びシーケンシングコストの削減は、メタゲノムプロジェクト数の増加をもたらし、その結果、シーケンスデータベースは絶えず成長してきた。与えられたメタゲノムはほとんど染色体とプラスミドのmixtureであり、両者の関係は染色体にとって非常に有利であり続けているので(ref.3)、多くのプラスミド配列がシーケンシングされたメタゲノムに含まれているが未確認のままである。メタゲノムデータからプラスミドをアセンブリする試みがいくつかなされている(ref.6,22)が、それらは面倒で計算集約的なアプローチに頼っている。最近、de Bruijnアセンブリグラフから環状コンティグを回収することを目的とした、Recyclerと同様に、プラスミドをアセンブリすることができるSPAdesアセンブラバージョンが開発された(ref.23)。もう1つの簡単なアプローチはPlasmidFinder(ref25)に実装されている。これは、細菌ゲノムの集まりの中のプラスミドレプリコンの同定を目的としたWebベースのプログラムである。このプログラムは、可能性のあるプラスミドを同定するため、明確に定義されたレプリコン配列に対して類似性検索を行う。これはプラスミド由来の配列を高精度で予測することができるが、その主な制限はデータベースのサイズにあり、それは大部分が腸内細菌科レプリコンからなる。この側面はメタゲノム研究のためのその使用法を著しく制限している。データベース類似性検索アプローチはPlasmid Constellation Network (PLACNET)において拡張され、これはリファレンスデータベースに対して配列を比較するためにBLASTを使用し、次いで再構築したプラスミドのネットワーク分析を行う。しかしながら、このプログラムは得られたシーケンスクラスターの手動キュレーションに依存しているので、いかなる自動アノテーションパイプラインでの使用も妨げられている。さらに、PLACNETから得られた結果は完全に再現可能ではなく、研究者の専門知識に依存している。

 ショットガンメタゲノムデータからプラスミドを同定する別の興味深いアプローチは、任意のメタゲノムにおけるプラスミド配列の自動検出を可能にする機械学習技術の使用である。ゲノムシグネチャに基づく方法は、プラスミド - 宿主類似性がゲノム%G + C含有量と相関することを明らかにした(ref.27, 28)。プラスミドゲノムのバーコードもまた、おそらく細胞培養物間でのプラスミドの頻繁な移動により引き起こされる類似の選択圧のために、類似の特徴を有する傾向がある(ref.29)。ゲノムシグネチャに基づいてプラスミド配列を同定する方法は、cBarソフトウェア(ref.30)で実装された。

 最近、シーケンシングデータからのプラスミド再構築を目的とした利用可能なツールの性能が比較され(ref.31)、特に大型(>50kb)プラスミドには依然として限界があることが示された。しかしながら、そのレビューは複雑なメタゲノムプロジェクトのシーケンシングデータよりむしろ単一のバクテリア単離株に焦点を合わせていた。その結果、メタゲノムデータセットにおけるプラスミド同定に向けられたアルゴリズムの系統的な比較が欠如している。本研究では、メタゲノムコンティグ内の細菌プラスミド配列を予測する新しいアプローチPlasFlowを紹介し、それを他の利用可能なツールと比較する。 9,565の細菌の染色体とプラスミドからのシーケンスのゲノムシグネチャを使用して、異なる系統から染色体とプラスミドのシーケンスを分離するためにディープニューラルネットワークモデルを訓練した。本著者らのアプローチは、試験データ上のプラスミド予測において96%の分類精度を達成し、これは他の以前に開発されたツールよりも著しく優れている。実際のメタゲノムデータセットに対して実施された試験は、メタゲノムデータを用いたplasmidome分析に対するその多用性を明らかにした。

 

f:id:kazumaxneo:20190510174626j:plain

Flowchart describing the training and classification procedures implemented in the PlasFlow. 論文より転載

 


インストール

オーサーの指示に従い、condaでpython3.5の仮想環境を構築してテストした(mac os 10.12使用)。

依存

  • Python 3.5
  • Python packages:
  • Scikit-learn 0.18.1
  • Numpy
  • Pandas
  • TensorFlow 0.10.0
  • rpy2 >= 2.8
  • scipy
  • biopython
  • dateutil >= 2.5

Conda is recommended option for installation as it properly resolve all dependencies (including R and Biostrings) and allows for installation without messing with other packages installed.

Githubより)

本体  github

conda config --add channels bioconda
conda config --add channels conda-forge

conda create --name plasflow python=3.5
source activate plasflow
#Mac users should install Tensorflow at this step
conda install -c jjhelmus tensorflow=0.10.0rc0
#then,
conda install -c smaegol plasflow

#Perl scripts included with PlasFlow requires few Perl modules.
conda install -c bioconda perl perl-bioperl perl-getopt-long

#To deactivate an active environment, use:
source deactivate

もしくはpipでも導入できる。Github参照。 

PlasFlow.py -h

$ PlasFlow.py -h

usage: PlasFlow.py [-h] --input INPUTFILE --output OUTPUTFILE

                   [--threshold THRESHOLD] [--labels LABELS] [--models MODELS]

                   [--batch_size BATCH_SIZE]

 

PlasFlow v.1.1 - predicting plasmid sequences in metagenomic data using genome

signatures. PlasFlow is based on the TensorFlow artificial neural network

classifier

 

optional arguments:

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

  --input INPUTFILE     Input fasta file with sequences to classify (required)

  --output OUTPUTFILE   Output file with classification results (required)

  --threshold THRESHOLD

                        Threshold for probability filtering (default=0.7)

  --labels LABELS       Custom labels file

  --models MODELS       Custom models localization

  --batch_size BATCH_SIZE

                        Batch size for large datasets

 

> filter_sequences_by_length.pl  

$ filter_sequences_by_length.pl  

Filters sequences in multifasta file by length

 

Usage of program:

 

 /Users/user/.pyenv/versions/miniconda3-4.3.21/envs/plasflow/bin/filter_sequences_by_length.pl [options] 

-input multifasta file with sequences to be filtered

-output output file for filtered sequences 

-thresh sequence length threshold [bp]

 

テストラン

 必要に応じてサイズでフィルタリングしてから使用する。1000bp以上のみ抽出。

git clone https://github.com/smaegol/PlasFlow.git
cd PlasFlow/test/

filter_sequences_by_length.pl \
-input Citrobacter_freundii_strain_CAV1321_scaffolds.fasta \
-output filtered_output.fasta -thresh 1000

 

PlasFlowを実行する。 scaffolds.fastaを指定する。

PlasFlow.py --input Citrobacter_freundii_strain_CAV1321_scaffolds.fasta --output test.plasflow_predictions.tsv --threshold 0.7

$ PlasFlow.py --input Citrobacter_freundii_strain_CAV1321_scaffolds.fasta  --output test.plasflow_predictions.tsv --threshold 0.7

Importing sequences

Imported  78  sequences

Succesfully read previously calculated kmer frequencies for kmer 5

Predicting labels using kmer 5  frequencies

Succesfully read previously calculated kmer frequencies for kmer 6

Predicting labels using kmer 6  frequencies

Succesfully read previously calculated kmer frequencies for kmer 7

Predicting labels using kmer 7  frequencies

Voting...

Filtering by probability threshold 0.7

 

Resulting plasmid sequences prediction:

   chromosome  plasmid  unclassified

0          34       33            11

 

Resulting taxonomical assignment:

   unclassified  Proteobacteria

0            10              68

 

出力

f:id:kazumaxneo:20190505230742p:plain

test.plasflow_predictions.tsv

f:id:kazumaxneo:20190505230645p:plain

 

最近発表されたmetaplasmidSPAdesと組み合わせると良いかもしれませんね。

 

引用

PlasFlow: predicting plasmid sequences in metagenomic data using genome signatures

Krawczyk PS, Lipinski L, Dziembowski A

Nucleic Acids Res. 2018 Apr 6;46(6):e35

 

関連