Skip to main content

Pan-cancer detection of T-cell clonal expansion from single-cell RNA sequencing

Project description

scXpand Logo

scXpand: Pan-cancer Detection of T-cell Clonal Expansion

Detect T-cell clonal expansion from single-cell RNA sequencing data without paired TCR sequencing

DocumentationInstallationQuick StartExamplesCitation

scXpand Datasets Overview

A framework for predicting T-cell clonal expansion from single-cell RNA sequencing data.

Manuscript in preparation - detailed methodology and benchmarks coming soon.

View full documentation for comprehensive guides and API reference.

Features

  • Multiple Model Architectures:
    • Autoencoder-based: Encoder-decoder with reconstruction and classification heads
    • MLP: Multi-layer perceptron
    • LightGBM: Gradient boosted decision trees
    • Linear Models: Logistic regression and support vector machines
  • Scalable Processing: Handles millions of cells with memory-efficient data streaming from disk during training
  • Automated Hyperparameter Optimization: Built-in Optuna integration for model tuning

Installation

scXpand is available in two variants to match your hardware:

If you have an NVIDIA GPU with CUDA support:

With plain pip (add CUDA index):

pip install scxpand-cuda --extra-index-url https://download.pytorch.org/whl/cu128

With uv:

uv pip install scxpand-cuda --extra-index-url https://download.pytorch.org/whl/cu128 --index-strategy unsafe-best-match

With poetry/pdm (reads PyTorch index from wheel metadata):

poetry add scxpand-cuda
# or
pdm add scxpand-cuda

Otherwise (CPU, Apple Silicon, or non-CUDA GPUs):

Install scXpand without CUDA support:

pip install scxpand

See the full installation guide for detailed setup instructions.

Quick Start

import scxpand
# Make sure that "your_data.h5ad" includes only T cells for the results to be meaningful
# Ensure that "your_data.var_names" are provided as Ensembl IDs (as the pre-trained models were trained using this gene representation)
# Please refer to our documentation for more information

# List available pre-trained models
scxpand.list_pretrained_models()

# Run inference with automatic model download
results = scxpand.run_inference(
    model_name="pan_cancer_autoencoder",  # default model
    data_path="your_data.h5ad"
)

Documentation

See our Tutorial Notebook for a complete example with data preprocessing, T-cell filtering, gene ID conversion, and model application using a real breast cancer dataset.

Getting Started:

Model Training & Optimization:

Analysis & Evaluation:

📖 Full Documentation - Complete guides, API reference, and interactive tutorials

License

This project is licensed under the MIT License – see the LICENSE file for details.

Citation

If you use scXpand in your research, please cite:

@article{scxpand2025,
  title={scXpand: Pan-cancer detection of T-cell clonal expansion from single-cell RNA sequencing without paired single-cell TCR sequencing},
  author={[Your Name]},
  journal={[Journal Name]},
  year={2025},
  doi={[DOI]}
}

This project was created in favor of the scientific community worldwide, with a special dedication to the cancer research community. We hope you’ll find this repository helpful, and we warmly welcome any requests or suggestions - please don’t hesitate to reach out!

Visitors

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

scxpand-0.1.53.tar.gz (126.5 kB view details)

Uploaded Source

Built Distribution

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

scxpand-0.1.53-py3-none-any.whl (137.5 kB view details)

Uploaded Python 3

File details

Details for the file scxpand-0.1.53.tar.gz.

File metadata

  • Download URL: scxpand-0.1.53.tar.gz
  • Upload date:
  • Size: 126.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.17

File hashes

Hashes for scxpand-0.1.53.tar.gz
Algorithm Hash digest
SHA256 29b02921e5054ea6093cfa891df0a3e0565c5611f4d1ef1e1e16b7346674aa1d
MD5 e8fb9827467e4c551fc6915aa85787df
BLAKE2b-256 e5b7ad38edd63dcd710edad4810121bc95df4762d38ab377a75b60f28aee7f8e

See more details on using hashes here.

File details

Details for the file scxpand-0.1.53-py3-none-any.whl.

File metadata

  • Download URL: scxpand-0.1.53-py3-none-any.whl
  • Upload date:
  • Size: 137.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.17

File hashes

Hashes for scxpand-0.1.53-py3-none-any.whl
Algorithm Hash digest
SHA256 a7ec017f2b40c02a967070c8fc8bf33c929cef743ff0c4b395a3251e4cdefed9
MD5 cdde1c36031d9c05dfba1cbf18f1b7b9
BLAKE2b-256 a3294e7ea1588f3a44f303a810b8ef832dc80fc20504bf92d364d1894bfd9cf9

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