Skip to main content

Sobolev alignment of deep probabilistic models for comparing single cell profiles

Project description

Sobolev Alignment

Tests Documentation pre-commit.ci status codecov

This GitHub repository contains the implementation of Sobolev Alignment, a computational framework designed to align pre-clinical and tumor scRNA-seq data. Sobolev Alignment combines a deep generative model with a kernel method to detect non-linear processes that are shared by a source (e.g., cell line) and a target (e.g., tumor) dataset.

Getting started

Please refer to the documentation. In particular, the

Installation

You need to have Python 3.8 or newer installed on your system. If you don't have Python installed, we recommend installing Mambaforge.

For the moment, no PyPI implementation is available (coming soon). The installation can be done in two steps.

1. Install Sobolev Alignment

You can install Sobolev Alignment and (almost) all dependencies using the following command:

pip install git+https://github.com/saroudant/sobolev_alignment.git@main

The resulting package is ready to use, but will use scikit-learn instead of Falkon, resulting in largely sub-optimal performances.

2. Install Falkon

To employ large-scale GPU-accelerated kernel methods, we turn to Falkon. The installation notice for Falkon is available on the FalkonML documentation. The previous installation procedure has already taken care of the various dependencies required for Falkon (i.e., cython, scipy and torch.)

Frequent issues

Issues with the compiler.

Due to incompatibilities between g++, gcc and cuda, the installation of FalkonML sometimes fails. The following elements can help alleviate potential issues:

  • Prior to installing Falkon, re-install torch 1.11.
  • Check compatibility between your cuda version and the one installed with torch.
  • Using cxx-compiler=1.2.0 (available on conda-forge) is compatible with cuda 11.3.

Issues with Jaxlib (MacOS)

For Mac users, the jaxlib version installed from PyPI sometimes returns issues. We then advise to re-install jaxlib from condo, and subsequently re-install dcvi-tools:

mamba install jaxlib
mamba install scvi-tools

Incompatibilities with numba

Errors are sometimes raised due to numba inconsistencies. The errors raised were due to clashes between different packages. Re-installing numba seem to have fixed the issues:

pip install numba --force-reinstall

Please feel free to contact the development team by e-mail or by creating an issue.

Workflow presentation

Sobolev Alignment workflow

Release notes

See the changelog.

Contact

For questions and help requests, you can reach out at the following e-mail address: s [dot] mourragui [at] hubrecht [dot] eu.

Citation

Identifying commonalities between cell lines and tumors at the single cell level using Sobolev Alignment of deep generative models, Mourragui et al, 2022, Biorxiv

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

sobolev_alignment-1.0.0.tar.gz (4.9 MB view details)

Uploaded Source

Built Distribution

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

sobolev_alignment-1.0.0-py3-none-any.whl (34.7 kB view details)

Uploaded Python 3

File details

Details for the file sobolev_alignment-1.0.0.tar.gz.

File metadata

  • Download URL: sobolev_alignment-1.0.0.tar.gz
  • Upload date:
  • Size: 4.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for sobolev_alignment-1.0.0.tar.gz
Algorithm Hash digest
SHA256 24c000a19c44e818737d71acdf1d12be0057b249a813962a442134b3c63f133b
MD5 00548dc2de8da8172c72575af9c454db
BLAKE2b-256 35999af1138370eb18705bd1014d64bbeaaedbbe120f164b4295d97f95357bf6

See more details on using hashes here.

File details

Details for the file sobolev_alignment-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for sobolev_alignment-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 59ee2785daaeee2a01e39801e872513880be60e9d04a386142566c0dfe9f5aa8
MD5 2cc7aef79b08a50e4c703231c3b39670
BLAKE2b-256 2c8938f66772a28e83bb5faba8f6cdbdce23db55be19c455728cb44f8c974fa0

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