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 GPLv2 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.2.tar.gz (230.6 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.2-py3-none-any.whl (158.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: rseqc_redux-5.0.2.tar.gz
  • Upload date:
  • Size: 230.6 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.2.tar.gz
Algorithm Hash digest
SHA256 d6261e7f253fa10748c57a01d51b52a2991d9257e04d48cf2044ec3ffd496e34
MD5 01f721e901d61a2166b751acb5a5ee5e
BLAKE2b-256 b0529399f8f07929e39629f5061e6f51baee4d8e1b7d709ebd070221ab07eee8

See more details on using hashes here.

Provenance

The following attestation bundles were made for rseqc_redux-5.0.2.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.2-py3-none-any.whl.

File metadata

  • Download URL: rseqc_redux-5.0.2-py3-none-any.whl
  • Upload date:
  • Size: 158.1 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 c8c0011b2f94dce1d72b7ceecb6c1cd67c8878476e33d0230ee2b7e073ebeecc
MD5 50b1a1acb6a18a6cd024cd717436624f
BLAKE2b-256 b84affb43033efba0bd541bb078eb5e370e5be540f163344c0c65bcc9a159a23

See more details on using hashes here.

Provenance

The following attestation bundles were made for rseqc_redux-5.0.2-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