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

bin+lib bustools_cli

Rust reimplementation of bustools for scRNAseq processing

10 unstable releases (4 breaking)

0.5.1 Aug 19, 2024
0.4.0 Jul 1, 2024
0.3.0 Feb 6, 2024
0.2.1 Sep 15, 2023
0.1.0 Jun 27, 2023

#131 in Biology

GPL-3.0-or-later

105KB
2K 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

~16–26MB
~420K SLoC