forked from Dave-Matthews/The-Triticeae-Toolbox
-
Notifications
You must be signed in to change notification settings - Fork 0
The Triticeae Toolbox (T3). Web interface to a MySQL database of crop genotype and phenotype data from the Triticeae Coordinated Agricultural Project (T-CAP). Installation instructions are in docs/INSTALL.html
uqccha18/The-Triticeae-Toolbox
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
<body bgcolor=white><pre> <b>Requirements</b> - For any functionality at all - Unix. Ubuntu and Solaris work. - Apache - MySQL - PHP, including PEAR - php5-mysql - Spreadsheet_Excel_Writer and OLE. Can be installed with: % sudo pear install OLE-1.0.0RC2 % sudo pear install Spreadsheet_Excel_Writer-0.9.2 - PHPExcel read, write Excel including .xlsx copy source files into lib/PHPExcel/Classes - R, version at least 2.15.2 - additional packages: rrBLUP, multicore (not required for R version 3.0 or above), rpart, lme4, pheatmap, agricolae - PHPIDS web application security - Edit lib/phpids-0.7/lib/IDS/Config/Config.ini.php to specify filter_path and tmp_path - For some functions - GBrowse - pclzip.lib.php - libzzip - for ViroBLAST - DBD::CSV and XML::DOM. Can be installed with these commands: % sudo cpan DBD::CSV % sudo cpan XML::DOM - NCBI BLAST+, ftp://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/LATEST/ Edit viroblast/viroblast.ini to use the path to these executables. - BLAST databases of the markers: - Edit curator_data/format-fasta.php to specify species e.g. viroblast/db/nucleotide/oat-markers e.g. viroblast/db/nucleotide/oat-index.csv - Create a symbolic link to the BLAST databases in the viroblast directory e.g. cd viroblast/db e.g. ln -s ../../gbs_files/blast/ nucleotide <b>Setting up the MySQL databases</b> Load the schema and some initializing data from the .sql files in this docs/ directory: mysql> create database T3wheat; mysql> use T3wheat; mysql> source T3wheat_schema.sql; mysql> source T3wheat_skeleton.sql; The skeleton file T3wheat_skeleton.sql loads some initializing data in several housekeeping tables. You will want to modify some of these values for your installation, especially in table 'settings'. Grant read-permission (only) to a user such as "publicuser". mysql> grant select on T3wheat.* to publicuser@localhost identified by '<password>'; mysql> grant execute on T3wheat.* to publicuser@localhost; mysql> grant update, insert, delete on T3wheat.session_variables to publicuser@localhost; To help prevent table T3wheat.users from being read by hackers, revoke the SELECT permission on that table by running the script publicuser.php in this docs/ directory. If you add more tables to the database later, you will have to grant SELECT on them individually. Grant write permission to another user such as "curator": mysql> grant all on T3wheat.* to curator@localhost identified by '<password>'; If you have more than one instance of T3 on the same host machine, add an entry to table 'settings' with name = "database", value = "<unique name>". The code checks this entry to prevent transfer of session variables (cookies) between instances. This is important because the session variables include the user's login status and privileges, which otherwise can be transferred simply by opening a new tab in the browser. If using GBrowse, create the GBrowse database "gtht" and grant permissions: mysql> create database gtht; mysql> grant select on gtht.* to publicuser@localhost; <b>Database connection scripts</b> For security, the password information to connect to the MySQL database is not stored within the T3 source code repository or even within the Apache directory. For example ours is in /data/tht_data/mysql_connections/. The file permissions need only allow read access for the Apache user, e.g. www-data: -r-------- 1 www-data www-data 196 2011-01-31 11:56 T3wheat_readonly.inc -r-------- 1 www-data www-data 141 2011-01-31 11:56 T3wheat_writeaccess.inc Create these files with the contents shown below, and edit your files includes/bootstrap.inc and includes/bootstrap_curator.inc to point to the correct pathname for your system. T3wheat_readonly.inc: <?php $db_config = array('db_name' => 'T3wheat', 'db_user' => 'publicuser', 'db_pass' => '<password>', 'db_host' => 'localhost'); ?> T3wheat_writeaccess.inc: <?php $db_config = array('db_name' => 'T3wheat', 'db_user' => 'curator', 'db_pass' => '<password>', 'db_host' => 'localhost'); ?> <b>command line scripts</b> Some pages use "materialized view" tables of allele data rather than the source table 'alleles' itself. These tables are normally updated after importing new data. If database data is deleted then the materialized view tables can be updated using scripts in the scripts\ directory. For GBS import files with over 100K markers it is necessary to use command line scripts to format and import the data. The scripts for doing these imports are located in the scripts/ directory. <b>Directories for uploaded and output files</b> Uploaded data files are stored in the curator_data/uploads/ directory, which must be writable by the Apache user, e.g. www-data. % cd curator_data % mkdir uploads % sudo chown www-data uploads Likewise, certain raw data files that are not parsed into the database are archived in the "raw/" directory, so this must be writable by the Apache user too. In the Git distribution, "raw/" is a symbolic link to a directory outside the repository, with the writable permission. All output and temporary files are stored in directory /tmp/tht/, where write-access for the scripts isn't a problem and they're all in one place to be purged daily or hourly with a cron() job. In order for this to work there must be a symbolic link from somewhere in the webserver's documents directory to /tmp/tht. For example if your T3 repositories are in a subdirectory "t3" of the webserver's top directory "/www/htdocs", this would make the link: % cd /www/htdocs/t3; mkdir tmp; ln -s /tmp/tht tmp/tht <b>ViroBLAST</b> The built-in BLAST interface, ViroBLAST, is not included in the GitHub repository but is <a href="http://c4c.uwc4c.com/express_license_technologies/viroblast">available</a> for academic and nonprofit use at no charge. It should be installed in directory 'viroblast/' at the top level of the T3 distribution. If you have installed ViroBLAST, the sequences of the markers will be maintained in a BLAST database in the directory 'viroblast/db/nucleotide/'. This directory must be writable by Apache user. <b>PHP configuration</b> Some helpful modifications for the php.ini file, such as /etc/php5/apache2/php.ini: max_input_time = 600 memory_limit = 512M post_max_size = 100M upload_max_filesize = 100M error_log = /var/log/php-scripts.log For logging from PHP, set the owner of the log file to the Apache user, e.g. www-data # touch /var/log/php-scripts.log # chown www-data /var/log/php-scripts.log Then restart the Apache server to read the new php.ini configuration. <b>GBrowse</b> Installing GBrowse should have created a gbrowse.conf/ directory in the Apache configuration directory, e.g. in /etc/apache2/. Edit the tht.conf file in the repository's gbrowse-generated/ directory to replace "<password>" with the publicuser password you assigned for the gtht database above, and move tht.conf to the gbrowse.conf/ directory. Add the following stanza to your Apache configuration file, e.g. /etc/apache2/sites-available/default, and restart Apache. Alias /perl/ "/cgi-bin/" <Location /perl/> SetHandler perl-script PerlResponseHandler ModPerl::Registry PerlOptions +ParseHeaders Options +ExecCGI Order allow,deny Allow from all </Location>
About
The Triticeae Toolbox (T3). Web interface to a MySQL database of crop genotype and phenotype data from the Triticeae Coordinated Agricultural Project (T-CAP). Installation instructions are in docs/INSTALL.html
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published
Languages
- PHP 78.8%
- HTML 16.0%
- JavaScript 4.4%
- R 0.4%
- CSS 0.3%
- Batchfile 0.1%