Skip to main content

SCEPTR

Statistical Characterisation of Expression Profiles in Transcriptomes

A statistical framework for continuous enrichment profiling of ranked transcriptomes. SCEPTR computes enrichment functions E_C(k) at every gene rank, permutation-based significance testing, and D_KL functional specialisation gradients - all from a single sample with no replicates required.

Installation

pip install sceptr

For GO hierarchy support:

pip install sceptr[go]

Quick Start

# List available category sets
sceptr categories --list

# Run enrichment profiling
sceptr profile --expression my_data.tsv --category-set bacteria -o results/

Input formats

SCEPTR accepts several input formats:

1. Annotated expression table (recommended) - a TSV with gene IDs, expression values, and protein descriptions:

sequence_id    TPM    protein_name    GO_Biological_Process
gene001        2500   Ribosomal protein L3    translation [GO:0006412]
gene002        1800   ATP synthase subunit    ATP synthesis [GO:0015986]

2. Expression + external category mapping - when you have your own category assignments:

sceptr profile --expression expr.tsv --categories mapping.tsv -o results/

Where mapping.tsv is:

gene_id    category
gene001    Translation & Ribosome
gene001    Protein Folding
gene002    Central Metabolism

3. Pre-categorised expression table - a TSV with a categories column:

sequence_id    TPM    categories
gene001        2500   Translation & Ribosome;Protein Folding
gene002        1800   Central Metabolism

Custom categories

You can define your own category sets as JSON:

sceptr profile --expression data.tsv --custom-categories my_categories.json -o results/

What SCEPTR computes

  • Continuous enrichment profiles E_C(k) at every integer gene rank
  • Discrete tier enrichment with Fisher's exact test and FDR correction
  • Permutation-based global profile test (supremum and integral statistics)
  • D_KL functional specialisation gradient quantifying transcriptome organisation
  • Profile shape classification (apex-concentrated, distributed, flat)
  • Interactive HTML report with all results in a single self-contained file

Python API

from sceptr.profile import run

results = run(
    expression_file="data.tsv",
    category_set="bacteria",
    output_dir="results/",
    permutations=1000,
)

# Access results programmatically
tier_results = results["tier_results"]
continuous = results["continuous"]
k_values = continuous["k_values"]
enrichment_matrix = continuous["enrichment_matrix"]

Citation

McCabe, J.S. and Janouskovek, J. (2026). SCEPTR: continuous enrichment profiling reveals functional architecture across the expression gradient.

Full framework

For end-to-end analysis from raw reads (QC, quantification, annotation, and profiling), see the full SCEPTR framework which uses Nextflow and Docker.

Metadata

Release files for sceptr-profiling 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for sceptr-profiling 1.0.0
File Size Uploaded
sceptr_profiling-1.0.0.tar.gz 95.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for sceptr-profiling 1.0.0
File Interpreter ABI Platform
sceptr_profiling-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 208.1 kB

Release files / sceptr_profiling-1.0.0.tar.gz

Download URL sceptr_profiling-1.0.0.tar.gz
Size 95.7 kB
Tags Source
SHA-256 checksum
How to use checksums
591f778b408c8f069a3b542bc63706a6783734783e805c7957ecb51e5754f3e0
BLAKE2b-256 checksum
How to use checksums
20d55494d83312485c0390501d4dff477b82f9c133e7799595980a6ec1163af5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.2

Release files / sceptr_profiling-1.0.0-py3-none-any.whl

Download URL sceptr_profiling-1.0.0-py3-none-any.whl
Size 112.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9ddba631cf2ff8e6b38b71a7f34da6ce85d41d3c82b53831eef06bc2c0a2097a
BLAKE2b-256 checksum
How to use checksums
803f63c4a38635f6fd4c4821b2f7bcf6da2c76362312bd6749b5c79fdf59890b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.2

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page