RNA-seq Quality Control — modernized fork of RSeQC
Project description
rseqc-redux
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 (
.bamwith corresponding.bam.baiindex files) - A BED-format gene model / reference annotation
Dependencies
Core dependencies are automatically installed:
pysam— BAM/SAM file handlingbx-python— Interval indexing and overlapnumpy— Numerical operationspyBigWig— BigWig file I/Omatplotlib/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
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 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8bd9d1f45f4fea6d0843c2031d1c248917fb42138846e14e2b37a180edd16818
|
|
| MD5 |
49383f4e6f5a95dc282daf18ce4999c4
|
|
| BLAKE2b-256 |
3c5eb8b46c835f16cb57be31fc8b59ef14d4da9b3a63b25626966f1a84726d09
|
Provenance
The following attestation bundles were made for rseqc_redux-6.1.0.tar.gz:
Publisher:
publish.yml on semenko/rseqc-redux
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rseqc_redux-6.1.0.tar.gz -
Subject digest:
8bd9d1f45f4fea6d0843c2031d1c248917fb42138846e14e2b37a180edd16818 - Sigstore transparency entry: 1137701323
- Sigstore integration time:
-
Permalink:
semenko/rseqc-redux@6818b00df6514c8b7247f6a38b80c0ccb183ef67 -
Branch / Tag:
refs/tags/v6.1.0 - Owner: https://github.com/semenko
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@6818b00df6514c8b7247f6a38b80c0ccb183ef67 -
Trigger Event:
push
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e178b3a65ac78d25cad6e1bb5d6e0679deaf7d47289e966489def34f01eaa48e
|
|
| MD5 |
e4cbec5b6f09b0d4016d6301a14becec
|
|
| BLAKE2b-256 |
ffaa6f681b9695e297f9c49e7c23139224596cf8ac35de83b10469963741afb0
|
Provenance
The following attestation bundles were made for rseqc_redux-6.1.0-py3-none-any.whl:
Publisher:
publish.yml on semenko/rseqc-redux
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rseqc_redux-6.1.0-py3-none-any.whl -
Subject digest:
e178b3a65ac78d25cad6e1bb5d6e0679deaf7d47289e966489def34f01eaa48e - Sigstore transparency entry: 1137701436
- Sigstore integration time:
-
Permalink:
semenko/rseqc-redux@6818b00df6514c8b7247f6a38b80c0ccb183ef67 -
Branch / Tag:
refs/tags/v6.1.0 - Owner: https://github.com/semenko
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@6818b00df6514c8b7247f6a38b80c0ccb183ef67 -
Trigger Event:
push
-
Statement type: