Installation#
You need to have Python 3.12 or newer installed on your system. If you don’t have Python installed, we recommend installing uv.
Running pairOT via Docker#
Pre-built Docker image#
To run pairOT, we provide a docker image that contains all the necessary dependencies:
docker pull felix0097/pairot:latest
Build Docker image from source#
Alternatively, you can build your own Docker image as follows:
git clone https://github.com/cellannotation/pairOT.git
cd pairOT
docker build -t pairot:latest .
Install pairOT via pip#
Install R#
To run the R differential expression testing code (pre-processing), you’ll need to install R on your system. Make sure to install the latest R version otherwise you might run into compatibility issues with some R packages.
You can either do it via Anaconda:
conda install conda-forge::r-base
Or install R directly on your system. Please refer to the official R documentation for installation instructions.
Install pairOT via pip#
pip install "pairot[rpy2] @ git+https://github.com/cellannotation/pairot.git@main"
In case your rpy2 installation fails, you might have to install the libtirpc development package on your system first.
sudo apt update
sudo apt install libtirpc-dev libpcre2-dev libbz2-dev liblzma-dev zlib1g-dev libicu-dev
By default, the installed JAX version only uses the CPU to make JAX recognize your GPU/TPU, see JAX installation instructions.
pip install -U "jax[cuda12]"
Install R dependencies#
To install the required R dependencies, open a Python console and run the following commands:
import rpy2.robjects as ro
INSTALL_R_PACKAGES_LATETST = """
if (!require("BiocManager", quietly = TRUE))
install.packages("BiocManager")
BiocManager::install("limma")
BiocManager::install("rhdf5")
install.packages("Matrix")
install.packages("magrittr")
install.packages("data.table")
install.packages("glue")
install.packages("stringr")
"""
ro.r(INSTALL_R_PACKAGES_LATETST)
It might take a while to install all R dependencies.
Note: If you’re using R 4.3 you can install the following package versions:
import rpy2.robjects as ro
INSTALL_R_PACKAGES = """
if (!require("BiocManager", quietly = TRUE))
install.packages("BiocManager")
BiocManager::install("limma")
install.packages("remotes")
library(remotes)
install_version("rhdf5", version = "2.46.1", repos = "https://bioconductor.org/packages/3.18/bioc")
install_version("Matrix", version = "1.6-0")
install_version("magrittr", version = "2.0.3")
install_version("data.table", version = "1.15.4")
install_version("glue", version = "1.7.0")
install_version("stringr", version = "1.5.1")
"""
ro.r(INSTALL_R_PACKAGES)