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

bustools

Interacting with the kallisto/bus format of scRNAseq data

11 releases (6 breaking)

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

#54 in Biology

Download history 9/week @ 2023-12-31 8/week @ 2024-02-04 467/week @ 2024-02-18 74/week @ 2024-02-25 6/week @ 2024-03-03 1/week @ 2024-03-10 124/week @ 2024-03-31

125 downloads per month
Used in bustools_cli

GPL-3.0-or-later

210KB
3.5K SLoC

Rustbustools

Rust library to interact with the kallisto/bus format of scRNAseq data (see bustools). At this point, it's far from complete and correct, but rather a project to learn rust.

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();
}

TODO

  • consolidate bus_multi and merger

Dependencies

~13–23MB
~357K SLoC