Module bustools::io

source ·
Expand description

The io module of bustools

Deals with reading and writing busfiles. The most important components are:

  • BusRecord: a single record of a Busfile, containing CB/UMI/EC/COUNT
  • BusFolder: representing the directory structure of kallisto quantification
  • BusReader: to iterate over Records of a busfile
  • BusWriter: writing records to busfile

§Example

let bus = BusReader::new("/tmp/some.bus");
let params = BusParams {cb_len: 16, umi_len: 12};
let mut writer = BusWriter::new("/tmp/out.bus", params);
for record in bus{
    writer.write_record(&record);
}

Structs§

  • An archived BusRecord
  • Represents the standard file structure of kallisto quantification:
  • Header of a busfile, as specified by kallisto the only things that are variable are:
  • Main reader for Busfiles Allows to iterate over the BusRecords in the file
  • Basic unit of a busfile as created by kallisto. Represents a single scRNAseq molecule, CB/UMI/EC and COUNT
  • The resolver for an archived BusRecord
  • Writing BusRecords into a File, using Buffers needs the Header of the busfile to be specified (length of CB and UMI)

Constants§

Traits§

  • A marker trait for iterators over CB/UMI/gene_EC iterators to create an iterator compatible with this framework, just implement the usual iterator trait (giving the next() function) and also tag the iterator with CUGIterator: impl CUGIterator for Dummy {}

Functions§