Pesci is an efficient and user-friendly implementation of the Iterative Comparison of Coexpression (ICC) algorithm to compare single-cell gene expression datasets across or within species.
The ICC algorithm was first proposed by Tirosh and Barkai and first applied to single-cell gene expression by Najle, Grau-Bové et al..
-
With conda (my conda channel for now, will push to bioconda at publication):
conda install -c conda-forge -c eparey pesciAlternatively, to install in a specific environment (recommended):
conda create -n pesci_env -c conda-forge -c eparey pesciMac Apple Silicon Setup - to ensure compatibility, create the environment using the osx-64 platform:
conda create -n pesci_env -c conda-forge -c eparey pesci --platform osx-64 -
With pip [recommended on Windows] (testpypi for now, will push to pypi at publication):
pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple pesciAlternatively, to install in a specific environment (recommended):
conda create -n pesci_env python=3.9 && conda activate pesci_env && pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple pesci -
From source:
git clone git@github.com:eparey/pesci.git && cd pesciconda create -n pesci_env python=3.9 && conda activate pesci_envpip install . -I
Pesci takes as input single-cell gene expression count matrices (raw count matrices, CellRanger directory and/or h5ad files), cell cluster annotations and gene orthologies.
pesci --matrix1 mat_sp1.h5ad --matrix2 mat_sp2.tsv --clusters1 cluster_annotations --clusters2 cell_id_sp2.tsv --ortho_pairs orthologs.txt For a description of accepted input formats and available options, please refer to pesci --help.
- To run pesci on provided example data (datasets from Piovani et al., 2023):
pesci --matrix1 data/Cragig_matrix_EM.tsv.gz --matrix2 data/Procro_matrix_EM.tsv.gz --clusters1 data/Cragig_cell_id.tsv --clusters2 data/Procro_cell_id.tsv --ortho_pairs data/orthologous_pairs_Procro-Cragig.txt -l1 Oyster-larva -l2 Flatworm-larva --colbroad broad --cores 4Please visit the wiki for a guide on how to use Pesci, including example code to format input files and illustrated command-line examples.
Please feel free to open an issue or send an email if you encounter any difficulties, so that we keep improving Pesci and make it pretty easier ;)
