Predicting emergent phenotypes from single cell populations using CELLECTION
Project description
CellECTION: An Attention-Based Multiple Instance Learning Approach to Predict Emergent Phenotypes from Single Cell Populations
developed by Hongru Hu: hrhu@ucdavis.edu
Biological systems exhibit emergent phenotypes that arise from the collective behavior of individual components, such as whole-organ functions that arise from the coordinated activity of its individual cells, or organism-level phenotypes that result from the functional interplay of collections of genes in the genome. We present CELLECTION, a deep learning framework that learns to associate subgroups of instances with different emergent phenotypes. We show CELLECTION enables interpretable predictions for heterogeneous tasks, including disease classification, identification of disease-associated cell subtypes, alignment of developmental stages between human model systems, and even predicting relative hand-wing indices across the avian lineage. CELLECTION therefore provides a scalable and flexible framework for identifying key cellular or genetic signatures underlying complex traits in development, disease, and evolution.
Installation
You can install CELLECTION from PyPI:
pip install cellection
Or install from source:
git clone https://github.com/quon-titative-biology/CELLECTION.git
cd CELLECTION
pip install -e .
We suggest using
pip3 install torch==2.4.1 torchvision==0.19.1 torchaudio==2.4.1 --index-url https://download.pytorch.org/whl/test/cu118
Package requirements
CELLECTION is implemented using torch 2.4.1, anndata 0.10.9, and scanpy 1.10.3 under Python 3.10.15.
Users can choose to create the environment provided under this repository (env file):
conda env create --file=environment.yml
Quick Start
import cellection
import scanpy as sc
import torch
import torch.nn as nn
import matplotlib.pyplot as plt
import seaborn as sns
# Load your single-cell data
adata = sc.read_h5ad("your_data.h5ad")
# Initialize CELLECTION object
cellection_obj = cellection.cellectiion_object(
adata=adata,
task_type='classification',
task_key='disease_cov',
sample_key='ind_cov',
batch_key=None,
model_type='classification',
input_type='measurement',
sparse_input=True,
InstanceEncoder=True,
val_size=0.2,
aggregator='gated_attention',
global_features=128,
attention_dim=32,
max_epochs=200,
learning_rate=1e-4,
batch_size=15,
seed=2,
device=torch.device("cuda" if torch.cuda.is_available() else "cpu"),
hidden_layer=[256, 32],
activation=nn.ReLU(),
layernorm=True,
batchnorm=False,
dropout_rate=0.1,
save_model=True,
save_path=None)
# Prepare the data and initialize the model
cellection_obj.prepare()
# Train the model
cellection_obj.train()
# Perform inference
sample_meta, true_labels, pred_labels, sample_embeddings, sample_global_features, attention_scores = cellection_obj.inference()
please go to tutorial for a real data-based example
Features
- Phenotype Prediction: Specialized for sample-level phenotype prediction
- Multiple Instance Learning (MIL): Framework for learning from bags of instances (cells)
- Attention Mechanisms: Multiple aggregation methods including gated attention and attention (in addition to pooling) to prioritize cells
- Flexible Input: Support for both measurement data and pre-computed features
Citation
If you use CELLECTION in your research, please cite:
manuscript: Predicting emergent phenotypes from single cell populations using CELLECTION
Hu, H., Sanghi, S. and Quon, G., 2025. Predicting emergent phenotypes from single cell populations using CELLECTION. bioRxiv, pp.2025-09.
and software:
@software{cellection2025,
title={Predicting emergent phenotypes from single cell populations using CELLECTION},
author={Hongru Hu},
year={2025},
url={https://github.com/quon-titative-biology/CELLECTION}
}
and our preprint:
License
This project is licensed under the MIT License - see the LICENSE file for details.
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
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 cellection-0.1.3.tar.gz.
File metadata
- Download URL: cellection-0.1.3.tar.gz
- Upload date:
- Size: 749.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
44c65d38412f5d6d17932d579c4f0563443f440a3fe2ce0f1d5ed00d37a3f509
|
|
| MD5 |
5f165c4326e07258f2cbb849d9ed9f45
|
|
| BLAKE2b-256 |
8ff80744402b89f1fc0004799ccd067a25cf5a068ade2124b3c9f9f19126d556
|
File details
Details for the file cellection-0.1.3-py3-none-any.whl.
File metadata
- Download URL: cellection-0.1.3-py3-none-any.whl
- Upload date:
- Size: 15.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fb3ec9d8b55291cf9b471a8a6fe2063eda9be5c2d0430657a36a113de4886397
|
|
| MD5 |
40854472bbaa747a7600f2f1208cfbc6
|
|
| BLAKE2b-256 |
9134541376f563c90e931408a9cfbaa17aa47fbafb65c3362c10ee27d545abcd
|