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 point — cruise-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.
Usecruise-toolkit --helpto 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
47a8674e32915c3a84d503481fcea760bbeebeffb495c8c26b36f0b0e22a85d6
|
|
| MD5 |
e2fc04640be1e9101450c446cea5fca4
|
|
| BLAKE2b-256 |
756e0f5c84ee614b79c43043b718d67ebe2ccedace850f826ad57cfddd34918f
|