概要

深層学習を用いてメタジノミックデータの生物学的配列を分類するための非コンピュータ専門家のための仮想マシンプラットフォーム

Published: September 25, 2021
doi:

概要

このチュートリアルでは、メタゲノムデータの 2 クラスシーケンス分類を実行するためのディープラーニング アルゴリズムを構築する簡単な方法について説明します。

Abstract

種分類、遺伝子機能分類、ウイルス宿主分類など、さまざまな生物学的配列分類タスクが、多くのメタゲノムデータ分析において期待されるプロセスである。メタゲノムデータには多数の新種や遺伝子が含まれているため、多くの研究で高性能な分類アルゴリズムが必要とされています。生物学者は、特定のタスクに適したシーケンス分類と注釈ツールを見つける際にしばしば課題に遭遇し、多くの場合、必要な数学的および計算的知識がないため、対応するアルゴリズムを自分で構築することはできません。ディープラーニングのテクニックは最近人気の話題となり、多くの分類タスクで強い利点を示しています。これまで、多くの高度にパッケージ化されたディープラーニングパッケージが開発されており、生物学者はアルゴリズムの詳細を深く知らずに、独自のニーズに応じてディープラーニングフレームワークを構築することが可能になりました。このチュートリアルでは、十分な数学的知識やプログラミングスキルを必要とせずに、シーケンス分類のための使いやすいディープラーニングフレームワークを構築するためのガイドラインを提供します。すべてのコードは、ユーザーが独自のデータを使用してコードを直接実行できるように、仮想マシンで最適化されます。

Introduction

メタゲノムシーケンシング技術は、歪みの分離プロセスをバイパスし、環境サンプル内の全DNAを直接配列します。したがって、メタゲノムデータには異なる生物からのDNAが含まれ、ほとんどの生物学的配列は現在のデータベースに存在しない新しい生物からのものである。異なる研究目的に従って、生物学者は分類分類1、ウイルス-細菌分類2、3、4、染色体・プラスミド分類3、5、6、7、および遺伝子機能アノテーション(抗生物質耐性遺伝子分類8および毒性因子分類など)など、異なる視点からこれらの配列を分類する必要がある).メタゲノムデータには多数の新種や遺伝子が含まれているため、配列分類(DNA分類やタンパク質分類を含む)に既知のデータベースに依存しないab initioアルゴリズムは、メタゲノムデータ分析において重要なアプローチです。しかし、このようなアルゴリズムの設計には、専門的な数学の知識とプログラミングスキルが必要です。そのため、多くの生物学者やアルゴリズム設計の初心者は、自分のニーズに合わせて分類アルゴリズムを構築するのが困難です。

人工知能の開発に伴い、深層学習アルゴリズムは、生体情報学の分野で広く使用され、メタゲノム解析における配列分類などのタスクを完了してきました。初心者がディープラーニングアルゴリズムを理解できるように、以下に説明するアルゴリズムをわかりやすい方法で説明します。

ディープ ラーニングの手法の概要を図 1に示します。ディープラーニングアルゴリズムのコア技術は、人間の脳の構造に触発された人工ニューラルネットワークです。数学的な観点からは、人工ニューラルネットワークは複雑な関数と見なされるかもしれません。各オブジェクト(DNA配列、写真、ビデオなど)は、最初にデジタル化されます。次に、デジタル化されたオブジェクトが関数にインポートされます。人工ニューラルネットワークのタスクは、入力データに応じて正しい応答を与える.たとえば、2 クラスの分類タスクを実行するために人工ニューラル ネットワークを構築する場合、各オブジェクトに対して 0 ~ 1 の確率スコアを出力する必要があります。ニューラルネットワークは、負のオブジェクトに低いスコアを与えながら、より高いスコア(0.5より高いスコアなど)を与える必要があります。この目標を達成するために、トレーニングとテストプロセスで人工ニューラルネットワークを構築します。これらのプロセスの間に、既知のデータベースのデータがダウンロードされ、トレーニングセットとテストセットに分割されます。各オブジェクトは適切な方法でデジタル化され、ラベル(正のオブジェクトの場合は”1″、負のオブジェクトの場合は”0″)が付けられます。トレーニングプロセスでは、トレーニングセット内のデジタル化されたデータがニューラルネットワークに入力されます。人工ニューラルネットワークは、入力オブジェクトの出力スコアとオブジェクトの対応するラベルとの間の不一在性を表す損失関数を構築します。例えば、入力オブジェクトのラベルが「1」の場合、出力スコアが「0.1」の場合、損失関数は高くなります。出力スコアが「0.1」の間に入力オブジェクトのラベルが「0」の場合、損失関数は低くなります。人工ニューラルネットワークは、損失関数を最小限に抑えるためにニューラルネットワークのパラメータを調整する特定の反復アルゴリズムを採用しています。トレーニングプロセスは、損失機能が明らかにそれ以上減少することができないときに終了します。最後に、テストセット内のデータを使用して固定ニューラルネットワークをテストし、ニューラルネットワークが新規オブジェクトの正しいラベルを計算する能力を評価します。ディープラーニングアルゴリズムのより多くの原則は、LeCunらのレビューで見 つけることができます。10.

ディープラーニングアルゴリズムの数学的原則は複雑かもしれませんが、高度にパッケージ化されたディープラーニングパッケージが最近開発され、プログラマは数行のコードで単純な人工ニューラルネットワークを直接構築できます。

このチュートリアルでは、生物学者やアルゴリズム設計の初心者がディープラーニングを使い始める際に、シーケンス分類用の使いやすいディープラーニングフレームワークを構築するためのガイドラインを提供します。このフレームワークは、生物学的配列をデジタル化する数学的モデルとして「ワンホット」符号化形式を使用し、畳み込みニューラルネットワークを使用して分類タスクを実行します ( 補足資料を参照)。このガイドラインを使用する前にユーザーが行う必要がある唯一のことは、4つのシーケンスファイルを”fasta”形式で準備することです。最初のファイルには、トレーニングプロセスの正のクラスのすべてのシーケンス(“p_train.fasta”)が含まれています。2 番目のファイルには、トレーニング プロセスの負のクラスのすべてのシーケンス (“n_train.fasta” と呼ばれます) が含まれます。3 番目のファイルには、テストプロセスの正のクラスのすべてのシーケンス (“p_test.fasta” と呼ばれます) が含まれます。最後のファイルには、テストプロセスの負のクラスのすべてのシーケンス (「n_test.fasta」と呼ばれます) が含まれています。このチュートリアルのフローチャートの概要は 図 2に示されており、詳細は以下に示します。

Protocol

1. 仮想マシンのインストール 仮想マシン ファイルを (https://github.com/zhenchengfang/DL-VM) からダウンロードします。 https://www.virtualbox.org から仮想ボックス ソフトウェアをダウンロードします。 「7-Zip」、「WinRAR」、「WinZip」などの関連ソフトウェアを使用して「.7z」ファイルを解凍します。 各手順で [ 次へ ] ボタンをクリックして、VirtualBox ソフトウェアをインストールします。 VirtualBox ソフトウェアを開き、[ 新規作成 ] ボタンをクリックして仮想マシンを作成します。 ステップ6:指定した仮想マシン名を「名前」フレームに入力し、「タイプ」フレームでオペレーティングシステムとして Linux を選択し、「バージョン」フレームで Ubuntu を選択し、「 次へ 」ボタンをクリックします。 仮想マシンのメモリ サイズを割り当てます。ユーザーは、ボタンを緑色のバーの右端に引っ張って、仮想マシンにできるだけ多くのメモリを割り当ててから、[ 次へ ] ボタンをクリックすることをお勧めします。 [ 既存の仮想ハード ディスク ファイルを使用する ] を選択し、手順 1.1 からダウンロードした “VM_Bioinfo.vdi” ファイルを選択して、[ 作成 ] ボタンをクリックします。 [ スター ] ボタンをクリックして、仮想マシンを開きます。注: 図 3 は、仮想マシンのデスクトップのスクリーンショットを示しています。 2. 物理ホストと仮想マシン間でファイルを交換するための共有フォルダを作成する 物理ホストで、”shared_host” という名前の共有フォルダーを作成し、仮想マシンのデスクトップに “shared_VM” という名前の共有フォルダーを作成します。 仮想マシンのメニュー バーで、[デバイス]、[ 共有フォルダ]、[共有フォルダの設定] を順にクリックします。 右上隅のボタンをクリックします。 ステップ 2.1 で作成した物理ホストの共有フォルダを選択し、 自動マウント オプションを選択します。 [OK]ボタンを クリックします。 仮想マシンを再起動します。 仮想マシンのデスクトップ上で右クリックし、ターミナルを開きます。 次のコマンドをターミナルにコピーします。sudo マウント -t vboxsf shared_host /デスクトップ/shared_VM パスワードの入力を求められたら、”1″と入力し、図 4 に示すように”Enter”キーを押します。 3. トレーニングセットとテストセット用のファイルを準備する トレーニングおよびテストプロセスの 4 つのシーケンス ファイルすべてを”fasta” 形式で物理ホストの “shared_host” フォルダーにコピーします。このように、すべてのファイルは仮想マシンの 「shared_VM」フォルダーにも発生します。次に、”shared_VM” フォルダー内のファイルを仮想マシンの “DeepLearning” フォルダーにコピーします。 4. 「ワンホット」符号化形式を用いて生体配列をデジタイズする 「DeepLearning」フォルダに移動し、右クリックして端末を開きます。次のコマンドを入力します。./onehot_encoding p_train.fasta n_train.fasta p_test.fasta n_test.fasta aa(アミノ酸配列の場合)又は./onehot_encoding p_train.fasta n_train.fasta p_test.fasta n_test.fasta nt(核酸配列用)注 : このプロセスのスクリーンショットは 、図 5に示されています。 5. 人工ニューラルネットワークを訓練し、テストする 図 6に示すように、端末に次のコマンドを入力します。パイソン train.py注: トレーニングプロセスが開始されます。

Representative Results

前の研究では、このチュートリアル3、11、12のようなアプローチを使用して、メタゲノムデータの一連のシーケンス分類ツールを開発しました。例として、以前の作業3,11からトレーニング セットとテスト セットのサブセットのシーケンス ファイルを仮想マシンに入金しました?…

Discussion

このチュートリアルでは、生物学者とアルゴリズム設計初心者向けに、メタジノミックデータにおける生物学的配列分類のための使いやすいディープラーニングフレームワークを構築する方法について説明します。このチュートリアルでは、ディープラーニングの直感的な理解を提供し、初心者がディープラーニングパッケージをインストールし、アルゴリズムのコードを書くことが困難な?…

開示

The authors have nothing to disclose.

Acknowledgements

この調査は、中国国立自然科学財団(81925026、82002201、81800746、82102508)によって財政的に支援されました。

Materials

PC or server NA NA Suggested memory: >6GB
VirtualBox software NA NA Link: https://www.virtualbox.org

参考文献

  1. Liang, Q., Bible, P. W., Liu, Y., Zou, B., Wei, L. DeepMicrobes: taxonomic classification for metagenomics with deep learning. NAR Genomics and Bioinformatics. 2 (1), (2020).
  2. Ren, J., et al. VirFinder: a novel k -mer based tool for identifying viral sequences from assembled metagenomic data. Microbiome. 5 (1), 69 (2017).
  3. Fang, Z., et al. PPR-Meta: a tool for identifying phages and plasmids from metagenomic fragments using deep learning. GigaScience. 8 (6), (2019).
  4. Ren, J., et al. Identifying viruses from metagenomic data using deep learning. Quantitative Biology. 8 (1), 64-77 (2020).
  5. Zhou, F., Xu, Y. cBar: a computer program to distinguish plasmid-derived from chromosome-derived sequence fragments in metagenomics data. バイオインフォマティクス. 26 (16), 2051-2052 (2010).
  6. Krawczyk, P. S., Lipinski, L., Dziembowski, A. PlasFlow: predicting plasmid sequences in metagenomic data using genome signatures. Nucleic Acids Research. 46 (6), (2018).
  7. Pellow, D., Mizrahi, I., Shamir, R. PlasClass improves plasmid sequence classification. PLOS Computational Biology. 16 (4), (2020).
  8. Arango-Argoty, G., et al. DeepARG: a deep learning approach for predicting antibiotic resistance genes from metagenomic data. Microbiome. 6 (1), 1-15 (2018).
  9. Zheng, D., Pang, G., Liu, B., Chen, L., Yang, J. Learning transferable deep convolutional neural networks for the classification of bacterial virulence factors. バイオインフォマティクス. 36 (12), 3693-3702 (2020).
  10. LeCun, Y., Bengio, Y., Hinton, G. Deep learning. Nature. 521 (7553), 436-444 (2015).
  11. Fang, Z., Zhou, H. VirionFinder: Identification of Complete and Partial Prokaryote Virus Virion Protein From Virome Data Using the Sequence and Biochemical Properties of Amino Acids. Frontiers in Microbiology. 12, 615711 (2021).
  12. Fang, Z., Zhou, H. Identification of the conjugative and mobilizable plasmid fragments in the plasmidome using sequence signatures. Microbial Genomics. 6 (11), (2020).
  13. Richter, D. C., Ott, F., Auch, A. F., Schmid, R., Huson, D. H. MetaSim-a sequencing simulator for genomics and metagenomics. PLoS One. 3 (10), 3373 (2008).
  14. Zhang, M., et al. Prediction of virus-host infectious association by supervised learning methods. BMC Bioinformatics. 18 (3), 143-154 (2017).

Play Video

記事を引用
Fang, Z., Zhou, H. A Virtual Machine Platform for Non-Computer Professionals for Using Deep Learning to Classify Biological Sequences of Metagenomic Data. J. Vis. Exp. (175), e62250, doi:10.3791/62250 (2021).

View Video