macでインフォマティクス

macでインフォマティクス

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

ディープCNNによってONTのバーコーディングロングリードをdemultiplexingするdeepbinner

 

 Multiplexing(バーコード)は、ハイスループットDNAシーケンス能力を複数のサンプルに分散させるために使用される一般的な方法である[ref.1]。各入力DNA試料について、独自のバーコードがシーケンシング用に調製されたDNA分子のライブラリーに組み込まれる。次いで、複数のバーコード化DNAライブラリーを同じフローセル上で同時に組み合わせてシーケンシングすることができる。結果として得られたリードは、次にdemultiplexedされなければならない:バーコード配列に従ってビンに分類される。 Barcodingには明らかな経済的利点があり、ユーザーはシーケンサーフローセルの固定費を複数の入力サンプルに分割することができる。

 Oxford Nanopore Technologies(ONT)MinIONシーケンサーが最初にリリースされたとき、そのイールドは数百メガベース(Mbp)で、細菌ゲノムの効果的なシーケンシングにはフローセル全体を必要としていた[ref.2]。過去4年間で、100倍近くの歩留まりの向上が見られ、MinIONのシーケンスランで10 Gbp以上が可能になった[ref.3]。 ONTの1Dライゲーションシークエンシング用のネイティブバーコードキット(EXP-NBD103)は、シークエンスされるDNA分子の両端にライゲーションする12個のバーコード配列を提供する。このキットは、単一のMinIONランのシーケンス能力を12の細菌ゲノムに分散させることを可能にし、それは単一のフローセル上で同時にシーケンスすることができる[ref.4]。

 各ONTシークエンシングリードは、DNA分子がナノポアを通って移動するときの電流の変動からなる信号として生成される。MinIONシーケンサーは4kHzで電流を測定し、DNAは450塩基/秒の速度で進み、これは平均して塩基当たり約9測定に等しい。これらの「signal-space」リード(別名未加工シグナル)は、ベースコールソフトウェアによって「base-space」ヌクレオチド配列に翻訳される[ref.5–7]。ベースコールは不正確なプロセスであり、結果として得られるリードのベースあたりのエラー率は5〜25%である[ref.8]。このエラー率は、AlbacoreやPorechopなどの現在のONTバーコードdemultiplexingツールを含むダウンストリーム分析では問題になる可能性がある。バーコード化されたリードの20%以上がビンに割り当てられず、使用できない[ref.4]。他の種類のONTリード解析では、代わりに生の信号を使用することでパフォーマンスが向上することがよくある[ref.9、10]。

畳み込みニューラルネットワーク

 過去10年間で、ニューラルネットワーク、特に畳み込みニューラルネットワーク(CNN)は、画像分類の分野に革命をもたらし、画像内のオブジェクトを検出して位置特定するための記録的な高い精度を達成した[ref.11、12]。この進歩は、トレーニングや分類の際にはるかに高速なパフォーマンスを可能にし、グラフィック処理ユニット(GPU)上の汎用コンピューティングによって促進され今まで可能であったよりも複雑なCNNを可能にした。初期のCNNでは10層以下のニューロンしか使用されていなかったが[ref.13]、現在では100層以上の非常に「深い」ものになる可能性がある[ref.14]。その優れた正確性にもかかわらず、ディープCNNはそれらの理解不可能性について批判されている - CNN分類器が特定の決定をどのようにまたはなぜ行うのかを言うのは難しいかもしれない[ref.15]。

 ONTの生の信号を使用したバーコード分類は、概念的には画像分類と似ているが、2つの重要な点でより単純な問題である。第一に、ONTの生の信号は一次元の値の配列であるのに対し、画像は通常三次元(高さ、幅およびカラーチャンネル)を有する。第二に、可能なバーコードクラスは可能な画像クラス(多くの場合1000以上)よりも少数である(使用されるキットに応じて12から96まで)[ref.16]。

 この論文では、ディープCNNを使用して生のリード信号を使用してリードをバーコードビンに分類するONTバーコードdemultiplexingのためのツールであるDeepbinnerを紹介する。ベーススペースで動作する他のONTdemultiplexingツールであるAlbacoreとPorechopのパフォーマンスと比較する。シグナル空間で動作させることで、Deepbinnerはリードをdemultiplexingするためのより多くの能力と、Nanopolishなどのダウンストリーム使用のために生の信号をソートする機能を提供する[ref.9]。 12種類のバーコードのEXP-NBD103セットでの使用方法を示しているが、どのバーコードセットでも同様にトレーニングできる。

 

Githubより

  • Reasons to use Deepbinner:
    • To minimise the number of unclassified reads (use Deepbinner by itself).
    • To minimise the number of misclassified reads (use Deepbinner in conjunction with Albacore demultiplexing).
    • You plan on running signal-level downstream analyses, like Nanopolish. Deepbinner can demultiplex the fast5 files which makes this easier.
  • Reasons to not use Deepbinner:
    • You only have basecalled reads not the raw fast5 files (which Deepbinner requires).
    • You have a small/slow computer. Deepbinner is more computationally intensive than Porechop.
    • You used a sequencing/barcoding kit other than the ones Deepbinner was trained on.

 

インストール

Github

#bioconda (link)
conda create -c bioconda -c conda-forge -n depbinner python=3.6 deepbinner
source activate depbinner

> deepbinner -h

# deepbinner -h

usage: deepbinner [-h] [--version] {classify,bin,realtime,prep,balance,train,refine} ...

 

Deepbinner: a deep convolutional neural network barcode demultiplexer for Oxford Nanopore reads

 

Commands:

  {classify,bin,realtime,prep,balance,train,refine}

                                        classify: classify fast5 reads

                                        bin:      bin fasta/q reads

                                        realtime: sort fast5 files during sequencing

                                        prep:     prepare training data

                                        balance:  select balanced training set

                                        train:    train the neural network

                                        refine:   refine the training set

 

Help:

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

  --version                             Show program's version number and exit

 

 

 

実行方法

現在のデータは、EXP-NBD103 native barcoding expansion kit(現在はEXP-NBD104)とthe SQK-RBK004 rapid barcoding kitに対してトレーニングされている。

 

シーケンシング中にリアルタイムにFAST5をdemultiplexingする。

Native barcoding kitのデータのdemultiplexing

deepbinner realtime --in_dir fast5_dir --out_dir demultiplexed_fast5s --native

 

 Rapid barcoding kitのデータのdemultiplexing

deepbinner realtime --in_dir fast5_dir --out_dir demultiplexed_fast5s --rapid

 

すでにbase-callingされたfastqを再分類することもできます。手順はGithubで確認してください。

引用

Deepbinner: Demultiplexing barcoded Oxford Nanopore reads with deep convolutional neural networks
Ryan R. Wick , Louise M. Judd, Kathryn E. Holt

PLoS Comput Biol. 2018 Nov; 14(11)