Bonito は、Oxford Nanopore 読み取り用のオープンソース研究ベースコーラーです。
Basecaller のトレーニングやメソッド開発以外の場合は、dorado を使用してください。
$ pip install --upgrade pip
$ pip install ont-bonito
$ bonito basecaller [email protected] /data/reads > basecalls.bam
Bonito は、整列/非整列{fastq, sam, bam, cram}
の書き込みをサポートしています。
$ bonito basecaller [email protected] --reference reference.mmi /data/reads > basecalls.bam
Bonito は、最初の使用時にベースコーリング モデルを自動的にダウンロードしてキャッシュしますが、すべてのモデルは次のコマンドでダウンロードできます。
$ bonito download --models --show # show all available models
$ bonito download --models # download all available models
bonito.transformer
パッケージには flash-attn が必要です。
これは、 flash-attn
パッケージ システムにより通常の依存関係としてリストされないため、手動でインストールする必要があります。
CUDA_HOME
関連するライブラリ ディレクトリに設定すると、パッケージ間の CUDA バージョンの不一致を回避できます。
変更されたベースコールはコバンザメによって処理されます。
$ bonito basecaller [email protected] /data/reads --modified-bases 5mC --reference ref.mmi > basecalls_with_mods.bam
remora model list_pretrained
コマンドを使用して、利用可能な変更された基本モデルを確認します。
独自の読み取りを使用してモデルをトレーニングするには、まず、追加の--save-ctc
フラグを使用して読み取りをベースコールし、出力ディレクトリをトレーニング用の入力ディレクトリとして使用します。
$ bonito basecaller [email protected] --save-ctc --reference reference.mmi /data/reads > /data/training/ctc-data/basecalls.sam
$ bonito train --directory /data/training/ctc-data /data/training/model-dir
新しいモデルを最初からトレーニングすることに加えて、事前トレーニングされたモデルの 1 つを簡単に微調整することもできます。
bonito train --epochs 1 --lr 5e-4 --pretrained [email protected] --directory /data/training/ctc-data /data/training/fine-tuned-model
メソッド開発に興味があり、独自の読み取りセットを持っていない場合は、事前に準備されたセットが提供されます。
$ bonito download --training
$ bonito train /data/training/model-dir
すべてのトレーニング呼び出しは自動混合精度を使用してトレーニングを高速化します。これを無効にするには、 --no-amp
フラグを True に設定します。
$ git clone https://github.com/nanoporetech/bonito.git # or fork first and clone that
$ cd bonito
$ python3 -m venv venv3
$ source venv3/bin/activate
(venv3) $ pip install --upgrade pip
(venv3) $ pip install -e .[cu118] --extra-index-url https://download.pytorch.org/whl/cu118
ont-bonito[cu118]
およびont-bonito[cu121]
のオプションの依存関係を、対応する--extra-index-url
とともに使用して、PyTorch パッケージがローカルの CUDA セットアップと一致していることを確認できます。
bonito view
- 指定された.toml
ファイルのモデル アーキテクチャとネットワーク内のパラメータの数を表示します。bonito train
- カツオモデルをトレーニングします。bonito evaluate
- モデルのパフォーマンスを評価します。bonito download
- 事前トレーニングされたモデルとトレーニング データセットをダウンロードします。bonito basecaller
- ベースコーラー( .fast5
-> .bam
) 。(c) 2019 Oxford Nanopore Technologies Ltd.
Bonito は、Oxford Nanopore Technologies, Ltd. Public License v. 1.0 の条件に基づいて配布されています。ライセンスのコピーがこのファイルとともに配布されていない場合は、http://nanoporetech.com で入手できます。
研究リリースは、機能への早期アクセスを提供したり、コミュニティでのツール開発を促進したりするための技術デモンストレーターとして提供されます。このソフトウェアのサポートは最小限であり、開発者によってのみ直接提供されます。機能のリクエスト、改善、ディスカッションは歓迎されており、フォークやプル リクエストによって実装できます。あらゆる問題やユーザーからのフィードバックを修正したいと考えていますが、開発者がこのソフトウェアをサポートできるリソースは限られている可能性があります。研究リリースは不安定な場合があり、オックスフォード ナノポア テクノロジーズによる迅速な反復の対象となる場合があります。
@software{bonito,
title = {Bonito: A PyTorch Basecaller for Oxford Nanopore Reads},
author = {{Chris Seymour, Oxford Nanopore Technologies Ltd.}},
year = {2019},
url = {https://github.com/nanoporetech/bonito},
note = {Oxford Nanopore Technologies, Ltd. Public License, v. 1.0},
abstract = {Bonito is an open source research basecaller for Oxford Nanopore reads. It provides a flexible platform for training and developing basecalling models using PyTorch.}
}