Skip to content

Feature request: implement RSeQC's geneBody_coverage.py and read_GC.py equivalents #127

Description

@seqinfomics

RustQC currently reimplements 8 of RSeQC's tools (bam_stat, infer_experiment, read_duplication, read_distribution, junction_annotation, junction_saturation, inner_distance, TIN) alongside dupRadar, featureCounts, preseq, samtools stats, and Qualimap — genuinely great coverage. But two commonly-used RSeQC tools are still missing: geneBody_coverage.py and read_GC.py.

Why these two matter:

  • geneBody_coverage.py measures read coverage uniformity across the gene body (5'→3'), which is the standard way to detect RNA degradation and 3'-end bias in RNA-seq libraries — a core RNA-seq QC signal that none of the currently-implemented 8 tools cover.
  • read_GC.py measures the GC-content distribution of mapped reads, the standard check for GC bias introduced by library prep or sequencing — also not covered by any currently-implemented tool.

Concrete motivation: We evaluated RustQC as a drop-in replacement for the RSeQC/Qualimap/samtools QC steps in a production Snakemake RNA-seq pipeline. Every other RSeQC tool the pipeline uses has a direct RustQC equivalent, and RustQC's single-pass design would let it retire a whole separate RSeQC container/dependency entirely — except for these two tools. Right now that means keeping RSeQC installed just for two tools, which significantly undercuts RustQC's core value proposition of replacing "14+ separate QC tool invocations with a single CLI command." Adding these two would let pipelines fully consolidate onto RustQC instead of maintaining both.

Ask: Please consider adding geneBody_coverage and read_GC (or an equivalent combined implementation) as an enhancement. Happy to help validate against RSeQC's original output on real data if that's useful — we already have a test harness comparing byte-level agreement between RustQC and upstream tools.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions