|Note: This page's content only applies to the SHARCNET's legacy systems; it does not apply to Graham.|
The "UCSC Kent Utilities" is a collection of utilities for performing genomics and related work that was used to build the web based UCSC Genome Browser.
One may obtain the source code in a zipped file from http://hgdownload.cse.ucsc.edu/admin/jksrc.zip (it is quite large, almost 100MB).
The main README is found in kent/src/README , after unpacking the zipped file. In particular, it indicates each program, either command line, or web CGI based, has its source in a different subdirectory. Some tools require compiling the parent directory's libraries before they can be built.
Building the essential support libraries and setting up the installation
Before building any of the utilities one has to first build the supporting libraries. You only have to do this once and then you may build each utility as you need them.
First, define variables that will be used to create installation locations and to point out where mysql support files are on the system (note that the following are for orca Sep 4 2013 and may have changed; run mysql_config --include and mysql_config --libs to see the suggested values for the mysql in your current path):
ssh orca export MACHTYPE export MYSQLINC=/usr/include/mysql export MYSQLLIBS='/usr/lib64/mysql/libmysqlclient.so -lz'
We have to create a directory where the final programs will be placed (it is expected to be in this format):
Now we will download and unpack the source, and enter into the root directory:
cd /work/$USER/ wget http://hgdownload.cse.ucsc.edu/admin/jksrc.zip unzip jksrc.zip cd kent/
Now we will build the supporting libraries:
cd src/lib mkdir $MACHTYPE make cd ../jkOwnLib/ make
At this point one may proceed to build the utilities.
Building utilities from /util
This is straightforward. For example, to build faSplit:
cd ../utils/faSplit/ make
You can see that it is placed in the ~/bin/$MACHTYPE directory:
file /home/$USER/bin/x86_64-redhat-linux-gnu/faSplit /home/$USER/bin/x86_64-redhat-linux-gnu/faSplit: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, not stripped
(If you cannot find the binary files in ~/bin/$MACHTYPE , the files might have been installed in /home/$USER/bin/x86_64)
Building utilities from /hg
To build these utilities, one must first compile the code in /hg;
cd ../../hg make
(Ignore multiple error messages like "mv: cannot move `hgTracks' to `/usr/local/apache/cgi-bin-user/hgTracks': No such file or directory".)
One may now build any of the utilities found in subdirectories (or their sub-subdirectories!, eg. hg/mouseStuff/netChainSubset ), for example, to build liftUp:
cd liftUp make
You should now see that liftUp is placed in the ~/bin/$MACHTYPE directory.
Making utilities available on your command line path
To use the utility you have to reference the full path, or add the following to your ~/.bashrc so that it persists in all new login shells: