Skip to main content

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.

SPECTRA Workflow

📌 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

📚 Documentation

Detailed documentation and tutorials on how to perform SubSplice analysis is provided on ReadTheDocs now.

👩‍🏫 Tutorial

Example datasets: PSI files for each TCGA cancer can be downloaded from here.

SubSplice 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 tutorial here.

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 subsplice 0.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 subsplice 0.0.0
File Size Uploaded Provenance Actions
subsplice-0.0.0.tar.gz 31.0 kB Without provenance Details for subsplice-0.0.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for subsplice 0.0.0
File Interpreter ABI Platform Actions
subsplice-0.0.0-py3-none-any.whl Python 3 none any Details for subsplice-0.0.0-py3-none-any.whl

Total release size: 65.7 kB

Release files / subsplice-0.0.0.tar.gz

Download URL subsplice-0.0.0.tar.gz
Size 31.0 kB
Tags Source
SHA-256 checksum
How to use checksums
769a56aaefd286986ee281fc0e68928899482e2fdc66b721a755b860db1db490
BLAKE2b-256 checksum
How to use checksums
68d11e6953631e7d06593d2dc6a12c5f5594d2c029180df44508a50f56d95eed
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.0

Release files / subsplice-0.0.0-py3-none-any.whl

Download URL subsplice-0.0.0-py3-none-any.whl
Size 34.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0da7e37846c9c32f357b381298ab4e0d5da6f3560f11c9c2f3d0239a57e69f00
BLAKE2b-256 checksum
How to use checksums
eee466e377356615fa094e9b4cbd7bcc6b4e6860f6ebccc317671706891e474a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.0

Security for subsplice 0.0.0

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.

Release history Release notifications | RSS feed

This release

0.0.0 This release

2 release files No provenance

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