CONTENTS AND COPYRIGHT This directory contains the entire source tree for the UCSC Genome Bioinformatics Group's suite of biological analysis and web display programs as well as some of Jim Kent's own tools. All files are copyrighted, but license is hereby granted for personal, academic, and non-profit use. Please see the LICENSE file in the current directory for more details. Note that this LICENSE file may be overridden by LICENSE files in other subdirectories. In particular the LICENSE file in the lib, inc, utils, and several other subdirectories allows for free commercial use as well. Commercial users should contact http://www.kentinformatics.com/ for access to other modules. Commercial users interested in the UCSC Genome Browser in particular please see http://genome.ucsc.edu/license/. https://genome-store.ucsc.edu/ If you want to run a local installation of the UCSC Genome Browser (we call this a mirror, even when it includes only a small part of the data), you do not need the whole source tree. We provide statically compiled binary CGI-bin executables, the apache htdocs folder, binary MySQL databases and ancillary large data files in /gbdb via an Rsync download server. For install details see http://genome.ucsc.edu/admin/mirror.html The pre-compiled user application binaries may function on your system without this build procedure. For example to obtain the linux.x86_64 binaries: rsync -azvP rsync://hgdownload.soe.ucsc.edu/genome/admin/exe/linux.x86_64/ ./ Mac OSX binaries available via: rsync -azvP rsync://hgdownload.soe.ucsc.edu/genome/admin/exe/macOSX.x86_64/ ./ Most source code users will only be interested in the kent/src/inc and kent/src/lib directories, which contain the interfaces and implementations to the library routines, and in a few specific applications. The applications are scattered in other directories. Many of them are web based. The UCSC Genome Browser in particular is mostly found in kent/src/hg/hgTracks. The current version number is stored in src/hg/inc/versionInfo.h . The current version of a running genome browser is displayed in the html tag <TITLE> by the hgTracks program, e.g. http://genome.ucsc.edu/cgi-bin/hgTracks, in modern internet browsers, hover over a tab to show it. GENERAL INSTALL INSTRUCTIONS SEE ALSO: http://hgdownload.soe.ucsc.edu/downloads.html#source_downloads https://genome-store.ucsc.edu/ 1. Get the code. The best way to do this now for Unix users is via Git following the instructions at: http://genome.ucsc.edu/admin/git.html Or, fetch the entire source in a single file: rsync -azvP rsync://hgdownload.soe.ucsc.edu/genome/admin/jksrc.zip ./ or: wget --timestamping http://hgdownload.soe.ucsc.edu/admin/jksrc.zip The unzip result from that file will establish a directory hierarchy: ./kent/... Note further documentation for the build process in your unpacked source tree in kent/src/product/README.* Especially note README.building.source and the "Known problems" for typical situations you may encounter. 2. Check that the environment variable MACHTYPE exists on your system. It should exist on Unix/Linux. (And making this on non-Unix systems is beyond the scope of this README). The default MACHTYPE is often a long string: "i386-redhat-linux-gnu" which will not function correctly in this build environment. It needs to be something simple such as one of: i386 i686 sparc alpha x86_64 ppc etc ... with no other alpha characters such as: - To determine what your system reports itself as, try the uname options: 'uname -m' or 'uname -p' or 'uname -a' on your command line. If necessary set this environment variable. Do this under the bash shell as so: export MACHTYPE=something or under tcsh as so: setenv MACHTYPE something and place this setting in your home directory .bashrc or .tcshrc environment files so it will be set properly the next time you login. Remember to "export" it as show here for the bash shell. 3. Make the directory ~/bin/$MACHTYPE which is where the (non-web) executables will go. Add this directory to your path to access the built binaries. 4. Go to the kent/src/lib directory. 5. Type make. The build expects to use the GNU gcc compiler. 6. Go to kent/src/jkOwnLib and type make. 7. Go to kent/src/htslib and type make. 8. Go to the application you want to build and type make. (If you're not sure, as a simple test go to kent/src/utils/fixcr and type make, then 'rehash' if necessary so your shell can find the fixcr program in ~/bin/$(MACHTYPE). The fixcr program changes Microsoft style <CR><LF> line terminations to Unix style <LF> terminations. Look at the "gotCr.c" file in the fixCr directory, and then do a "fixcr gotCr.c" on it. INSTALL INSTRUCTIONS FOR BLAT 1. Follow the general install instructions above. 3. Execute make in each of the following directories: kent/src/gfServer kent/src/gfClient kent/src/blat kent/src/utils/faToNib INSTALL INSTRUCTIONS FOR CODE USING THE BROWSER DATABASE (and other code in the kent/src/hg subdirectory) SEE ALSO: http://hgdownload.soe.ucsc.edu/downloads.html#source_downloads https://genome-store.ucsc.edu/ 1. Follow the general install instructions above. 2. Make the environment variable MYSQLINC point to where MySQL's include files are. (On my system they are at /usr/include/mysql.) While you're at it set the MYSQLLIBS variable to point to something like /usr/lib/mysql/libmysqlclient.a -lz When available, the commands: mysql_config --include and mysql_config --libs will display the required arguments for these environment settings. 3. Execute make in kent/src/hg/lib 4. Execute make in the directory containing the application you wish to build. 5. See also: http://hgdownload.soe.ucsc.edu/downloads.html#source_downloads and more documentation about setting up a working browser: Overview https://genome.ucsc.edu/goldenPath/help/mirror.html Manual installation https://genome.ucsc.edu/goldenPath/help/mirrorManual.html TrackDb documentation https://genome.ucsc.edu/goldenPath/help/trackDb/trackDbHub.html Rare TrackDb statements kent/src/hg/makeDb/trackDb/README There are numerous README files in the source tree describing functions or modules in that area of the source tree. The kent/src/README in particular should be read by anyone modifying the C source code.