Skip to main content

Simultaneous integration, differential expression and clustering of single cell RNAseq data using pyro-powered variational inference.

Project description

scANTIPODE

antipode logo!

Single Cell Ancestral Node Taxonomy Inference by Partitioning Of Differential Expression. The model is an extension of the SCVI paradigm--a structured generative, variational inference model developed for the simultaneous analysis (DE) and categorization (taxonomy generation) of cell types across evolution (or now any covariate) using single-cell RNA-seq data. Long ago it began as a hack of a simplified model of scANVI and is built on the pytorch-based PPL pyro. The model acts as an integration method, that learns interpretable differential expression in the process. Note that this means ANTIPODE will fail to integrate datasets of different datasets, or datasets with large disparities in quality or gene mean dispersions.

The complete procedure runs in 3 phases (but can also run fully supervised using only phase 2):

  1. The Fuzzy Phase: Cells may belong to multiple types sampled from a bernoulli distribution, learns an integrated latent space with covariate effects, but is less straightforward to interpret.

  2. The Supervised Phase: Discrete clustering is initialized from a supervised initialization (or defaults to a de novo k-means clustering in the latent space). Can take a supervised clustering and/or latent space for cells.

  3. The Free Phase: All parameters are released for unconstrained learning.

You can read about the generative model in the publication and supplement here. You can look at example runs here.

Installation

First create a conda environment with python >= 3.10, then

To install the package from PyPI:
    pip install antipode


For development, clone the repository and run:
    conda create -n antipode -c rapidsai -c conda-forge -c nvidia  \
        rapids=24.12 python=3.12 'cuda-version>=12.0,<=12.5' \
        'pytorch=*=*cuda*'
    git clone https://github.com/mtvector/scANTIPODE.git
    cd scANTIPODE
    conda install jax jaxlib -c conda-forge
    pip install -e .

Optional phylogeny/analysis features:
    pip install antipode[extras]

Please reach out to let me know if you try ANTIPODE on a dataset and it works (or doesn't work)...

Note that the model can be VRAM hungry, with parameters scaling by #covariates x #genes x #clusters|#modules... if you run out of vram, you might need to 1. fix a GPU memory leak, 2. use fewer genes/latent dimensions/clusters/particles, 3. get a bigger GPU

Future development

  • Phylogeny regression
  • Parameter variance estimation
  • Improved clustering

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

antipode-0.1.0.tar.gz (62.2 kB view details)

Uploaded Source

Built Distribution

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

antipode-0.1.0-py3-none-any.whl (64.5 kB view details)

Uploaded Python 3

File details

Details for the file antipode-0.1.0.tar.gz.

File metadata

  • Download URL: antipode-0.1.0.tar.gz
  • Upload date:
  • Size: 62.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.4

File hashes

Hashes for antipode-0.1.0.tar.gz
Algorithm Hash digest
SHA256 cd17e06c9c7e7d6aebf401e9bf2d582e980957965b741dd5bb0fdacd72074b53
MD5 72946e0ea6b25c3fff83563a550551f0
BLAKE2b-256 8f19679876d2a4320a11d5fee7d1f49aab9dc32bafa1a9a4fd6be9d129d771c4

See more details on using hashes here.

File details

Details for the file antipode-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: antipode-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 64.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.4

File hashes

Hashes for antipode-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9acd2cdee8fd2eced281760e9081a01376c282b9d48c599f5288fd159b898061
MD5 8a63bf0f9dcbadd2d7c05048d28e8249
BLAKE2b-256 3e8c6353d54f8c8cc902a181af4e372b578f943b71286ae92bc202466cdb3bf6

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