Skip to main content

Single Cell Lineage Reconstruction with Cas9-Enabled Lineage Recorders

Project description

This is a software suite for proecessing data from single cell lineage tracing experiments. This suite comes equipped with three main modules:

  • Target Site Sequencing Pipeline: a pipeline for extracing lineage information from raw fastqs produced from a lineage tracing experiment.
  • Phylogeny Reconstruction: a collection of tools for constructing phylogenies. We support 5 algorithms currently: a greedy algorithm based on multi-state compatibility, an exact Steiner-Tree solver, Cassiopeia (the combination of these two), Neighbor-Joining, and Camin-Sokal Maximum Parsimony.
  • Benchmarking: a set of tools for benchmarking; a simulation framework and tree comparsion tools.

You can find all documentation [here](

You can also find example notebooks in this repository:

Free Software: MIT License


  1. Clone the package as so: git clone
  2. Ensure that you have python3.6 installed. You can install this via pip.
  3. Make sure that Gurobi is installed. You can follow the instructions listed [here]( To verify that it’s working correctly, use the following tests:
    • Run the command from a terminal window
    • From the Gurobi installation directory (where there is a file), use python install --user
  4. Make sure that Emboss is properly configurd and installed; oftentimes users may see a “command not found” error when attempting to align with the align_sequences function we have provided. This is most likely due to the fact that you have not properly added the binary file to your path variable. For details on how to download, configure, and install the Emboss package, refer to this [tutorial](
  5. You can install the package from pip via python3.6 -m pip install --user cassiopeia-lineage. One of Cassiopeia’s dependencies, pysam, requires HTSLib to be installed. You can read about pysam’s requirements [here]( Else, if you’re installing the package from source (i.e. after cloning from github), use the following:
    • python3.6 build
    • python3.6 build_ext --inplace
    • python3.6 bdist_wheel
    • python3.6 -m pip install . --user

To verify that it installed correctly, try using the package in a python session: import cassiopeia. Then, to make sure that the command-line tools work, try reconstruct-lineage -h and confirm that you get the usage details.

Command Line Tools

In addition to allowing users to use Cassiopeia from a python session, we provide five unique command line tools for common pipeline procedures:

  • reconstruct-lineage: Reconstructs a lineage from a provided character matrix (consisting of cells x characters where each element is the observed state of that character in that cell).
  • post-process-tree: Post-process trees after reconstructing to assign sample identities back to leaves of the tree and removing any leaves that don’t correspond to a sample in the character matrix.
  • stress-test: Conduct stress testing on a given simulated tree. Writes out a new tree file after inferring a tree from the unique leaves of the “true”, simulated tree.
  • call-lineages: Perform lineage group calling from a molecule table.
  • filter-molecule-table: Perform molecule table filtering.

All usage details can be found by using the -h flag.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for cassiopeia-lineage, version 1.0.4
Filename, size File type Python version Upload date Hashes
Filename, size cassiopeia-lineage-1.0.4.tar.gz (436.1 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page