Bonito est un outil de recherche open source pour les lectures d'Oxford Nanopore.
Pour tout autre chose que la formation des basecallers ou le développement de méthodes, veuillez utiliser dorado.
$ pip install --upgrade pip
$ pip install ont-bonito
$ bonito basecaller [email protected] /data/reads > basecalls.bam
Bonito prend en charge l'écriture alignée/non alignée {fastq, sam, bam, cram}
.
$ bonito basecaller [email protected] --reference reference.mmi /data/reads > basecalls.bam
Bonito téléchargera et mettra automatiquement en cache le modèle d'appel de base lors de la première utilisation, mais tous les modèles peuvent être téléchargés avec -
$ bonito download --models --show # show all available models
$ bonito download --models # download all available models
Le package bonito.transformer
nécessite flash-attn.
Celui-ci doit être installé manuellement car le système de packaging flash-attn
l'empêche d'être répertorié comme une dépendance normale.
Définir CUDA_HOME
sur le répertoire de bibliothèque approprié aidera à éviter les incompatibilités de version CUDA entre les packages.
Les appels de base modifiés sont gérés par Remora.
$ bonito basecaller [email protected] /data/reads --modified-bases 5mC --reference ref.mmi > basecalls_with_mods.bam
Consultez les modèles de base modifiés disponibles avec la commande remora model list_pretrained
.
Pour entraîner un modèle à l'aide de vos propres lectures, appelez d'abord les lectures avec l'indicateur --save-ctc
supplémentaire et utilisez le répertoire de sortie comme répertoire d'entrée pour la formation.
$ 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
En plus de former un nouveau modèle à partir de zéro, vous pouvez également facilement affiner l'un des modèles pré-entraînés.
bonito train --epochs 1 --lr 5e-4 --pretrained [email protected] --directory /data/training/ctc-data /data/training/fine-tuned-model
Si vous êtes intéressé par le développement de méthodes et que vous ne disposez pas de votre propre ensemble de lectures, un ensemble pré-préparé est fourni.
$ bonito download --training
$ bonito train /data/training/model-dir
Tous les appels de formation utilisent la précision mixte automatique pour accélérer la formation. Pour désactiver cela, définissez l'indicateur --no-amp
sur 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
Les dépendances facultatives ont-bonito[cu118]
et ont-bonito[cu121]
peuvent être utilisées, ainsi que le --extra-index-url
correspondant, pour garantir que le package PyTorch correspond à la configuration CUDA locale.
bonito view
- affichez une architecture de modèle pour un fichier .toml
donné et le nombre de paramètres dans le réseau.bonito train
- entraînez un modèle de bonite.bonito evaluate
- évalue les performances d'un modèle.bonito download
- téléchargez des modèles pré-entraînés et des ensembles de données de formation.bonito basecaller
- basecaller ( .fast5
-> .bam
) .(c) 2019 Oxford Nanopore Technologies Ltd.
Bonito est distribué selon les termes de la licence publique Oxford Nanopore Technologies, Ltd., v. 1.0. Si une copie de la licence n'a pas été distribuée avec ce fichier, vous pouvez en obtenir une sur http://nanoporetech.com
Les versions de recherche sont fournies à titre de démonstrateurs technologiques pour fournir un accès anticipé aux fonctionnalités ou stimuler le développement d'outils par la communauté. La prise en charge de ce logiciel sera minime et n'est fournie que directement par les développeurs. Les demandes de fonctionnalités, les améliorations et les discussions sont les bienvenues et peuvent être mises en œuvre par forking et pull request. Même si nous souhaitons rectifier chaque problème et chaque commentaire que les utilisateurs peuvent avoir, les développeurs peuvent disposer de ressources limitées pour la prise en charge de ce logiciel. Les versions de recherche peuvent être instables et sujettes à une itération rapide par 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.}
}