#single-cell #bus #rna-seq #kallisto #scrnaseq #file-format

bustools

Interacting with the kallisto/bus format of scRNAseq data

13 releases (7 breaking)

0.14.1 Jun 27, 2024
0.13.1 Feb 19, 2024
0.9.1 Oct 6, 2023
0.7.0 Jun 18, 2023

#61 in Biology


Used in 2 crates

GPL-3.0-or-later

245KB
4K SLoC

Rustbustools

Rust library to interact with the kallisto/bus format of scRNAseq data (see bustools). At this point, the package is pretty mature, but there might be some minor features missing compared to the original bustools.

There's also a CLI mimicking bustools, see bustools_cli

Examples

For more examples, see the rust-docs.

Iterating a bus file

use bustools::io::{BusReader};
let bus = BusReader::new("/tmp/some.bus");
for record in bus {
    // record.CB, record.UMI ...
}

Iterating a bus file by cell

use bustools::io::BusReader;
use bustools::iterators::CellGroupIterator; //need to bring that trait into scope

let breader = BusReader::new("/path/to/some.bus");
for (cb, vector_of_records) in breader.groupby_cb() {
    // Example: the number of records in that cell
    let n_molecules: usize = vector_of_records.len();
}

Dependencies

~9–18MB
~281K SLoC