pycellphenox

An eXplainable Cell-specific machine learning method to predict clinical Phenotypes using single-cell multi-omics

https://github.com/fanzhanglab/pycellphenox

Science Score: 57.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 2 DOI reference(s) in README
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (16.7%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

An eXplainable Cell-specific machine learning method to predict clinical Phenotypes using single-cell multi-omics

Basic Info
Statistics
  • Stars: 4
  • Watchers: 2
  • Forks: 2
  • Open Issues: 0
  • Releases: 1
Created over 1 year ago · Last pushed 7 months ago
Metadata Files
Readme Contributing License Code of conduct Citation

README.md

PyPI Python Version License Read the documentation at https://pycellphenox.readthedocs.io/ pre-commit Black Visitors

Getting Started...

Here, we introduce CellPhenoX, an eXplainable machine learning method to identify cell-specific phenotypes that influence clinical outcomes for single-cell data. CellPhenoX integrates robust classification models, explainable AI techniques, and a statistical covariate framework to generate interpretable, cell-specific scores that uncover cell populations associated with a clinical phenotype of interest.

Figure 1. CellPhenoX leverages cell neighborhood co-abundance embeddings, Xi , across samples and clinical variable Y as inputs. By applying an adapted SHAP framework for classification models, CellPhenoX generates Interpretable Scores that quantify the contribution of each feature Xi, along with covariates and interaction term Xi, to the prediction of a clinically relevant phenotype Y. The results are visualized at single-cell level, showcasing Interpretable Scores at low-dimensional space, correlated cell type annotations, and associated marker genes.

You can install pyCellPhenoX from PyPI:

bash pip install pyCellPhenoX

github (link): ``` bash

install pyCellPhenoX directly from github

git clone git@github.com:fanzhanglab/pyCellPhenoX.git ```

Dependencies/ Requirements

When using pyCellPhenoX please ensure you are using the following dependency versions or requirements python python = "^3.9" pandas = "^2.2.3" numpy = "^1.26" xgboost = "^2.1.1" numba = ">=0.54" scikit-learn = "^1.5.2" matplotlib = "^3.9.2" statsmodels = "^0.14.3" fasttreeshap = "0.1.6" shap = "^0.45" met-brewer = "^1.0.2"

Tutorials

Please see the Command-line Reference for details. Additonally, please see Vignettes on the documentation page.

API

pyCellPhenoX has four major functions which are apart of the object: 1. splitdata() - Split the data into training, testing, and validation sets 2. modeltrainshapvalues() - Train the model using nested cross validation strategy and generate shap values for each fold/CV repeat 3. getshapvalues() - Aggregate SHAP values for each sample 4. getintepretablescore() - Calculate the interpretable score based on SHAP values.

Additional major functions associated with pyCellPhenoX are: 1. marker_discovery() - Identify markers correlated with the discriminatory power of the Interpretable Score. 2. nonNegativeMatrixFactorization() - Perform non Negative Matrix Factorization (NMF) 3. preprocessing() - Prepare the data to be in the correct format for CellPhenoX 4. principleComponentAnalysis() - Perform Principle Component Analysis (PCA)

Each function has uniqure arguments, see our documentation for more information

License

Distributed under the terms of the MIT license, pyCellPhenoX is free and open source software.

Code of Conduct

For more information please see Code of Conduct or Code of Conduct Documentation

Contributing

For more information please see Contributing or Contributing Documentation

Issues

If you encounter any problems, please file an issue along with a detailed description.

Citation

If you have used pyCellPhenoX in your project, please use the citation below:

Young, J., Inamo, J., Caterer, Z., Krishna, R., Zhang, F. CellPhenoX: An eXplainable Cell-specific machine learning method to predict clinical Phenotypes using single-cell multi-omics, bioRxiv 2025.01.24.634132; doi: https://doi.org/10.1101/2025.01.24.634132

Contact

Please contact fanzhanglab@gmail.com for further questions or protential collaborative opportunities!

Owner

  • Name: The Zhang Lab
  • Login: fanzhanglab
  • Kind: organization
  • Email: fanzhanglab@gmail.com

The Computational Omics and Systems Immunology (COSI) lab

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you have used pyCellPhenoX in your project, please cite us as:"
authors:
  - family-names: Young
    given-names: Jade
    orcid: # insert ORCID here
  - family-names: Inamo
    given-names: Jun
    orcid: https://orcid.org/0000-0002-9927-7936
  - family-names: Zachary
    given-names: Caterer
    orcid: https://orcid.org/0000-0001-9019-0730
  - family-names: Krishna
    given-names: Revanth
    orcid: https://orcid.org/0000-0002-4902-8368
  - family-names: Zhang
    given-names: Fan
    orcid: https://orcid.org/0000-0002-6102-2970

title: "CellPhenoX: An eXplainable Cell-specific machine learning method to predict clinical Phenotypes using single-cell multi-omics"
# This version is updated using `cz bump` command
version: "1.4"
license: MIT License
repository-code: "https://github.com/fanzhanglab/pyCellPhenoX"
doi: https://doi.org/10.1101/2025.01.24.634132

GitHub Events

Total
  • Release event: 1
  • Watch event: 5
  • Public event: 1
  • Push event: 68
  • Fork event: 2
  • Create event: 1
Last Year
  • Release event: 1
  • Watch event: 5
  • Public event: 1
  • Push event: 68
  • Fork event: 2
  • Create event: 1

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 74 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 21
  • Total maintainers: 1
pypi.org: pycellphenox

An eXplainable Cell-specific machine learning method to predict clinical Phenotypes using single-cell multi-omics

  • Versions: 21
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 74 Last month
Rankings
Dependent packages count: 10.3%
Average: 34.1%
Dependent repos count: 57.9%
Maintainers (1)
Last synced: 6 months ago