Skip to main content

Splitpea: method for calculating network rewiring changes due to splicing

Project description

Splitpea

This is the Python package implementation of Splitpea: SPLicing InTeractions PErsonAlized, a method for calculating and analyzing protein-protein interaction changes due to alternative splicing. It integrates differential exon usage (PSI values) with domain-domain interactions (DDIs) and protein-protein interactions (PPIs) to generate rewired PPI networks compairing two conditions.

Requirements and Installation

  • Python >= 3.8
  • Packages:
    • numpy, networkx, intervaltree, ipykernel, matplotlib, plotnine, scikit-learn, adjustText, importlib_resources, requests

This package also requires tabix which can be installed system wide:

sudo apt-get install tabix

or in a conda environment:

conda install -c bioconda tabix

The Splitpea package itself is installable directly from PyPI:

pip install splitpea

Usage

Splitpea takes as input skipped exon data (SE) at the sample or differential expression level from SUPPA2 or rMATS and maps potential changes onto PPI networks resulting in a NetworkX graph object. The package provides two forms of operation for building rewired networks: condition-specific mode, which takes differential exon usage results directly from SUPPA2 or rMATS, and sample-specific mode, which takes rMATS individual sample files and compares them with a multi-sample reference background using the algorithm outlined in our 2023 Splitpea paper. We outline these different modes in detail in the example Jupyter Notebooks found in the examples directory.

When running from SUPPA2, Splitpea requires both the .psivec and the .dpsi files as input. Starting from rMATS, Splitpea accepts either the SE.MATS.JC.txt or SE.MATS.JCEC.txt file. In sample-specific mode, users can choose from a single rMATS input file of SE events (example ending in single) or a matrix of SE events where each sample in the matrix is individually compared against the background to create a sample-specific rewired network (example ending in multi).

Splitpea ships bundled reference datasets (protein-protein interaction, domain-domain interaction, Entrez-Pfam mappings, and gene symbol conversion) for human and mouse. These load automatically based on --species unless you override paths when using the run command. The package also includes normal tissue splicing backgrounds for tissues in GTEx as assembled in the IRIS data set. The full list of supported tissues are as follows, and will be downloaded if used in sample-specific mode with the preprocess_pooled command:

AdiposeTissue, AdrenalGland, Bladder, Blood, BloodVessel, Brain, Breast, CervixUteri, Colon, Esophagus, FallopianTube, Heart, Kidney, Liver, Lung, Muscle, Nerve, Ovary, Pancreas, Pituitary, Prostate, SalivaryGland, Skin, SmallIntestine, Spleen, Stomach, Testis, Thyroid, Uterus, Vagina.

Quick start

Splitpea can be run from the command line or within Python.

Main subcommands:

  • run — Build a rewired network
  • plot — Visualize a saved network
  • stats — Compute edge/gene statistics
  • preprocess_pooled — Generate the differential exon table for sample-specific mode
  • get_consensus_network - Generate summary consensus networks across multiple rewired networks
  • analyze_consensus_threshold — Analyze network properties of a consensus network

Command line examples

# Condition-specific mode (SUPPA2)
splitpea run diffSplice.psivec diffSplice.dpsi suppa_example_output --differential_format suppa2

# Condition-specific mode (rMATS)
splitpea run SE.MATS.JCEC.txt rmats_example_output --differential_format rmats

Note: The second argument is the output file prefix.

Examples / tutorials

We include three sample workflows to help users get started.

  1. Condition-specific mode: takes the output of rMATS and SUPPA2 to produce a single rewired network.

  2. Sample-specific mode - single sample: which runs Splitpea on rMATS data for a single sample versus a background collection of healthy normal tissue samples to produce a single rewired network.

  3. Sample-specific mode - multiple samples: which runs Splitpea on a group of rMATS samples versus a background collection of healthy normal tissue samples to produce one network for each rMATS sample.

Citation

If you use Splitpea, please cite:

@inproceedings{dannenfelser2023splitpea,
  title={Splitpea: quantifying protein interaction network rewiring changes due to alternative splicing in cancer},
  author={Dannenfelser, Ruth and Yao, Vicky},
  booktitle={Pacific Symposium on Biocomputing 2024},
  pages={579--593},
  year={2023},
  organization={World Scientific}
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

splitpea-1.0.0.tar.gz (15.5 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

splitpea-1.0.0-py3-none-any.whl (15.7 MB view details)

Uploaded Python 3

File details

Details for the file splitpea-1.0.0.tar.gz.

File metadata

  • Download URL: splitpea-1.0.0.tar.gz
  • Upload date:
  • Size: 15.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for splitpea-1.0.0.tar.gz
Algorithm Hash digest
SHA256 f77e3508578209b82d64f2ceb5069c889ec67f38f264930fb0d905746bce6062
MD5 4a08434e5f7fdfe5dd19b49d78a2bac4
BLAKE2b-256 05700576eed6b68d1a9b388f3ff4ecb6995426727e9d8eb24c09c59d706c3ebf

See more details on using hashes here.

File details

Details for the file splitpea-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: splitpea-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 15.7 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for splitpea-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 920cdf57e9fcf8491e4191f7306844e83a0868bc0354734d25485760470019ff
MD5 204f4c4c4c247f1144ab171d44b5b44f
BLAKE2b-256 b75670e710f4f4a5181f04e7c6ee63ce6879d4db799954b4fac003a676abb1fe

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page