#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

#70 in Biology

Download history 8/week @ 2024-02-03 451/week @ 2024-02-17 84/week @ 2024-02-24 12/week @ 2024-03-02 1/week @ 2024-03-09 21/week @ 2024-03-30 4/week @ 2024-04-06

99 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

~12–22MB
~338K SLoC