Mapping single cell data into PDAC atlases
Project description
scPDAC
scPDAC maps and annotates single-cell RNA-seq data against pancreatic ductal adenocarcinoma (PDAC) reference atlases. It ships pretrained models for human and mouse and exposes two complementary workflows:
- 🧬 Atlas mapping — project a query dataset into a reference SCANVI latent
space, either with scArches surgery (
scpdac.tl.extend_atlas, tolerates new batches and returns an expanded atlas) or a fast embed-only label transfer (scpdac.tl.embed_and_predict) — all while retaining your original metadata. - 🏷️ Hierarchical annotation — label cells with a 3-model hierarchical MLP
classifier (
scpdac.tl.predict_labels) that first splits Malignant vs Non-Malignant and then assigns fine-grained cell types with a dedicated sub-classifier for each branch.
Both paths align your genes to the model's panel automatically and write the
predictions straight back into your AnnData.
Getting started
Please refer to the documentation. The atlas mapping and hierarchical classifier tutorials walk through both workflows end-to-end, the performance page reports held-out benchmarks and known limitations, and the API documentation lists every public function.
Installation
You need to have Python 3.11 or newer installed on your system. If you don't have Python installed, we recommend installing uv.
- Install the latest release of
scPDACfrom PyPI:
pip install scPDAC
Release notes
See the changelog.
Contact
For questions and help requests, or to report a bug, please open an issue.
Citation
If you use scPDAC in your research, please cite:
Lucarelli D, Parikh S, Jiménez S, et al. Cross-species single-cell atlases chart progression, therapy-driven remodelling and immune evasion in pancreatic cancer. bioRxiv (2026). doi:10.64898/2026.03.19.712924
@article{Lucarelli2026,
author = {Lucarelli, Daniele and Parikh, Shrey and Jim{\'e}nez, Sara and others},
title = {Cross-species single-cell atlases chart progression, therapy-driven remodelling and immune evasion in pancreatic cancer},
journal = {bioRxiv},
year = {2026},
doi = {10.64898/2026.03.19.712924},
publisher = {Cold Spring Harbor Laboratory},
url = {https://www.biorxiv.org/content/10.1101/2026.03.19.712924},
}
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file scpdac-0.1.0.tar.gz.
File metadata
- Download URL: scpdac-0.1.0.tar.gz
- Upload date:
- Size: 54.0 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e64cfae68d7a944687d7cc8f51618343997764741151a639d1efdf053cec6498
|
|
| MD5 |
3f41a863480e3b33a5a191ad6fd4402d
|
|
| BLAKE2b-256 |
67d336fdc85fd907440f31ebec793c1b6d3ed4a0ceeb6096646d2adde66b4e5e
|
Provenance
The following attestation bundles were made for scpdac-0.1.0.tar.gz:
Publisher:
release.yaml on theislab/scPDAC
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
scpdac-0.1.0.tar.gz -
Subject digest:
e64cfae68d7a944687d7cc8f51618343997764741151a639d1efdf053cec6498 - Sigstore transparency entry: 2038323490
- Sigstore integration time:
-
Permalink:
theislab/scPDAC@5352104460904c9dcdaf650471d2a1285b578ffb -
Branch / Tag:
refs/tags/v.0.1.0 - Owner: https://github.com/theislab
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@5352104460904c9dcdaf650471d2a1285b578ffb -
Trigger Event:
release
-
Statement type:
File details
Details for the file scpdac-0.1.0-py3-none-any.whl.
File metadata
- Download URL: scpdac-0.1.0-py3-none-any.whl
- Upload date:
- Size: 48.3 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9346b2d8436cc5a3e5b34f3b36c1199951158d6aac2d5c116cb5452c39ae6120
|
|
| MD5 |
b36bfebd3082eb87511d1ff31e515aa7
|
|
| BLAKE2b-256 |
aeadb214df62f94013c67998def93e007e9d51f8cd0dd62a93151af9e1a4c8d6
|
Provenance
The following attestation bundles were made for scpdac-0.1.0-py3-none-any.whl:
Publisher:
release.yaml on theislab/scPDAC
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
scpdac-0.1.0-py3-none-any.whl -
Subject digest:
9346b2d8436cc5a3e5b34f3b36c1199951158d6aac2d5c116cb5452c39ae6120 - Sigstore transparency entry: 2038324300
- Sigstore integration time:
-
Permalink:
theislab/scPDAC@5352104460904c9dcdaf650471d2a1285b578ffb -
Branch / Tag:
refs/tags/v.0.1.0 - Owner: https://github.com/theislab
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@5352104460904c9dcdaf650471d2a1285b578ffb -
Trigger Event:
release
-
Statement type: