Skip to content

theislab/multicpa

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MultiCPA

MultiCPA is a research project from a computatiobal biology group of Prof. Fabian Theis (https://github.com/theislab) from Helmholtz Zentrum München.

What is MultiCPA?

Screenshot

MultiCPA is a framework to learn effects of perturbations at the single-cell level for multiple modalities: proteins and mRNAs. MultiCPA encodes and learns phenotypic drug response across different cell types, doses and drug combinations. MultiCPA allows:

  • Out-of-distribution predicitons of unseen drug combinations at various doses and among different cell types.
  • Learn interpretable drug and cell type latent spaces.
  • Estimate dose response curve for each perturbation and their combinations.
  • Access the uncertainty of the estimations of the model.

Package Structure

The repository is centered around the MultiCPA module:

  • MultiCPA.train contains scripts to train the model.
  • MultiCPA.api contains user friendly scripts to interact with the model via scanpy.
  • MultiCPA.plotting contains scripts to plotting functions.
  • MultiCPA.model contains modules of compert model.
  • MultiCPA.data contains data loader, which transforms anndata structure to a class compatible with compert model.

Additional files and folders for reproducibility are found in another repository: multicpa-reproducibility

  • datasets contains both versions of the data: raw and pre-processed.
  • preprocessing contains notebooks to reproduce the datasets pre-processing from raw data.
  • notebooks contains notebooks to reproduce plots from the paper and detailed analysis of each of the datasets.
  • figures contains figures after running the notebooks.

Note that the codebase was build on top of CPA model.

Usage

To learn how to use this repository, check example_training.ipynb. Note that hyperparameters in the demo are not default and will not work for new datasets. Please make sure to run seml sweeps for your new dataset to find best hyperparameters. Provided Conda environments are strongly recommended.

Examples and Reproducibility

All the examples and the reproducibility notebooks for the plots in the paper could be found in the multicpa-reproducibility repository.

Documentation

Currently, you can access the documentation via help function in IPython. For example:

from MultiCPA.api import ComPertAPI

help(ComPertAPI)

from MultiCPA.plotting import CompertVisuals

help(CompertVisuals)

A separate page with the documentation is coming soon.

Support and contribute

If you have a question or noticed a problem, you can post an issue.

License

This source code is released under the BSD 3-Clause License, included here.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages