Sobolev alignment of deep probabilistic models for comparing single cell profiles
Project description
Sobolev Alignment
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
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for sobolev_alignment-1.0.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 59ee2785daaeee2a01e39801e872513880be60e9d04a386142566c0dfe9f5aa8 |
|
MD5 | 2cc7aef79b08a50e4c703231c3b39670 |
|
BLAKE2b-256 | 2c8938f66772a28e83bb5faba8f6cdbdce23db55be19c455728cb44f8c974fa0 |