PRICE Documentation: Installation

Back to PRICE Documentation main page

Basic Installation

PRICE is available from the DeRisi Lab website at UCSF (derisilab.ucsf.edu). The .tar.gz sourcecode file includes all of the source code necessary to compile PRICE. The makefile will generate a binary called PriceTI. This is the command-line interface implementation. It uses the gcc compiler and uses all STL components, with the exception of OpenMP, which is used for threading. OpenMP must be pre-installed, though it is currently supported by many C++ compilers including gcc.

The following command will compile PRICE:
make

This will create the command-line (i.e. Text-Interface) version of PRICE as a locally-executable binary. This install will not find your path and place the executable there, you will need to do that if you want to be able to execute PRICE from anywhere in your system. The binary PriceTI has no external dependencies, so it can be copied directly to other machines with similar architectures.

Re-compiling PRICE using updated source code will not create any conflicts if performed in a separate directory. When re-compiling using either downloaded updates or your own modifications to the source code in the same directory, you should first use the -clean tag to erase an re-compile all compilation units:
make clean

Troubleshooting

You are having trouble with "make" and are using a Mac.
You probably need to install the Xcode developer tools that came on a disc with your computer but were not pre-installed. It is probably on the "Applications Install DVD".

You are having trouble with OpenMP or with its required compiler flags being recognized.
While OpenMP is probably supported by your compiler, it is not necessarily. Also, even if it is, the compiler flags for using OpenMP can also change with the compiler. The provided makefile may be using the incorrect flag for your system. For more information on OpenMP and its installation, see openmp.org/wp/. The OpenMP tutorial provided by Lawrence Livermore National Laboratory is especially helpful, including for more specific information about compiler flags.