Skip to main content

Unified CLI wrapper for barcode/UMI & CR/UR tools

Project description

cruise-toolkit

cruise-toolkit is a unified Python toolkit that integrates barcode splitting, CB/UMI correction, counting, and CR/UR alignment steps commonly used in single-cell and spatial transcriptomics pipelines.

It provides a single command-line entry pointcruise-toolkit — wrapping your original cruise.py workflow script, while preserving argument compatibility.


🔧 Installation

From source (development mode):

git clone https://github.com/dawangran/cruise-toolkit.git
cd cruise-toolkit
pip install -e .

In the future, installation from PyPI will be supported:

pip install cruise-toolkit

🚀 Quick Start

Run the main workflow (arguments are fully compatible with your original cruise.py script):

cruise-toolkit \
  --bam input.bam \
  --fastqs fq1.fastq.gz,fq2.fastq.gz \
  --valid-cell valid.cell.tsv \
  --adapt ATGCGCGATAACCTC \
  --model BBBBBBBBBBATGBBBBBBBBBBATGUUUUUUUUUUTTTT \
  --threads 16 \
  --cb-tags CC,CB \
  --umi-tag UB \
  --outdir cruise_out

🖥️ CLI Usage

Show help:

cruise-toolkit -h
cruise-toolkit --help

This will display the native arguments of cruise.py, including --bam, --fastqs, --adapt, --model, --cb-tags, --umi-tag, etc.

Global options (apply to all runs):

  • --log-level {DEBUG,INFO,WARNING,ERROR,CRITICAL}
    Set global logging level (default: INFO)
  • --log-file run.log
    Save logs to file
  • --version
    Show version

Example:

cruise-toolkit --log-level DEBUG --log-file run.log \
  --bam input.bam --fastqs fq1.fq.gz,fq2.fq.gz --outdir cruise_out

📜 Common Arguments

Argument Description
--bam Input BAM file
--fastqs Comma-separated list of FASTQ files
--valid-cell File with valid cell barcodes
--adapt Adapter sequence
--model CB/UMI model string
--threads Number of threads
--cb-tags Cell barcode tags (e.g., CC,CB)
--umi-tag UMI tag (e.g., UB)
--outdir Output directory
--keep-sample-tmp / --no-keep-sample-tmp Whether to keep intermediate files

All argument definitions remain identical to the original cruise.py.
Use cruise-toolkit --help to view the full parameter list.


📝 Logging System

All runs can be configured with global logging options:

cruise-toolkit --log-level INFO --log-file pipeline.log \
  --bam input.bam --fastqs fq1.fq.gz,fq2.fq.gz ...

Logs are printed to stderr and optionally written to a file.


🧪 Development & Testing

# Install dev dependencies
pip install -e .[dev]

# Run tests
pytest -q

👤 Author

  • Dawn

📄 License

MIT License

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cruise_toolkit-1.0.0.tar.gz (36.8 kB view details)

Uploaded Source

File details

Details for the file cruise_toolkit-1.0.0.tar.gz.

File metadata

  • Download URL: cruise_toolkit-1.0.0.tar.gz
  • Upload date:
  • Size: 36.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.10.9

File hashes

Hashes for cruise_toolkit-1.0.0.tar.gz
Algorithm Hash digest
SHA256 47a8674e32915c3a84d503481fcea760bbeebeffb495c8c26b36f0b0e22a85d6
MD5 e2fc04640be1e9101450c446cea5fca4
BLAKE2b-256 756e0f5c84ee614b79c43043b718d67ebe2ccedace850f826ad57cfddd34918f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page