This archive should contain everything you need
to make a BLAT server.

There are seven directories:
   lib - Library routines.  
   inc - Interface to library routines
   hg/lib - Human genome project specific library
   hg/inc - Human genome project specific interfaces
   gfServer - Source to 'server' that sits in about
              a gigabyte of memory listening to a port
	      for queries.  GF = Genomic Finder.
   gfClient - Source to a client that operates in text
              mode from the command line.
   hg/hgBlat - Source to a client that operates on the
               Web and links to UCSC browser.

To get things going read how to get the code to compile
in the general purpose README, following the general
install and then the BLAT install instructions.
Then ftp over to genome-ftp.cse.ucsc.edu, go to
goldenPath/07oct2000/bigZips, and download chromNib.tar.Z.
This contains the Oct 7th assembly in a format that
puts two bases per byte, and is randomly accessible.
Log onto the machine that you want to become the server.
Create a directory where you want this to go, go
into this directory, and gtar -Zxf chromNib.tar.Z.
Then do:
    gfServer
to review the gfServer command line options and
    gfServer start hostName 17777 *.nib &
The gfServer will take about 10 minutes to index
the files (first counting 12-mers, then actually
indexing).  For 'hostName' you want to fill in the host
name of the server on your side.  For us it's 
kks00.cse.ucsc.edu.  You don't have to use the
port 17777 - that's the one we use though.

After the server says it's ready for queries
you can test it a little.  A quick test is:
    gfServer files hostName 17777 
which should just print a list of all the .nib files
and the DNA sizes.  You can do further testing
with an .fa file, including the ones that
are part of the gfServer directory.

The gfClient will produce a file in the '.psl'
format we use for alignments.  I think for
'industrial' use I'd want to change the client
and the server so that they didn't have to
set up a new connection for each query.
I really built this for the web where this
overhead doesn't matter, but it would add
up if you were trying to process a million
reads or ESTs with gfClient.  Not that
you *do* need to have the nib files in a
directory that is accessible from the client
as well as the server.

hgBlat is currently hard wired to query
kks00.cse.ucsc.edu.  Please change this
to your local server once things are up
if you are mirroring the web site.  

Thanks much for your interest, and best
of luck with it.  Let me know how it 
goes.
	-Jim Kent  March 12, 2001



