Skip to main content

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

Project description

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:

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

  • 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= {"max_depth": [3, 5], "learning_rate": [0.1, 0.3], "n_estimators": [100], "subsample": [0.8]})
  • method: "svm" or "xgboost" implementation. For large dataset, we recommend "xgboost" implementation.
  • use_gpu: Only applies if method="xgboost".

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}
}

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

sceptic-0.3.3.tar.gz (92.5 kB view details)

Uploaded Source

Built Distribution

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

sceptic-0.3.3-py3-none-any.whl (6.0 kB view details)

Uploaded Python 3

File details

Details for the file sceptic-0.3.3.tar.gz.

File metadata

  • Download URL: sceptic-0.3.3.tar.gz
  • Upload date:
  • Size: 92.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.8.8

File hashes

Hashes for sceptic-0.3.3.tar.gz
Algorithm Hash digest
SHA256 5220332238b862b55d07657b7197341d74ec9a2a9f780b7acf74afa87956c309
MD5 87f61e3fdaa11b11849fb53b2d190fe6
BLAKE2b-256 671faf9421f6aa636088fd6ce06e5f755c919943037813b615a9fec4c4d69a6f

See more details on using hashes here.

File details

Details for the file sceptic-0.3.3-py3-none-any.whl.

File metadata

  • Download URL: sceptic-0.3.3-py3-none-any.whl
  • Upload date:
  • Size: 6.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.8.8

File hashes

Hashes for sceptic-0.3.3-py3-none-any.whl
Algorithm Hash digest
SHA256 e89407ca69c7e157777ed888d586e28292f3a95dfbb98ee3c4701f675417f95d
MD5 cb7b84d6f783c08c2bd0f8dd674f8054
BLAKE2b-256 058e16ea63b86787a477e3258c99ee56b54a284af8fb8eee9ab07f9286401185

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