Metadata-Version: 2.1
Name: scTrace
Version: 0.1.3
Summary: A package to enhance single-cell lineage tracing data through kernelized bayesian network
Home-page: https://github.com/czythu/scTrace
Author: Zeyu Chen
Author-email: chenzy22@mails.tsinghua.edu.cn
License: MIT
Requires-Python: >=3.7
Description-Content-Type: text/markdown
Requires-Dist: numpy
Requires-Dist: pandas
Requires-Dist: scipy
Requires-Dist: scikit-learn
Requires-Dist: seaborn
Requires-Dist: matplotlib
Requires-Dist: scanpy
Requires-Dist: leidenalg
Requires-Dist: pyro-ppl
Requires-Dist: POT
Requires-Dist: node2vec
Requires-Dist: scStateDynamics

# scTrace+

## Introduction
`scTrace+` is a computational method to enhance single-cell lineage tracing data through the kernelized bayesian network.

## System Requirements
- Python version: >= 3.7

## Installation

The Release version `scTrace+` python package can be installed directly via pip:
```
pip install scTrace
```

Besides, we provided the develop version of scTrace+. After installing `scStateDynamics` and `node2vec`,
you can run our [tutorial](https://github.com/czythu/scTrace/tree/main/tutorial) 
to perform LT-scSeq data enhancement and cell fate inference steps.
```
pip install scStateDynamics
pip install node2vec
git clone https://github.com/czythu/scTrace.git
```

## Quick Start of LT-scSeq data enhancement

Refer to folder: [tutorial](https://github.com/czythu/scTrace/tree/main/tutorial) for full pipeline.

Below are the introduction to important functions, consisting of the main steps in `scTrace+`.

1. `prepareCrosstimeGraph`: Process input time-series dataset, output lineage adjacency matrices
and transcriptome similarity matrices, both within and across timepoints.

2. `prepareSideInformation`: Derive low-dimensional side information matrix with `node2vec` and `rbf kernel`.

3. `trainMF`: Train scLTMF model to predict the missing entries in the original across-timepoint transition matrix.

4. `predictMissingEntries`: Load pretrained scLTMF model and calculate performance evaluation indicators.

5. `prepareScdobj`: Prepare `scStateDynamics` objects and perform clustering method.

6. `visualizeLineageInfo` & `visualizeEnhancedLineageInfo`: Visualize cluster alignment results with Sankey plot. 

7. `assignLineageInfo`: Assign fate information at single-cell level and output a `cell2cluster` matrix according to lineage information.

8. `enhanceFate`: Enhance cell fate information based on hypothesis testing method for single-cell level fate inference.

9. `runFateDE`: Perform differential expression analysis between dynamic sub-clusters.
