The /gbdb fileserver

Introduction

The cluster gods have provided us with a new fileserver that will hold all files referenced by genome browser tables. This is great because when there's trouble with /cluster or /projects, it won't break the browser on hgwbeta or genome. Also, mirror sites won't have to copy our /cluster and /projects hierarchies -- just the new fileserver's tree, /gbdb.

But, it does mean we have to take some additional steps when loading tables that refer to files: axtInfo, chromInfo, and extFile. We used to just load /cluster and /projects paths into those tables, but now here's what we have to do:

  1. link to the /cluster or /projects path from hgwdev's virtual /gbdb
  2. load the table, using the /gbdb path created above
  3. before requesting a push of the table to hgwbeta, request a /gbdb rsync

Step 1. Link to the /cluster or /projects path from hgwdev's virtual /gbdb

hgwdev has a /gbdb on its local disk, with symbolic links to the real locations of files in /cluster and /projects. When hgwdev's /gbdb is rsync'd to the "real" /gbdb, the links are followed and the files are copied over whole. hgwdev's /gbdb has 2 levels of real subdirectories and then links, like this:

/gbdb/$db/$dirname/$link

For example, here are some links that already exist:

Note: since hgwdev's /gbdb just has links, the files can't be removed from /cluster or /projects as long as they are used by the browser! /gbdb isolates hgwbeta and genome from /cluster and /projects, but not hgwdev.

Example:

Say some day in the future, you build the blatFugu track for mm3. The fugu sequence data file is /cluster/store3/fuguSeq/fugu_v3_mask.fasta . When creating the link from /gbdb to the real location, you would use mm3 as $db, fuguSeq as $dirname, and fugu_v3_mask.fasta as $link in the new /gbdb/$db/$dirname/$link:

mkdir -p /gbdb/mm3/fuguSeq
ln -s /cluster/store3/fuguSeq/fugu_v3_mask.fasta /gbdb/mm3/fuguSeq/
ls -l /gbdb/mm3/fuguSeq/

Step 2. Load the table, using the /gbdb path created above

You'll still use hgLoadRna, but instead of telling it the /cluster or /projects path, you tell it the /gbdb path. Continuing our example:

hgLoadRna addSeq mm3 /gbdb/mm3/fuguSeq/fugu_v3_mask.fasta

Step 3. Before requesting a push of the table to hgwbeta, request a /gbdb rsync

After testing your track and its detail pages on genome-test, and before asking for a push of mm3.extFile and chr*_blatFugu to hgwbeta, make the following email request:
 To:  push-request AT soe DOE ucsc DOT edu

 [appropriate greeting, propitiation, beer offerings etc]
 Please rsync hgwdev's /gbdb to the real /gbdb -- I added 
 /gbdb/mm3/fuguSeq/ for the blatFugu track.  

For additional examples: search for "gbdb" in kent/src/hg/makeDb/makeHg13.doc.


Questions, comments, request for help with adding items to /gbdb...
Talk to angie@soe. ucsc. edu or hiram@soe. ucsc. edu