Skip to main content

BOTAS

An Integrated Bacterial RNA-seq Analysis Framework with Circular-Aware Alignment and Operon Inference

Clabe Simiyu Wekesa, Kelvin Kiprotich, John Muoma, Axel Mithöfer

BOTAS (Bacterial Operon-Aware Transcriptome Alignment System) is an integrated framework for bacterial RNA-seq analysis that combines native reference indexing, read alignment, gene quantification, and operon inference within a single command-line application.

Unlike conventional RNA-seq workflows that require multiple independent software packages, BOTAS provides an end-to-end bacterial transcriptomics workflow specifically designed for prokaryotic genomes. The framework natively supports circular chromosomes and plasmids, paired-end sequencing, strand-specific expression analysis, and operon-aware transcriptome analysis while maintaining compatibility with standard genomic file formats.

BOTAS is implemented entirely in Python and is designed for reproducible, modular and high-throughput bacterial transcriptomic analyses.


Features

Native Reference Indexing

  • Native minimizer-based reference indexing
  • Reusable BOTAS index format (*.botas.idx)
  • Configurable k-mer and minimizer window sizes
  • Support for linear and circular bacterial genomes
  • Circular overhang indexing for origin-spanning reads

RNA-seq Alignment

  • Native bacterial read alignment engine
  • Single-end and paired-end read alignment
  • Automatic handling of circular genome boundary crossings
  • Edit-distance alignment using Edlib
  • Mapping quality estimation
  • Coordinate-sorted BAM output
  • Multi-threaded execution

Gene Quantification

  • Gene-level read and fragment counting
  • Accurate paired-end fragment reconstruction
  • Strand-specific quantification
  • TPM and RPKM normalization
  • Multi-sample quantification
  • Assignment statistics for mapped, ambiguous, unmapped and unassigned fragments
  • Gene counts compatible with featureCounts

Operon Inference

  • RNA-seq-guided operon prediction
  • Integration of genomic organization and transcriptional evidence
  • Strand consistency analysis
  • Intergenic distance evaluation
  • Expression continuity assessment
  • Paired-end connectivity analysis
  • Consensus operon prediction across multiple samples
  • TSV and GFF outputs

General

  • Pure Python implementation
  • Minimal external dependencies
  • Reproducible command-line workflow
  • Modular architecture
  • Easily integrated into automated pipelines

Installation

Install from PyPI

pip install botas-rnaseq

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]"

Workflow

A typical BOTAS analysis consists of four steps.

Reference FASTA
       │
       ▼
botas index
       │
       ▼
BOTAS index (.botas.idx)
       │
       ▼
botas align
       │
       ▼
Coordinate-sorted BAM
       │
       ├──────────────┐
       ▼              ▼
botas quantify   botas getOperons
       │              │
       ▼              ▼
 Gene counts      Operon predictions

Quick Start

1. Build a reference index

botas index -r reference.fasta -o reference.botas.idx

For circular bacterial genomes:

botas index -r reference.fasta -o reference.botas.idx --circular

2. Align sequencing reads

Paired-end

botas align -x reference.botas.idx -1 reads_R1.fastq.gz -2 reads_R2.fastq.gz --sort-bam

Single-end

botas align -x reference.botas.idx -U reads.fastq.gz --sort-bam

BOTAS automatically creates a project directory containing intermediate files, logs and final alignment results.


3. Quantify gene expression

botas quantify -b alignment.bam -g annotation.gff --feature-type gene --gff-gene-attribute locus_tag

BOTAS reports

  • raw gene counts
  • TPM
  • RPKM
  • fragment assignment statistics
  • summary reports

4. Infer operons

botas getOperons -b alignment.bam -g annotation.gff

Predicted operons are exported as

  • TSV tables
  • GFF annotations

for downstream visualization and comparative genomics analyses.


Output Structure

Each BOTAS analysis creates a dedicated working directory.

sample.botas/
│
├── logs/
├── temp/
├── results/
│   ├── alignment.bam
│   ├── alignment.bam.bai
│   ├── gene_counts.tsv
│   ├── summary.tsv
│   ├── operons.tsv
│   └── operons.gff
│
└── config.json

Command Overview

botas index         Build a BOTAS reference index

botas align         Align RNA-seq reads

botas quantify      Quantify gene expression

botas getOperons    Predict bacterial operons

Detailed help is available for every command.

botas --help
botas index --help
botas align --help
botas quantify --help
botas getOperons --help

Supported Input Formats

Analysis Input
Indexing FASTA
Alignment FASTQ, FASTQ.GZ
Quantification BAM, GFF3
Operon inference BAM, GFF3

Supported Output Formats

Analysis Output
Indexing BOTAS index (*.botas.idx)
Alignment BAM
Quantification TSV
Operon inference TSV, GFF

Requirements

  • Python 3.10 or later
  • pysam
  • edlib
  • Biopython

Optional

  • tqdm

Citation

If you use BOTAS in published research, please cite:

Wekesa CS, Kiprotich K, Muoma J, Mithöfer A. BOTAS: An Integrated Bacterial RNA-seq Analysis Framework with Circular-Aware Alignment and Operon Inference. (Manuscript under review.)

Citation information will be updated following publication.


License

BOTAS is distributed under the MIT License.


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

botas_rnaseq-0.1.4.tar.gz (2.3 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

botas_rnaseq-0.1.4-py3-none-any.whl (2.3 MB view details)

Uploaded Python 3

File details

Details for the file botas_rnaseq-0.1.4.tar.gz.

File metadata

  • Download URL: botas_rnaseq-0.1.4.tar.gz
  • Upload date:
  • Size: 2.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.13

File hashes

Hashes for botas_rnaseq-0.1.4.tar.gz
Algorithm Hash digest
SHA256 0900f10edea4872fdaa5f8e72d61e4a927f54e0bab5689a7a6ace30320bcc547
MD5 8b5b789df3a29dc427be6aa3d75ed395
BLAKE2b-256 8023d41e0c088541e55b3c1957acde5cd3ddb0cf3ebee6b078cd081ed96ccada

See more details on using hashes here.

File details

Details for the file botas_rnaseq-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: botas_rnaseq-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 2.3 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.13

File hashes

Hashes for botas_rnaseq-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 3932c645d0799f7aed026d36fea3553848e30df5c7fdd8ec6fce96577e48a1f7
MD5 3510b8c15db4307465996a822bbbe463
BLAKE2b-256 28fdcb1e9c3345f2f1ea011301836e81b57dbb3efa0eaa88b171bdd34563c934

See more details on using hashes here.

Release history Release notifications | RSS feed

0.1.6

2 files

0.1.5

2 files

This release

0.1.4 This release

2 files

0.1.3

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page