Package: cellpath
CellPath(Inference of multiple trajectories in single cell RNA-Seq data from RNA velocity)CellPath v0.1.0Zhang's Lab, Georgia Institute of TechnologyDeveloped by Ziqi ZhangDescriptionCellPath is a single cell trajectory inference method that infers cell developmental trajectory using single-cell RNA Sequencing data and RNA-velocity data. The preprint is posted on bioarxiv:https://www.biorxiv.org/content/10.1101/2020.09.30.321125v2NewsInclude leiden algorithm for meta-cell clustering, which is more suitable for datasets with intricate trajectories. You can specify the clustering algorithm you use with eitherflavor = "leiden"orflavor = "k-means"incellpath.meta_cell_construction()orcellpath.all_in_one(), please check therun_cellpath.ipynbfor more details.DependenciesPython >= 3.6.0

numpy >= 1.18.2

scipy >= 1.4.1

networkx>=2.5

pandas >= 1.1.5

scikit-learn >= 0.22.1

anndata >= 0.7.6

scvelo >= 0.2.3

seaborn >= 0.10.0

statsmodels >= 0.12.1 (optional, for differentially expressed gene analysis)

rpy2 >= 3.3.0 (optional, for principal curve only)InstallationInstall from pypipip install cellpathInstall from githubClone the repository withgit clone https://github.com/PeterZZQ/CellPaths.gitAnd runcd CellPaths/
pip install .Uninstall usingpip uninstall cellpathUsagerun_cellpath.ipynbprovide a short pipeline of running cellpaths usingcycle-treetrajectory dataset in the paper.Initialize using adata with calculated velocity using scvelocellpath_obj = cp.CellPath(adata = adata, preprocess = True)preprocessing: the velocity has been calculated and stored in adata or not, if False, the velocity will be calculated during initialization with scveloRun cellpath all in onecellpath_obj.all_in_one(num_metacells = num_metacells, n_neighs = 10, pruning = False, num_trajs = num_trajs, insertion = True, prop_insert = 0.50)num_metacells: number of meta-cells in totaln_neighs: number of neighbors for each meta-cellpruning: way to construct symmetric k-nn graph, prunning knn edges or including more edgesnum_trajs: number of trajectories to output in the endinsertion: insert unassigned cells to trajectories or notprop_insert: proportion of cells to be incorporated into the trajectories`Pseudo-time and branching assignment resultcellpath_obj.pseudo_orderAdditional visualizations, please checkrun_cellpath.ipynbfor details.DatasetsYou can access the real dataset that we used for the benchmarking through:https://www.dropbox.com/sh/6wcxj6x5szrp29v/AAB1FtWR18n41xoBn9tbGHKBa?dl=0. You can reproduce the result by putting the file into the root directory and run the notebook in./Examples/../Examples/CellPath_hema.ipynb: mouse hematopoiesis dataset../Examples/CellPath_dg.ipynb: dentate-gyrus dataset../Examples/CellPath_pe.ipynb: pancreatic endocrinogenesis dataset../Examples/CellPath_forebrain.ipynb: forebrain dataset.ContentsCellPath/contains the python code for the packageexample_data/real/contains four real datasets, used in the paper, dentate-gyrus dataset, pancreatic endocrinogenesis dataset and human forebrain dataset. Files in real_data folder can be downloaded fromdropboxexample_data/simulated/contains simulated cycle-tree datasetTest in manuscriptTest script for the result in manuscript can be found with thelink