SPECTRA: Unsupervised Analysis of Alternative Splicing
✂️ About
SPECTRA (Splicing-based Pattern Extraction and Clustering using TRAnscriptomics) is an end-to-end pipeline for discovering patient subtypes based on alternative splicing. It is a modernized and optimized version of the original OncoSplice algorithm.
SPECTRA leverages an iterative clustering strategy to identify stable and dominant splicing patterns across patient samples. The new implementation enhances the speed, accuracy, and modularity, allowing seamless integration into both command-line workflows and interactive Python environments.
📌 Installation
SPECTRA can installed as a Python package via pip. We recommend using conda environment with python version set to 3.12.
pip3 install splicespectrax==2025.0.3
📚 Documentation
Detailed documentation on how to perform SPECTRA analysis is provided on ReadTheDocs now.
👩🏫 Tutorial
Example datasets: PSI files for each TCGA cancer can be downloaded from here.
SPECTRA can be used in two ways:
- As a command-line tool for end-to-end execution
- As a modular workflow, where individual functions are called step-by-step
See the tutorials and example scripts for each approach:
Command-Line Interface (CLI)
Run the entire pipeline with a single command using main.py. This is ideal for multiple dataset processing and automated workflows.
Modular Usage
Import and run individual components such as preprocessing, clustering, or visualization in a custom step-by-step analysis.
📝 Overview of Modules
| Module | Description |
|---|---|
main.py |
Entry point for running the complete SPECTRA pipeline. Handles argument parsing and execution flow. |
round_wrapper.py |
Wraps a single iteration of clustering (SPECTRA performs 3 iterations by default). |
preprocess.py |
Performs variance-based and intercorrelation-based filtering of splicing events prior to clustering. |
remove_redundancy.py |
Removes redundant splicing events based on intra-gene correlation. |
feature_selection.py |
Implements PCA-based feature selection, similar to the splice-ICGS method in the original OncoSplice. |
median_impute.py |
Imputes missing values in the splicing matrix using the median for each event. |
visualizations.py |
Generates visual summaries, including splicing event annotation bar plots and cluster heatmaps. |
determine_rank.py |
Automatically determines the optimal NMF rank (if not user-specified). |
run_nmf.py |
Performs NMF clustering and assigns multi-label cluster memberships. |
metadata_analysis.py |
Analyzes and annotates differential splicing events across clusters. |
linear_svm.py |
Applies linear SVM for final cluster assignment. |
correlation_depletion.py |
Identifies and depletes splicing events associated with a clustering round. |
correlation_depletion_vectorized.py |
A faster version of correlationDepletion.py using imputed values and optimized calculations. |
📖 Citation
Coming soon — citation information for referencing SPECTRA in publications.
Metadata
Release files for splicespectrax 2025.0.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| splicespectrax-2025.0.6.tar.gz | 30.9 kB | Without provenance | Details for splicespectrax-2025.0.6.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| splicespectrax-2025.0.6-py3-none-any.whl | Python 3 | none | any | Details for splicespectrax-2025.0.6-py3-none-any.whl |
Total release size: 65.7 kB
Release files / splicespectrax-2025.0.6.tar.gz
| Download URL | splicespectrax-2025.0.6.tar.gz |
|---|---|
| Size | 30.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
85deab8b76859cc23b609c316ca631aac3dbfe8a2f8e480a51a50c665cac8145
|
|
BLAKE2b-256 checksum How to use checksums |
1190f0ab0ebf860f839d9187dbe148524b94df311ae3cc743e17f9951d46baf4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.0
|
Release files / splicespectrax-2025.0.6-py3-none-any.whl
| Download URL | splicespectrax-2025.0.6-py3-none-any.whl |
|---|---|
| Size | 34.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
465edd7ad5585ca3cfc495bb795d37d87470b9180a3e70df10c71322279b8b91
|
|
BLAKE2b-256 checksum How to use checksums |
f914730ae9b5c02d6cf64b930e808e9393493a4f5ba94147b0f26d780d107e3a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.0
|
Security for splicespectrax 2025.0.6
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.