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:
- Add documentation and some tests for how to run the simulation code
- Add 10X/split-seq mode in addition to smart-seq2
- Extend framework to seurat/scanpy anndata objects
- Add notes on generative model and inference method
- Clean up dependencies
Metadata
Release files for LeafletSC 0.2.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| LeafletSC-0.2.2.tar.gz | 26.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| LeafletSC-0.2.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 57.6 kB
Release files / LeafletSC-0.2.2.tar.gz
| Download URL | LeafletSC-0.2.2.tar.gz |
|---|---|
| Size | 26.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a3faaf6ccbdaf7d006c39ab5ebf4a0b02f7f0a7dbdb148bd6d432dea651545a8
|
|
BLAKE2b-256 checksum How to use checksums |
8f72bd4da95d9d405b2f8cb51099800d93330dda1a5b190bf978dfaa2d3f9e64
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.12.2
|
Release files / LeafletSC-0.2.2-py3-none-any.whl
| Download URL | LeafletSC-0.2.2-py3-none-any.whl |
|---|---|
| Size | 30.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
de8448d5c8b652ed25ef2addf087f85cb171e0c3815bec9e3b31edc9ab9bb36e
|
|
BLAKE2b-256 checksum How to use checksums |
832e3a6786f7a5197cbb29dc19403a6139bbadcd9a0915fc697a805117b5a4b2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.12.2
|