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:
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:
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".
More problems with Mac OS X.
Due to a bug in the openmp library in the MacOS X, PRICE may cause a segmentation fault when run with greater than a single thread. To use more than a single thread, it is necessary to compile PRICE with an updated version of GCC for MacOS X.
GCC 4.7 binaries for MacOS X 10.6 and higher can be obtained from: http://hpc.sourceforge.net
Or downloaded directly from: http://prdownloads.sourceforge.net/hpc/gcc-4.7-bin.tar.gz?download
After downloading, open the terminal, and change to the appropriate directory. Type:
sudo tar -xvf gcc-4.7-bin.tar -C /
Put the install directory temporarily into your path:
Then navigate to the PRICE directory, and type "make" PRICE should compile normally and run with greater than a single thread.
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.