https://github.com/noble-lab/sceptic

Pseudotime analysis for time-series single-cell sequencing and imaging data

https://github.com/noble-lab/sceptic

Science Score: 39.0%

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

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 3 DOI reference(s) in README
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.3%) to scientific vocabulary

Keywords

pseudotime single-cell-imaging single-cell-rna-seq time-series
Last synced: 9 months ago · JSON representation

Repository

Pseudotime analysis for time-series single-cell sequencing and imaging data

Basic Info
  • Host: GitHub
  • Owner: Noble-Lab
  • License: mit
  • Language: Jupyter Notebook
  • Default Branch: main
  • Homepage:
  • Size: 146 KB
Statistics
  • Stars: 11
  • Watchers: 2
  • Forks: 1
  • Open Issues: 0
  • Releases: 1
Topics
pseudotime single-cell-imaging single-cell-rna-seq time-series
Created over 2 years ago · Last pushed 11 months ago
Metadata Files
Readme License

README.md

Sceptic

Installation | Enviroment | Example | Input | Output | Parameter | Citation | Contact

Sceptic can perform pseudotime analysis on various types of single-cell/single-nucleus data. The model takes as input a collection of single-cell/single-nucleus data and then learns the relationship between the observed data and the associated time stamps, and finally uses the trained model to assign to each cell a real-valued pseudotime. Ideally, the pseudotimes assigned by Sceptic reflect each cell's progression along a notion of time---developmental, cell cycle, disease progression, aging---that is appropriate to the given data. Ideally, the pseudotimes assigned by Sceptic reflect each cell's progression along a notion of time---developmental, cell cycle, disease progression, aging---that is appropriate to the given data.

Sceptic schematic

Installation

Sceptic software is available on the Python package index (PyPI), latest version 0.3.3. To install it using pip, simply type: bash $ pip install sceptic

Enviroment

Sceptic is associated with the following packages. - python >= 3.7.7 - numpy >= 1.19.5
- pandas >= 1.3.5 - sklearn >= 1.0.2

Example (python script)

We downloaded the processed scGEM dataset from UnionCom’s GitHub page.

bash $ python test/scGEM/scGEM.py The script will generate 4 outputs from Sceptic described in the section above and save it at: test/scGEM/.

Parameters of Sceptic

The list of parameters is given below:

  • eFold: # of folds for external cross-validation (default=3).
  • iFold: # of folds for internal cross-validation (default=4).

For SVM implementation:

  • kernel: The kernel function for sceptic SVM classfier (default=('linear', 'rbf')). Sklearn supports four kinds of kernels: linear, polynomial, rbf, sigmoid.
  • C: The C parameter for rbf kernel (default=[0.1, 1, 10]). The C parameter trades off correct classification of training examples against maximization of the decision function’s margin. See more details here.

For XGboost implementation:

  • max_depth : Maximum depth of a tree (default=[3, 5]). Increasing this value will make the model more complex and more likely to overfit. 0 indicates no limit on depth. Beware that XGBoost aggressively consumes memory when training a deep tree. See more details here.
  • learning_rate : Step size shrinkage used in update to prevent overfitting (default=[0.1, 0.3]). After each boosting step, we can directly get the weights of new features, and eta shrinks the feature weights to make the boosting process more conservative. See more details here.

Input

In case the user is providing the input data: - data_concat: the input cell by measurement matrix. (# of cells by # of measurements) - label: processed cell time label. (# of cells by 1) - label_list: unique list of possible cell time labels. (# of time points by 1) - parameters: Sceptic parameter dictionary. (SVM default={'kernel': ('linear', 'rbf'), 'C': [0.1, 1, 10]}; XGboost default= {"maxdepth": [3, 5], "learningrate": [0.1, 0.3], "nestimators": [100], "subsample": [0.8]}) - method: "svm" or "xgboost" implementation. For large dataset, we recommend "xgboost" implementation. - `usegpu`: Only applies if method="xgboost".

Output

When one uses sceptic.runscepticandevaluate function, several outputs are generated: - cm: the confusion matrix for Sceptic's nested cross-validation. (# of timepoints by # of time points) - label_predicted: Sceptic's predicted discrete label for each cell. (# of cells by 1) - pseudotime: Sceptic's predicted pseudotime (continuous) for each cell. (# of cells by 1) - sceptic_prob: the class-proabilities for each cell. (# of cells by # of time points)

Contact

In case you have questions, reach out to gangliuw@uw.edu.

Citation

Pseudotime analysis for time-series single-cell sequencing and imaging data

If you have found our work useful, please consider citing us:

Li, G., Kim, HJ., Pendyala, S. et al. Sceptic: pseudotime analysis for time-series single-cell sequencing and imaging data. Genome Biol 26, 209 (2025). https://doi.org/10.1186/s13059-025-03679-3

@article{li2025sceptic, title={Sceptic: pseudotime analysis for time-series single-cell sequencing and imaging data}, author={Li, Gang and Kim, Hyeon-Jin and Pendyala, Sriram and Zhang, Ran and Vert, Jean-Philippe and Disteche, Christine M and Deng, Xinxian and Fowler, Douglas M and Noble, William Stafford}, journal={Genome Biology}, volume={26}, pages={209}, year={2025} }

Owner

  • Name: Noble Lab Department of Genome Sciences UW
  • Login: Noble-Lab
  • Kind: organization

GitHub Events

Total
  • Release event: 1
  • Watch event: 4
  • Push event: 2
  • Create event: 1
Last Year
  • Release event: 1
  • Watch event: 4
  • Push event: 2
  • Create event: 1

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 45 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 3
  • Total maintainers: 1
pypi.org: sceptic

Pseudotime analysis for time-series single-cell sequencing and imaging data

  • Versions: 3
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 45 Last month
Rankings
Dependent packages count: 10.0%
Forks count: 29.8%
Average: 36.6%
Stargazers count: 38.9%
Dependent repos count: 67.7%
Maintainers (1)
Last synced: 10 months ago