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 между пакетами.
Модифицированный базовый вызов обрабатывается 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 evaluate
- оценить производительность модели.bonito download
— загрузка предварительно обученных моделей и наборов обучающих данных.bonito basecaller
-basecaller ( .fast5
-> .bam
) .(c) 2019 г. Oxford Nanopore Technologies Ltd.
Bonito распространяется на условиях публичной лицензии Oxford Nanopore Technologies, Ltd., версия 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.}
}