#bus #single-cell #rna-seq #command-line #command-line-interface #kallisto #scrnaseq

bin+lib bustools_cli

Rust reimplementation of bustools for scRNAseq processing

5 unstable releases

0.3.0 Feb 6, 2024
0.2.2 Jan 3, 2024
0.2.1 Sep 15, 2023
0.2.0 Aug 5, 2023
0.1.0 Jun 27, 2023

#188 in Biology

GPL-3.0-or-later

83KB
1.5K SLoC

Readme

Rust version of bustools command line interface. At this point, it's far from complete and correct, but rather a project to learn rust.

This is heavly built on rustbustools, which handles all the basic interactions with busfiles.

Example

# sorting
rustbustools --output /tmp/sorted.bus sort --ifile /tmp/unsorted.bus

# correcting CBs
rustbustools --output /tmp/corrected.bus sort --ifile /tmp/sorted.bus --whitelist /tmp/10x_whitelist.txt

# inspecting
rustbustools --output /dev/null --ifile /tmp/sorted.bus

# count
rustbustools --output /tmp/count_folder --ifile /tmp/sorted.bus --t2g /tmp/transcripts_to_gene.txt

# compression
# -N is the chunksize of a busz block
rustbustools --output /tmp/compressed.busz -i /tmp/sorted.bus -N 10000

# decompression
rustbustools --output /tmp/plain.bus -i /tmp/compressed.busz

Todo 08/05

  • performance checks
    • sort: seems to be slow
    • correct: some performance issues due to BKTree
    • count: slightly slower than original bustools, but its in the ballpark
    • inspect: pretty quick already
    • butterfly amplfication: pretty quick already
  • handle compressed busfiles
  • make CLI args compatible/consistent with original bustools

Dependencies

~12–24MB
~352K SLoC