Using custom track database: Difference between revisions
Line 39: | Line 39: | ||
customTracks.password=ctdbpasswd | customTracks.password=ctdbpasswd | ||
customTracks.useAll=yes | customTracks.useAll=yes | ||
</pre> | |||
Establish this user account and password in MySQL with db and user privileges: | |||
<pre> | |||
Select, Insert, Update, Delete, Create, Drop, Alter | |||
for example with your MySQL root user account: | |||
hgsql -hctdbhost -uroot -p -e "GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER" | |||
on customTrash TO ctdbuser@yourWebHost IDENTIFIED by 'ctdbpasswd';" mysql | |||
</pre> | </pre> | ||
Line 47: | Line 55: | ||
</pre> | </pre> | ||
The default for this is <em>/data/tmp</em> | The default for this is <em>/data/tmp</em> and should be created with read/write/delete access for the Apache server effective user. |
Revision as of 19:42, 2 March 2007
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
Establish this user account and password in MySQL with db and user privileges:
Select, Insert, Update, Delete, Create, Drop, Alter for example with your MySQL root user account: hgsql -hctdbhost -uroot -p -e "GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER" on customTrash TO ctdbuser@yourWebHost IDENTIFIED by 'ctdbpasswd';" mysql
Optionally, a temporary read-write directory used during database loading can be specified:
customTracks.tmpdir=/data/tmp
The default for this is /data/tmp and should be created with read/write/delete access for the Apache server effective user.