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
  • 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
bam2fq Convert BAM alignments to FASTQ format
bam2wig Convert BAM to wiggle/BigWig
divide_bam Equally divide BAM file into n parts
split_bam Split BAM by chromosome
split_paired_bam Split paired-end BAM into two single-end BAMs
infer_experiment Infer RNA-seq strandedness
inner_distance Inner distance between read pairs
RNA_fragment_size Fragment size statistics per gene
tin Calculate Transcript Integrity Number
geneBody_coverage Gene body coverage profile
geneBody_coverage2 Gene body coverage from BigWig input
read_distribution Reads over genomic features (CDS, UTR, intron, etc.)
read_duplication Read duplication rate
read_GC GC content of reads
read_NVC Nucleotide composition (ACGT) along reads
read_quality Per-position quality scores
read_hexamer Hexamer frequency analysis
junction_annotation Annotate splice junctions
junction_saturation Splice junction saturation analysis
FPKM_count FPKM expression quantification
FPKM-UQ Upper-quartile normalized FPKM
RPKM_saturation RPKM saturation analysis
mismatch_profile Mismatch profile along reads
insertion_profile Insertion profile along reads
deletion_profile Deletion profile along reads
clipping_profile Clipping profile along reads
normalize_bigwig Normalize BigWig signal to fixed wigsum
overlay_bigwig Pairwise operations on two BigWig files
sc_bamStat Single-cell RNA-seq mapping statistics
sc_editMatrix Barcode/UMI error correction heatmaps
sc_seqLogo DNA sequence logo from FASTQ/FASTA
sc_seqQual Sequencing quality heatmap from FASTQ

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-6.1.0.tar.gz (294.5 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-6.1.0-py3-none-any.whl (100.9 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for rseqc_redux-6.1.0.tar.gz
Algorithm Hash digest
SHA256 8bd9d1f45f4fea6d0843c2031d1c248917fb42138846e14e2b37a180edd16818
MD5 49383f4e6f5a95dc282daf18ce4999c4
BLAKE2b-256 3c5eb8b46c835f16cb57be31fc8b59ef14d4da9b3a63b25626966f1a84726d09

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: rseqc_redux-6.1.0-py3-none-any.whl
  • Upload date:
  • Size: 100.9 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-6.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e178b3a65ac78d25cad6e1bb5d6e0679deaf7d47289e966489def34f01eaa48e
MD5 e4cbec5b6f09b0d4016d6301a14becec
BLAKE2b-256 ffaa6f681b9695e297f9c49e7c23139224596cf8ac35de83b10469963741afb0

See more details on using hashes here.

Provenance

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