Skip to content

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

License

Notifications You must be signed in to change notification settings

Noble-Lab/Sceptic

Repository files navigation

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 icon

Installation

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

$ 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

Examples (python script)

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

$ 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:

  • 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.
  • eFold: # of folds for external cross-validation (default=5).
  • iFold: # of folds for internal cross-validation (default=4).

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. (default={'kernel': ('linear', 'rbf'), 'C': [0.1, 1, 10]} )

Output

When one uses sceptic.run_sceptic_and_evaluate function, several outputs are generated:

  • cm: the confusion matrix for Sceptic's nested cross-validation. (# of time_points 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:

@article{li2023pseudotime,
  title={Pseudotime analysis for time-series single-cell sequencing and imaging data},
  author={Gang Li, Hyeon-Jin Kim, Sriram Pendyala, Ran Zhang, Christine M. Disteche, Jean-Philippe Vert, Xinxian Deng, Doug Fowler, and William Stafford Noble},
  doi = {10.1101/2023.11.03.565575},	
  url = {https://doi.org/10.1101%2F2023.11.03.565575},
  journal={bioRxiv},
  year={2023},
  publisher={Cold Spring Harbor Laboratory}
}

About

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

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published