Bonito es un llamador de investigación de código abierto para lecturas de Oxford Nanopore.
Para cualquier otra cosa que no sea capacitación de basecaller o desarrollo de métodos, utilice dorado.
$ pip install --upgrade pip
$ pip install ont-bonito
$ bonito basecaller [email protected] /data/reads > basecalls.bam
Bonito admite la escritura alineada/no alineada {fastq, sam, bam, cram}
.
$ bonito basecaller [email protected] --reference reference.mmi /data/reads > basecalls.bam
Bonito descargará y almacenará en caché el modelo de llamada base automáticamente en el primer uso, pero todos los modelos se pueden descargar con:
$ bonito download --models --show # show all available models
$ bonito download --models # download all available models
El paquete bonito.transformer
requiere flash-attn.
Esto debe instalarse manualmente ya que el sistema de empaquetado flash-attn
impide que aparezca como una dependencia normal.
Configurar CUDA_HOME
en el directorio de biblioteca relevante ayudará a evitar discrepancias de versiones de CUDA entre paquetes.
Remora maneja las llamadas base modificadas.
$ bonito basecaller [email protected] /data/reads --modified-bases 5mC --reference ref.mmi > basecalls_with_mods.bam
Vea los modelos base modificados disponibles con el comando remora model list_pretrained
.
Para entrenar un modelo usando sus propias lecturas, primero llame a las lecturas con el indicador adicional --save-ctc
y use el directorio de salida como directorio de entrada para el entrenamiento.
$ 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
Además de entrenar un nuevo modelo desde cero, también puedes ajustar fácilmente uno de los modelos previamente entrenados.
bonito train --epochs 1 --lr 5e-4 --pretrained [email protected] --directory /data/training/ctc-data /data/training/fine-tuned-model
Si está interesado en el desarrollo de métodos y no tiene su propio conjunto de lecturas, se le proporciona un conjunto preparado previamente.
$ bonito download --training
$ bonito train /data/training/model-dir
Todas las llamadas de entrenamiento utilizan Precisión Mixta Automática para acelerar el entrenamiento. Para desactivar esto, establezca el indicador --no-amp
en Verdadero.
$ 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
Se pueden usar las dependencias opcionales ont-bonito[cu118]
y ont-bonito[cu121]
, junto con la --extra-index-url
correspondiente, para garantizar que el paquete PyTorch coincida con la configuración CUDA local.
bonito view
: vea una arquitectura modelo para un archivo .toml
determinado y la cantidad de parámetros en la red.bonito train
: entrena un modelo de bonito.bonito evaluate
: evaluar el rendimiento de un modelo.bonito download
: descargue modelos previamente entrenados y conjuntos de datos de entrenamiento.bonito basecaller
- basecaller ( .fast5
-> .bam
) .(c) 2019 Oxford Nanopore Technologies Ltd.
Bonito se distribuye según los términos de la licencia pública de Oxford Nanopore Technologies, Ltd., v. 1.0. Si no se distribuyó una copia de la Licencia con este archivo, puede obtener una en http://nanoporetech.com
Los lanzamientos de investigación se proporcionan como demostradores de tecnología para brindar acceso temprano a funciones o estimular el desarrollo comunitario de herramientas. El soporte para este software será mínimo y solo lo proporcionarán directamente los desarrolladores. Las solicitudes de funciones, mejoras y debates son bienvenidos y se pueden implementar mediante bifurcaciones y solicitudes de extracción. Por mucho que nos gustaría rectificar cada problema y comentario que puedan tener los usuarios, es posible que los desarrolladores tengan recursos limitados para brindar soporte a este software. Los lanzamientos de investigación pueden ser inestables y estar sujetos a una rápida iteración por parte de 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.}
}