Skip to content

soedinglab/prosstt

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PROSSTT

PROSSTT (PRObabilistic Simulations of ScRNA-seq Tree-like Topologies) is a package with code for the simulation of scRNAseq data for dynamic processes such as cell differentiation. PROSSTT is open source GPL-licensed software implemented in Python.

Single-cell RNAseq is revolutionizing cellular biology, and many algorithms are developed for the analysis of scRNAseq data. PROSSTT provides an easy way to test the performance of trajectory inference methods on realistic data with a known "gold standard". The algorithm can produce datasets with user-defined topologies while simulating any number of sampled cells and genes.

Installation

Installation with pip

PROSSTT can be installed using the pip package manager or any pip-compatible package manager:

pip install git+git://github.com/soedinglab/prosstt.git

Installation from source

git clone https://github.com/soedinglab/prosstt.git
cd prosstt
python setup.py install

Dependencies

PROSSTT was developed and tested in Python 3.5 and 3.6. PROSSTT requires:

We also recommend the following libraries:

  • matplotlib, for plotting
  • jupyter notebooks, for demonstration and development purposes
  • scanpy, for the visualization of simulations via diffusion maps. This requires anndata and Python 3.6 to work.

How to use

In PROSSTT, topologies are described in terms of branches and their connectivity. The simulated genes are all impacted by the differentiation process (no nonsense genes included, although they may be in the future).

We provide jupyter notebooks with a baseline example, a more involved example that explains the choice of variance parameters, and a notebook that showcases the different sampling strategies.

Alternatively, we include a python script that can be run on the command line (examples/generate_simN.py) to produce simulations like the ones used in the MERLoT paper.

For more information please refer to the documentation.