CaTissue
From Informatics
This page provides a quick introduction to caTissue, installation notes, bugs, architecture.
Contents |
caTissue - Getting Started/Overview
http://gforge.nci.nih.gov/frs/?group_id=18
caTissue Core is an informatics system that keeps track of multiple specimens from the same participant, tracks refined materials (RNA, DNA, Protein) that are used for molecular analysis, and annotates biospecimens by accumulating experimental data, as they are successively used for clinical correlative studies. caTissue Core also helps in reducing the evolving functional complexity of the biospecimen banks in collecting, processing, storing, and distributing human specimens for correlative science cancer research.
Hardware and Software Requirements
Java Software Development Kit (JDK) version 1.5.0_04
http://java.sun.com/j2se/1.5.0/download.jsp
JBoss Container (recommended:JBoss version 4.0.0)
http://labs.jboss.com/jbossas/downloads
Jakarta Ant version 1.6.2
http://archive.apache.org/dist/ant/binaries/
MySQL database 5.0.22
http://www.mysql.com
Installation Notes
Create Database
- mysql> create database catissuecore;
- mysql> GRANT ALL PRIVILEGES ON catissuecore.* TO 'catissue_core'@'localhost' IDENTIFIED BY '<passwd>' WITH GRANT OPTION;
- mysql> GRANT ALL PRIVILEGES ON catissuecore.* TO 'catissue_core'@'%' IDENTIFIED BY '<passwd>' WITH GRANT OPTION;
Download required software packages and install (as root)
(1) downloaded JBoss 4.0.0 to /opt/downloads and unzipped it in /opt to create directory "jboss-4.0.0"
(2) > mkdir /opt/caTissue
(3) downloaded caTissue_Core_Installable_v1.2.zip to /opt/caTissue and unzipped it there
Step 1: Configure caTissueInstall.properties
[rmhonig@afdev caTissue]# cp caTissueInstall.properties caTissueInstall.properties.orig
jboss.home.dir=/opt/jboss-4.0.0 jboss.server.port=8080 database.type=mysql database.host=156.111.188.33 database.port=3306 database.name=catissuecore database.username=catissue_core database.password=<passwd> session.timeout=30 first.admin.department=C2B2_MAGNet first.admin.institution=Columbia University first.admin.cancerresearchgroup=Irving Cancer Research Center first.admin.emailAddress=mhonig@c2b2.columbia.edu first.admin.password=<passwd>
Step 2: Deploy caTissue Core
- [rmhonig@afdev opt]# export JAVA_HOME=/opt/java
- [rmhonig@afdev opt]# export ANT_HOME=/opt/ant-1.6.2
- [rmhonig@afdev caTissue]# /opt/ant-1.6.2/bin/ant -f deploy.xml deploy_all
caTissue Deployment Error
JBoss Runtime File
[root@afdev caTissue]# /opt/ant-1.6.2/bin/ant -f deploy.xml deploy_app_with_config
Buildfile: deploy.xml deploy_app_with_config: deploy_app: assert: init: [echo] Initializing installation... [unwar] Expanding: /opt/caTissue/catissuecore.war into /opt/caTissue/tempCatissuecore/catissuecore [copy] Copying 9 files to /opt/caTissue/tempCatissuecore/catissuecore-properties [copy] Copying 1 file to /opt/caTissue/tempCatissuecore [copy] Copying 1 file to /opt/caTissue/tempCatissuecore [copy] Copying 1 file to /opt/caTissue/tempCatissuecore [copy] Copying 1 file to /opt/caTissue/tempCatissuecore [copy] Copying 1 file to /opt/caTissue/tempCatissuecore configure_war: [echo] Modifying caTissueCore Configuration File... adopter_configuration: [echo] Updating Site Images [copy] Copying 1 file to /opt/caTissue/tempCatissuecore/catissuecore/images mysql_config: [echo] Modifying caTISSUECore MySQL specific Configuration File... configure_titli: [echo] mysql catissuecore build_war: [echo] Creating New Web Application Archieve File... [war] Building war: /opt/caTissue/tempCatissuecore/catissuecore.war [war] Warning: selected war files include a WEB-INF/web.xml which will be ignored (please use webxml attribute to war task) copy_files: [echo] Copying caTISSUECore Application Components... [copy] Copying 9 files to /opt/jboss-4.0.0/server/default/catissuecore-properties [copy] Copying 2 files to /opt/jboss-4.0.0/server/default/deploy [copy] Copying 1 file to /opt/jboss-4.0.0/bin send_mail: [echo] Sending mail to: [echo] Sending mail from: [mail] Sending email: caTissue Core Successfully Deployed [mail] Failed to send email [echo] [echo] Please check the Email of mhonig@c2b2.columbia.edu. [echo] If the Deployment mail is not received please check your [echo] email.administrative.emailAddress and email.sendEmailFrom.emailAddress [echo] properties in caTissueInstall.properties and Re-deploy the Application. [echo] config_jboss_files: [copy] Copying 2 files to /opt/jboss-4.0.0/server/default/conf [copy] Copying 1 file to /opt/jboss-4.0.0/server/default/deploy [delete] Deleting: /opt/jboss-4.0.0/server/default/lib/hibernate2.jar [delete] Deleting directory /opt/caTissue/tempCatissuecore BUILD SUCCESSFUL Total time: 21 seconds
Problem Resolved
I noticed in the database scripts that tables are referenced in lowercase and in uppercase. All the “create table” statements had the table in uppercase, but some “insert into” or update statements had the table in lowercase. For example:
CREATE table CATISSUE_USER … (from catissuecore.sql) INSERT INTO catissue_user … (from AlterTable.sql)
This led to errors such as:
[sql] java.sql.SQLException: Base table or view not found message from server: "Table 'catissuecore.catissue_user' doesn't exist"
Under Unix, table names are case sensitive. The deployment created all the tables in uppercase letters, but the application referenced them in lowercase format. The result was that the application returned error messages stating that the table(s) did not exist ... even though they certainly did. The solution to this problem involved setting the MySQL system variable "lower_case_table_names" to 1 in the /etc/my.cnf configuration file. MySQL converts all table names to lowercase on storage and lookup. This behavior also applies to database names and table aliases. I needed to restart the MySQL server for the change to take effect.
- Drop all the tables in the database 'catissuecore':
- Delete the existing WAR file and cache from the JBoss server of any previous builds:
# /opt/ant-1.6.2/bin/ant -f deploy.xml clean_server
- Install the application and the database.
# /opt/ant-1.6.2/bin/ant -f deploy.xml deploy_all
- Deploy the application and overwrite configuration files.
# /opt/ant-1.6.2/bin/ant -f deploy.xml deploy_app_with_config
- Restart JBoss:
# nohup ./run.sh &
- Point browser to URL to see login page:
http://afdev:8080/catissuecore