SPRUCE: Somatic Phylogeny Reconstruction using Combinatorial Enumeration
C++ CMake Python Shell
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.

README.md

SPRUCE

SPRUCE (Somatic Phylogeny Reconstruction using Combinatorial Enumeration) is an algorithm for inferring the clonal evolution of single-nucleotide and copy-number variants given multi-sample bulk tumor sequencing data.

License

Support

For support using SPRUCE, please visit the SPRUCE Google Group.

Dependencies

SPRUCE is written C++. In addition to a recent C++ compiler (that supports C++11), it has the following dependencies:

Graphviz is required to visualize the resulting DOT files, but is not required for compilation.

Compilation instructions

To compile SPRUCE, execute the following commands from the root of the repository:

mkdir build
cd build
cmake ..
make

In case CMake fails to detect LEMON, run the following command with adjusted paths:

cmake -DLIBLEMON_ROOT=~/lemon ..

The compilation results in the following files in the build directory:

EXECUTABLE DESCRIPTION
cliques Enumerates cliques of the compatibility graph (given a size and a filter)
enumerate Enumerates perfect phylogeny trees
merge Merges multiple solution files into one
rank Sorts solution trees by the fraction of common edges (solution with rank 0 is the most representative tree)
visualize Visualizes one solution or the entire solution space

For example usage see result/run_A22.sh and corresponding instructions. For a description of the input file format see data/README.md.

For instructions on how to visualize the set of enumerated trees see src/visualization/README.md.