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)
| File | Size | Uploaded | |
|---|---|---|---|
| sceptr_profiling-1.0.0.tar.gz | 95.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|