Bonito ist ein Open-Source-Recherche-Basecaller für Oxford Nanopore-Lesungen.
Für alles andere als Basecaller-Training oder Methodenentwicklung verwenden Sie bitte dorado.
$ pip install --upgrade pip
$ pip install ont-bonito
$ bonito basecaller [email protected] /data/reads > basecalls.bam
Bonito unterstützt das Schreiben ausgerichteter/unausgerichteter {fastq, sam, bam, cram}
.
$ bonito basecaller [email protected] --reference reference.mmi /data/reads > basecalls.bam
Bonito lädt das Basecalling-Modell bei der ersten Verwendung automatisch herunter und speichert es im Cache, aber alle Modelle können heruntergeladen werden mit –
$ bonito download --models --show # show all available models
$ bonito download --models # download all available models
Das Paket bonito.transformer
erfordert flash-attn.
Dies muss manuell installiert werden, da das flash-attn
-Paketsystem verhindert, dass es als normale Abhängigkeit aufgeführt wird.
Wenn Sie CUDA_HOME
auf das entsprechende Bibliotheksverzeichnis festlegen, können Sie CUDA-Versionskonflikte zwischen Paketen vermeiden.
Der geänderte Basisaufruf wird von Remora übernommen.
$ bonito basecaller [email protected] /data/reads --modified-bases 5mC --reference ref.mmi > basecalls_with_mods.bam
Sehen Sie sich verfügbare modifizierte Basismodelle mit dem Befehl remora model list_pretrained
an.
Um ein Modell mit Ihren eigenen Lesevorgängen zu trainieren, rufen Sie die Lesevorgänge zunächst mit dem zusätzlichen Flag --save-ctc
auf und verwenden Sie das Ausgabeverzeichnis als Eingabeverzeichnis für das Training.
$ 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
Zusätzlich zum Training eines neuen Modells von Grund auf können Sie auch problemlos eines der vorab trainierten Modelle verfeinern.
bonito train --epochs 1 --lr 5e-4 --pretrained [email protected] --directory /data/training/ctc-data /data/training/fine-tuned-model
Wenn Sie an der Methodenentwicklung interessiert sind und keinen eigenen Lesesatz haben, steht Ihnen ein vorgefertigter Satz zur Verfügung.
$ bonito download --training
$ bonito train /data/training/model-dir
Alle Trainingsaufrufe verwenden Automatic Mixed Precision, um das Training zu beschleunigen. Um dies zu deaktivieren, setzen Sie das Flag --no-amp
auf 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
Die optionalen Abhängigkeiten ont-bonito[cu118]
und ont-bonito[cu121]
können zusammen mit der entsprechenden --extra-index-url
verwendet werden, um sicherzustellen, dass das PyTorch-Paket mit dem lokalen CUDA-Setup übereinstimmt.
bonito view
– Zeigen Sie eine Modellarchitektur für eine bestimmte .toml
Datei und die Anzahl der Parameter im Netzwerk an.bonito train
Train ein Bonito-Modell.bonito evaluate
– Bewerten Sie die Leistung eines Modells.bonito download
– Laden Sie vorab trainierte Modelle und Trainingsdatensätze herunter.bonito basecaller
- basecaller ( .fast5
-> .bam
) .(c) 2019 Oxford Nanopore Technologies Ltd.
Bonito wird unter den Bedingungen der Oxford Nanopore Technologies, Ltd. Public License, Version 1.0, vertrieben. Wenn mit dieser Datei keine Kopie der Lizenz verteilt wurde, können Sie eine unter http://nanoporetech.com erhalten
Forschungsversionen werden als Technologiedemonstratoren bereitgestellt, um einen frühen Zugriff auf Funktionen zu ermöglichen oder die Community-Entwicklung von Tools anzuregen. Der Support für diese Software ist minimal und wird nur direkt von den Entwicklern bereitgestellt. Funktionswünsche, Verbesserungen und Diskussionen sind willkommen und können durch Forking und Pull Requests umgesetzt werden. So sehr wir auch gerne jedes Problem und jedes Feedback der Benutzer beheben würden, stehen den Entwicklern möglicherweise nur begrenzte Ressourcen für den Support dieser Software zur Verfügung. Forschungsveröffentlichungen können instabil sein und einer schnellen Iteration durch Oxford Nanopore Technologies unterliegen.
@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.}
}