Bonito adalah pemanggil dasar penelitian sumber terbuka untuk bacaan Oxford Nanopore.
Untuk hal lain selain pelatihan basecaller atau pengembangan metode, silakan gunakan dorado.
$ pip install --upgrade pip
$ pip install ont-bonito
$ bonito basecaller [email protected] /data/reads > basecalls.bam
Bonito mendukung penulisan selaras/tidak selaras {fastq, sam, bam, cram}
.
$ bonito basecaller [email protected] --reference reference.mmi /data/reads > basecalls.bam
Bonito akan mengunduh dan menyimpan model panggilan dasar secara otomatis pada penggunaan pertama tetapi semua model dapat diunduh dengan -
$ bonito download --models --show # show all available models
$ bonito download --models # download all available models
Paket bonito.transformer
memerlukan flash-attn.
Ini harus diinstal secara manual karena sistem pengemasan flash-attn
mencegahnya dicantumkan sebagai ketergantungan normal.
Mengatur CUDA_HOME
ke direktori perpustakaan yang relevan akan membantu menghindari ketidakcocokan versi CUDA antar paket.
Panggilan dasar yang dimodifikasi ditangani oleh Remora.
$ bonito basecaller [email protected] /data/reads --modified-bases 5mC --reference ref.mmi > basecalls_with_mods.bam
Lihat model dasar modifikasi yang tersedia dengan perintah remora model list_pretrained
.
Untuk melatih model menggunakan bacaan Anda sendiri, pertama-tama lakukan panggilan dasar pada bacaan tersebut dengan tanda --save-ctc
tambahan dan gunakan direktori keluaran sebagai direktori masukan untuk pelatihan.
$ 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
Selain melatih model baru dari awal, Anda juga dapat dengan mudah menyempurnakan salah satu model yang telah dilatih sebelumnya.
bonito train --epochs 1 --lr 5e-4 --pretrained [email protected] --directory /data/training/ctc-data /data/training/fine-tuned-model
Jika Anda tertarik dengan pengembangan metode dan tidak memiliki kumpulan bacaan Anda sendiri, maka kumpulan bacaan yang sudah disiapkan sebelumnya disediakan.
$ bonito download --training
$ bonito train /data/training/model-dir
Semua panggilan pelatihan menggunakan Presisi Campuran Otomatis untuk mempercepat pelatihan. Untuk menonaktifkannya, setel tanda --no-amp
ke 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
Dependensi opsional ont-bonito[cu118]
dan ont-bonito[cu121]
dapat digunakan, bersama dengan --extra-index-url
yang sesuai, untuk memastikan paket PyTorch cocok dengan pengaturan CUDA lokal.
bonito view
- melihat arsitektur model untuk file .toml
tertentu dan jumlah parameter dalam jaringan.bonito train
- melatih model bonito.bonito evaluate
- mengevaluasi kinerja model.bonito download
- unduh model terlatih dan kumpulan data pelatihan.bonito basecaller
- pemanggil dasar ( .fast5
-> .bam
) .(c) Oxford Nanopore Technologies Ltd.
Bonito didistribusikan berdasarkan ketentuan Lisensi Publik Oxford Nanopore Technologies, Ltd., v.1.0. Jika salinan Lisensi tidak didistribusikan bersama file ini, Anda dapat memperolehnya di http://nanoporetech.com
Rilis penelitian disediakan sebagai demonstrasi teknologi untuk memberikan akses awal ke fitur atau merangsang pengembangan alat oleh Komunitas. Dukungan terhadap perangkat lunak ini akan sangat minim dan hanya disediakan langsung oleh pengembangnya. Permintaan fitur, peningkatan, dan diskusi dipersilakan dan dapat diterapkan dengan permintaan forking dan pull. Betapapun kami ingin memperbaiki setiap masalah dan masukan yang mungkin dimiliki pengguna, pengembang mungkin memiliki sumber daya terbatas untuk mendukung perangkat lunak ini. Rilis penelitian mungkin tidak stabil dan memerlukan pengulangan yang cepat oleh 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.}
}