Skip to main content

Alternative splicing quantification in single cells with Leaflet

Project description

LeafletSC

LeafletSC is a binomial mixture model designed for the analysis of alternative splicing events in single-cell RNA sequencing data. The model facilitates understanding and quantifying splicing variability at the single-cell level. Below is the graphical abstract of our approach:

Compatibility with sequencing platforms

LeafletSC supports analysis from the following single-cell RNA sequencing platforms:

  • Smart-Seq2
  • Split-seq
  • 10X

Getting Started

LeafletSC is implemented in Python and requires Python version 3.10 (3.11 has not been tested yet). We recommend the following approach:

# create a conda environment with python 3.10 
conda create -n "LeafletSC" python=3.10 ipython
# activate environment 
conda activate LeafletSC
# install latest version of LeafletSC into this environment
pip install LeafletSC

Once the package is installed, you can load it in python as follows:

import LeafletSC 

# or specific submodules 
from LeafletSC.utils import *
from LeafletSC.clustering import *

Requirements

Prior to using LeafletSC, please run regtools on your single-cell BAM files. Here is an example of what this might look like in a Snakefile:

{params.regtools_path} junctions extract -a 6 -m 50 -M 500000 {input.bam_use} -o {output.juncs} -s XS -b {output.barcodes}
# Combine junctions and cell barcodes
paste --delimiters='\t' {output.juncs} {output.barcodes} > {output.juncswbarcodes}
  • Once you have your junction files, you can try out the mixture model tutorial under Tutorials
  • While optional, we recommend running LeafletSC intron clustering with a gtf file so that junctions can be first mapped to annotated splicing events.

Capabilities

With LeafletSC, you can:

  • Infer cell states influenced by alternative splicing and identify differentially spliced regions.
  • Conduct differential splicing analysis between specific cell groups if cell identities are known.
  • Generate synthetic alternative splicing datasets for robust analysis testing.

How does it work?

The full method can be found in our paper while the graphical model is shown below:

If you use Leaflet, please cite our paper

@unpublished{Isaev2023-bf,
  title    = "Investigating RNA splicing as a source of cellular diversity using a binomial mixture model",
  author   = "Isaev, Keren and Knowles, David A",
  journal  = "bioRxiv",
  pages    = "2023.10.17.562774",
  month    = oct,
  year     = 2023,
  language = "en"
}

Potential errors:

If you have any errors with the package Polars, please ensure you install polars-lts-cpu:

pip install polars-lts-cpu

To-do:

  1. Add documentation and some tests for how to run the simulation code
  2. Add 10X/split-seq mode in addition to smart-seq2
  3. Extend framework to seurat/scanpy anndata objects
  4. Add notes on generative model and inference method
  5. Clean up dependencies

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

LeafletSC-0.2.16.tar.gz (26.0 kB view details)

Uploaded Source

Built Distribution

LeafletSC-0.2.16-py3-none-any.whl (30.1 kB view details)

Uploaded Python 3

File details

Details for the file LeafletSC-0.2.16.tar.gz.

File metadata

  • Download URL: LeafletSC-0.2.16.tar.gz
  • Upload date:
  • Size: 26.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.10.13

File hashes

Hashes for LeafletSC-0.2.16.tar.gz
Algorithm Hash digest
SHA256 b984e220d2fcf3e96b66f120ec5d91eded7061548b535612eb845fbf4c7789ea
MD5 feea7a26f92cd00b8d06a76d75401e97
BLAKE2b-256 ecc19456e54967fae9dadac463c0ef5acae5f961162df2116b520832c113a318

See more details on using hashes here.

File details

Details for the file LeafletSC-0.2.16-py3-none-any.whl.

File metadata

  • Download URL: LeafletSC-0.2.16-py3-none-any.whl
  • Upload date:
  • Size: 30.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.10.13

File hashes

Hashes for LeafletSC-0.2.16-py3-none-any.whl
Algorithm Hash digest
SHA256 918199180e3fbcdcd25f5400ce96e070a8ed82ccccce60b5c56b466a4e30e930
MD5 4fb4fb69353afb1a9cc710eecdb49b96
BLAKE2b-256 d6e12e1445c9aa8b7fa9dfd271186712125f9c5ff2c48f878a5ff4c70a445a5e

See more details on using hashes here.

Supported by

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