Using custom track database
Using the Custom Track Database
A new feature of the genome browser as of March 2007 is the ability to use a data base for custom tracks. Up to this date, custom track data has been kept in files in the /trash/ct/ directory. This article discusses the steps required to enable this function.
Summary configuration
- database loader binaries hgLoadBed, hgLoadWiggle and wigEncode are installed in /cgi-bin/loader/ - these are installed via the normal 'make cgi' in the source tree kent/src/hg/ directory.
- an empty customTrash database has been created on the MySQL host - create this manually once, the MySQL host name is a configuration item, the database name is not a configuration item
- temporary read-write data directory /data/tmp has been created with read/write/delete enabled for the Apache server effective user, this directory name is a configuration item
- configuration items are specified in /cgi-bin/hg.conf/ - this will turn on the function
- for command line access to the database, create a special ~/.hg.ct.conf to be used with the environment variable HGDB_CONF
- create a cron job to run a cleaner script to expire and remove older tables from the database - dbTrash command is used for this purpose
Host and database name
For performance and security considerations, the MySQL host for the custom track database can be a separate machine from the ordinary MySQL host that usually serves up the assembly databases or the hgcentral database. It is not required that the custom track database be on a separate MySQL server. The specification of the host machine is placed in the /cgi-bin/hg.conf file, for example a host machine called "ctdbhost":
customTracks.host=ctdbHost
The database name used on this host is fixed at customTrash which is a define in the source tree file hg/inc/customTrack.h
/cgi-bin/hg.conf configuration items
The following items must be specified in /cgi-bin/hg.conf to enable this function:
customTracks.host=ctdbhost customTracks.user=ctdbuser customTracks.password=ctdbpasswd customTracks.useAll=yes
Optionally, a temporary read-write directory used during database loading can be specified:
customTracks.tmpdir=/data/tmp
The default for this is /data/tmp