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

Additionally:

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.2.0.tar.gz (69.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.2.0-py3-none-any.whl (72.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: antipode-0.2.0.tar.gz
  • Upload date:
  • Size: 69.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.2.0.tar.gz
Algorithm Hash digest
SHA256 26a78aed904e18134614206aaed77bdcb6ac28f17dfa2853c46ac307071f98e5
MD5 d8ca0c0bd01d7828b709c8c88a674c97
BLAKE2b-256 b9072e4a44e13d7868b6d0e5e9db1d41380312b40d361b0f151788cd252fac67

See more details on using hashes here.

File details

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

File metadata

  • Download URL: antipode-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 72.9 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.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 213a4cc045b5bfd7311b86ba11a9cfe78dca4e6c36978f6098f2b5d2e3153029
MD5 b78db013ff2bb6dce741ff34c1b31dfc
BLAKE2b-256 784b5e95187f2a0fd598448014368d6c4d9ffe264f9a45c1c46fc28dfd8a3d6f

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