BOTAS
Bacterial Operon-Aware Transcriptome Alignment System
BOTAS is a bacterial RNA-seq analysis framework that integrates read alignment, gene quantification, operon inference, and operon-level quantification within a unified Python package. It is specifically designed for bacterial transcriptomes, providing native support for circular genomes, operon-aware analyses, and strand-specific expression profiling.
Unlike general-purpose RNA-seq aligners developed primarily for eukaryotic transcriptomes, BOTAS addresses the unique characteristics of bacterial genomes, including dense gene organization, polycistronic transcription, operon architecture, and circular chromosomes.
Key Features
- Seed-and-extend alignment engine optimized for bacterial genomes
- Native support for circular chromosomes and plasmids
- Paired-end and single-end read alignment
- Strand-aware gene expression quantification
- Gene-level and operon-level expression quantification
- Operon inference from aligned reads
- Operon-aware transcriptome analysis
- Optional rRNA filtering
- Parallel execution for scalable performance
- Modular and extensible Python architecture
Why BOTAS?
Most RNA-seq aligners were designed for eukaryotic transcriptomes and assume splicing, large introns, and linear chromosomes. These assumptions are inappropriate for bacterial transcriptomes, which are characterized by:
- Densely packed genes
- Polycistronic transcripts organized into operons
- Circular chromosomes and plasmids
- Strong dependence on strand-specific transcription
BOTAS addresses these challenges through native circular-genome support, operon-aware analysis, strand-specific quantification, circular insert-size validation, and integrated gene and operon quantification within a single framework.
Installation
Install from PyPI
pip install botas
Install the latest development version
pip install git+https://github.com/clabe-wekesa/botas.git
Install from source
git clone https://github.com/clabe-wekesa/botas.git
cd botas
pip install .
Development installation
pip install -e ".[dev]"
Quick Start
Paired-end alignment
botas align \
-r reference.fasta \
-1 reads_R1.fastq \
-2 reads_R2.fastq \
-o aligned.bam
Single-end alignment
botas align \
-r reference.fasta \
-U reads.fastq \
-o aligned.bam
Gene quantification
botas quantify \
-b aligned.bam \
-g genes.gff \
-o gene_counts.tsv
Supported features include:
- Strand-specific counting
- MAPQ filtering
- Multi-mapper handling
- TPM and RPKM calculation
- Multi-BAM count matrix generation
Operon inference
botas getOperons \
-b aligned.bam \
-g genes.gff \
-o operons.tsv
Operon inference integrates:
- Intergenic distance
- Strand consistency
- Coverage similarity
- Paired-end support
- Consensus-based merging
Architecture
botas/
├── cli/ # Command-line interface
├── core/ # Alignment engine
├── data/ # Reference resources
├── io/ # FASTQ, BAM and reference handling
├── operons/ # Operon inference
├── quantify/ # Gene and operon quantification
└── rrna/ # rRNA detection and filtering
The alignment engine implements:
- K-mer indexing
- Seed clustering
- Edit-distance extension using edlib
- CIGAR reconstruction
- Mapping quality estimation
- Circular coordinate normalization
Design Principles
BOTAS is designed to provide:
- Accurate bacterial RNA-seq alignment
- Native support for circular genomes
- Reproducible gene and operon quantification
- Transparent and interpretable alignment scoring
- Modular architecture for method development and extension
- Integration of alignment and operon-level analyses within a unified workflow
Requirements
Required
- Python ≥ 3.10
- pysam
- edlib
- biopython
Optional
- tqdm (progress display)
Documentation
Command-line help is available through:
botas --help
botas align --help
botas quant --help
botas getOperons --help
Citation
If you use BOTAS in your research, please cite:
Wekesa, C. S. BOTAS: Bacterial Operon-Aware Transcriptome Alignment System.
Citation details will be updated following publication.
License
BOTAS is distributed under the MIT License. See the LICENSE file for details.
Author
Clabe Simiyu Wekesa
GitHub: https://github.com/clabe-wekesa
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file botas_rnaseq-0.1.3.tar.gz.
File metadata
- Download URL: botas_rnaseq-0.1.3.tar.gz
- Upload date:
- Size: 2.4 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b38b8d0ad8748f64abe6a122aaf340d4883ba17a4e92ff5419cc3df4c36da113
|
|
| MD5 |
f4e026ee404a4d6a5260dca621e66e0e
|
|
| BLAKE2b-256 |
d008ea9dd6cc24108a064e0b5a35460a103183533bc2c7f1945131390d3834c8
|
File details
Details for the file botas_rnaseq-0.1.3-cp312-cp312-manylinux1_x86_64.manylinux_2_5_x86_64.whl.
File metadata
- Download URL: botas_rnaseq-0.1.3-cp312-cp312-manylinux1_x86_64.manylinux_2_5_x86_64.whl
- Upload date:
- Size: 2.4 MB
- Tags: CPython 3.12, manylinux: glibc 2.5+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
84d74d1118f64e27950e6b5932ce670c5335220c44fb2a4b66bfee37a78ad425
|
|
| MD5 |
5779fb509bc4ca53256ff5cd0aad537b
|
|
| BLAKE2b-256 |
fb6080ed14f390e62d6cb7a1cc94041c867ab3b15d2aefb0814022d71030e326
|