Skip to main content

RNA-seq Quality Control — modernized fork of RSeQC

Project description

rseqc-redux

PyPI Status Python Version License

Tests Coverage Ruff

rseqc-redux is a modernized fork of RSeQC (RNA-seq Quality Control), originally by Liguo Wang. It updates the RSeQC 5.0.1 codebase with modern Python packaging, comprehensive tests, and CI — while preserving the original functionality.

Requirements

  • Python 3.10 or higher
  • Indexed BAM files (.bam with corresponding .bam.bai index files)
  • A BED-format gene model / reference annotation

Dependencies

Core dependencies are automatically installed:

  • pysam — BAM/SAM file handling
  • bx-python — Interval indexing and overlap
  • numpy — Numerical operations
  • pandas — Data frame operations (single-cell modules)
  • pyBigWig — BigWig file I/O
  • matplotlib / logomaker — Plotting

Installation

From PyPI (Recommended)

pip install rseqc-redux

From Source

git clone https://github.com/semenko/rseqc-redux.git
cd rseqc-redux
pip install .

Development Installation

git clone https://github.com/semenko/rseqc-redux.git
cd rseqc-redux
uv sync

Quick Start

# Basic BAM statistics
bam_stat -i sample.bam

# Infer RNA-seq strandedness
infer_experiment -r gene_model.bed -i sample.bam

# Transcript integrity number
tin -i sample.bam -r gene_model.bed

# Gene body coverage
geneBody_coverage -r gene_model.bed -i sample.bam -o output

# Read distribution over genomic features
read_distribution -r gene_model.bed -i sample.bam

# Junction annotation
junction_annotation -r gene_model.bed -i sample.bam -o output

Available Tools

Tool Description
bam_stat Summarize mapping statistics of a BAM file
infer_experiment Infer RNA-seq strandedness
tin Calculate Transcript Integrity Number
geneBody_coverage Gene body coverage profile
read_distribution Reads over genomic features (CDS, UTR, intron, etc.)
junction_annotation Annotate splice junctions
junction_saturation Splice junction saturation analysis
read_duplication Read duplication rate
read_GC GC content of reads
read_NVC Nucleotide composition (ACGT) along reads
read_quality Per-position quality scores
FPKM_count FPKM expression quantification
FPKM-UQ Upper-quartile normalized FPKM
inner_distance Inner distance between read pairs
bam2wig Convert BAM to wiggle/BigWig
mismatch_profile Mismatch profile along reads
insertion_profile Insertion profile along reads
deletion_profile Deletion profile along reads
clipping_profile Clipping profile along reads
split_bam Split BAM by chromosome

Contributing

Contributions are welcome!

Development Commands

# Install development dependencies
uv sync

# Run tests
uv run pytest

# Run full test matrix
uv run nox

# Lint and format
uv run ruff check .
uv run ruff format .

# Type check
uv run mypy rseqc/

License

Distributed under the terms of the GPLv3+ license, rseqc-redux is free and open source software.

Issues

If you encounter any problems, please file an issue with a description of the problem, steps to reproduce, and relevant error messages.

Credits

Original RSeQC by Liguo Wang — rseqc.sourceforge.net

Modernization by Nick Semenkovich (@semenko).

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

rseqc_redux-5.0.3.tar.gz (272.2 kB view details)

Uploaded Source

Built Distribution

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

rseqc_redux-5.0.3-py3-none-any.whl (121.2 kB view details)

Uploaded Python 3

File details

Details for the file rseqc_redux-5.0.3.tar.gz.

File metadata

  • Download URL: rseqc_redux-5.0.3.tar.gz
  • Upload date:
  • Size: 272.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for rseqc_redux-5.0.3.tar.gz
Algorithm Hash digest
SHA256 22f6fa3a7efdfc27f09cf56353b3d342adf32a26d0c3b7d5379e612549a42154
MD5 4e72b1769e99b4952b8b5481feeb4658
BLAKE2b-256 4cb94f838f537e92810fa79e31e6bff484f593ceff5963ba03ff8ba79d035838

See more details on using hashes here.

Provenance

The following attestation bundles were made for rseqc_redux-5.0.3.tar.gz:

Publisher: publish.yml on semenko/rseqc-redux

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rseqc_redux-5.0.3-py3-none-any.whl.

File metadata

  • Download URL: rseqc_redux-5.0.3-py3-none-any.whl
  • Upload date:
  • Size: 121.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for rseqc_redux-5.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 21e848940f92bfe5338ac40c750c7a63435b9b1c0ae74512629382eed3dcb6d8
MD5 1dbda2b642f4a8300817ab4d97dd17d2
BLAKE2b-256 c9bf45e68fbb0ff259aa7b39bb6f4453c2d2e2718393f3c16c196fd189149319

See more details on using hashes here.

Provenance

The following attestation bundles were made for rseqc_redux-5.0.3-py3-none-any.whl:

Publisher: publish.yml on semenko/rseqc-redux

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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