CaTissue

From Informatics

Jump to: navigation, search

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
Personal tools