Giter Site home page Giter Site logo

spruce's Introduction

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.

spruce's People

Contributors

melkebir avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

spruce's Issues

Documentation of command line parameters

I'm interested in running SPRUCE but I'm having difficulties understanding the command line params. I got stuck at the first step already, when running cliques.

$ ./build/cliques --help
Usage:
  ./build/cliques [--help|-h|-help]
     [--version] [-f str] [-l int] [-s int] [-v int] input
Where:
  input
     Input file
  --help|-h|-help
     Print a short help message
  --version
     Show version number
  -f str
     Filter (default : "")
  -l int
     Clique limit (default : -1 (unlimited))
  -s int
     Maximal clique size (default: -1 (maximum))
  -v int
     Verbosity level (default: 1)

What does the -f parameter actually do?

Is there any user manual that I may have overlooked?

Any help is highly appreciated.
Thanks,
Harry

executing spruce

Hello,
I am trying to use spruce for one of our heterogeneity projects and am running into difficulty figuring out how to set up the input data sets. I am working with exome data (relatively high depth > 150x in all samples). I am not sure how to go about determining the lower and upper bounds on the vaf and the mu values for my data. Unfortunately, I only have access to the RECOMB paper and this does not seem to mention anything with regard to VAF and copy number states. Any help is much appreciated.

Thanks
Arun

crash running example

When I run the following command line from the example run_A22.sh:

cliques -s 26 -f 70,1 ../../data/real/A22.tsv

There is a crash at compatibilitygraph.cpp:113 because _cliques.size() is 0.

Problem in running SPRUCE

when I am running a command ./run_sims.sh it gives me error
Running sims_r15_m5_n5_c1000...
./run_sims.sh: line 39: ../../build//enumerate: No such file or directory
./run_sims.sh: line 40: ../../build//rank: No such file or directory
Running sims_r15_m5_n5_c10000...
./run_sims.sh: line 39: ../../build//enumerate: No such file or directory
./run_sims.sh: line 40: ../../build//rank: No such file or directory
.
.
Traceback (most recent call last):
File "../process_noisy.py", line 65, in
concordance = float(string.split()[0])
ValueError: could not convert string to float: ./run_sims.sh:

Improved Documentation About Input Files

Like #1 I also can't understand how to create the input files. Let's assume that I've downloaded a few VCFs of TCGA Cancer Samples from Genomic Data Commons. How can I easily analyse them with Spruce? The user experience is an important factor in how popular a method becomes and how often it will be cited. Spruce could improve.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.