Bonito 是 Oxford Nanopore 讀數的開源研究基地呼叫者。
對於鹼基調用者培訓或方法開發以外的任何內容,請使用 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 版本不符。
修飾鹼基檢出由 Remora 處理。
$ 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
除了從頭開始訓練新模型之外,您還可以輕鬆微調預訓練模型之一。
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 模型。bonito evaluate
- 評估模型性能。bonito download
- 下載預訓練模型和訓練資料集。bonito basecaller
- 鹼基調用者( .fast5
-> .bam
) 。(c) 2019 牛津奈米孔技術有限公司。
Bonito 根據 Oxford Nanopore Technologies, Ltd. 公共授權 v. 1.0 的條款進行分發。如果授權副本未隨此文件一起分發,您可以從 http://nanoporetech.com 取得一份
研究版本作為技術演示提供,以提供對功能的早期訪問或刺激社區工具的開發。對該軟體的支援將是最少的,並且僅由開發人員直接提供。歡迎功能請求、改進和討論,並且可以透過分叉和拉取請求來實現。儘管我們非常希望糾正用戶可能提出的每個問題和回饋,但開發人員支援該軟體的資源可能有限。研究發布可能不穩定,並且會受到 Oxford Nanopore Technologies 快速迭代的影響。
@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.}
}