Skip to main content

Pan-cancer detection of T-cell clonal expansion from single-cell RNA sequencing (CUDA-enabled)

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 StartUsage GuideCitation

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

This section explains the two ways to install scXpand:

  • Installing the Published Package: For regular use.
  • Local Development Setup: For contributing or working with the source code.

Installing the Published Package

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 --upgrade scxpand-cuda --extra-index-url https://download.pytorch.org/whl/cu128
    
  • With uv:
    uv pip install --upgrade scxpand-cuda --extra-index-url https://download.pytorch.org/whl/cu128 --index-strategy unsafe-best-match
    

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

  • With plain pip:
    pip install --upgrade scxpand
    
  • With uv:
    uv pip install --upgrade scxpand
    

See the full installation guide for detailed setup instructions.


Local Development Setup

If you want to contribute or work with the latest source code, follow these steps:

  1. Clone the repository:

    git clone https://github.com/yizhak-lab-ccg/scXpand.git
    cd scXpand
    
  2. Run the install script:

    • Windows PowerShell:
      .\install.bat
      
    • macOS/Linux:
      ./install.sh
      

For more details, refer to the installation guide.

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"
)

# Access predictions
predictions = results.predictions
if results.has_metrics:
    print(f"AUROC: {results.get_auroc():.3f}")

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.

Setup & Getting Started:

Using Pre-trained Models:

Training Your Own Models:

Understanding Results:

📖 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_cuda-0.3.4.tar.gz (135.4 kB view details)

Uploaded Source

Built Distribution

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

scxpand_cuda-0.3.4-py3-none-any.whl (141.1 kB view details)

Uploaded Python 3

File details

Details for the file scxpand_cuda-0.3.4.tar.gz.

File metadata

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

File hashes

Hashes for scxpand_cuda-0.3.4.tar.gz
Algorithm Hash digest
SHA256 3a60f5022f0ce2081f1c26d054c9787e1a14f2823237431beea4df8fad81a20a
MD5 5b7ae50cc52723264748ef3e5a70bafc
BLAKE2b-256 b75ba7cd08c7b058c379f0b08a74988892d1cfdef1c2b8d9bb22191166a9d719

See more details on using hashes here.

File details

Details for the file scxpand_cuda-0.3.4-py3-none-any.whl.

File metadata

File hashes

Hashes for scxpand_cuda-0.3.4-py3-none-any.whl
Algorithm Hash digest
SHA256 01a7b024686de33cb894bb4f7518df4091f6c5eda472efb2bc27b1ecf75c4cd0
MD5 b6ba7505716148a029f3e129099c086e
BLAKE2b-256 8ffb4e1a61f1d94158a218b1f2ff1823b32b1542f4b3b54505acaaf8f43b42a0

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