PLEASE NOTE: these instructions are for the install of tranSMART version 1.2.4; they will be updated when version 1.2.5 is released.
Overview
These notes describe the command line tools and features that are required for tranSMART version 1.2.4. The suggestions given are based on Ubuntu 14.04 but in most cases for other systems simple analogs are available. There is a set of scripts, on GItHub, written for bash on Ubuntu, that verify these requirements; in particular, see the README.md and CheckAll.sh.
Background needs
Are the these available: the Prerequisites, Rserve, SOLR, and the configuration files?
Once you have have installed the Prerequisites and set up Rserve, SOLR, and configuration files then the following instructions produce an output indicating the existence of the base required applications; unless otherwise noted, the specific version is not important, just the fact that the command is there and responds to the 'version' option:
git --version
make --version
java -version (version JDK 7)
ant -version
mvn --version
tar --version
rsync --version
php --version (5.4 or higher)
g++ --version
gfortran --version
R --version (3.1.2)
psql --version (9.2 or higher)
groovy --version (2.1 or higher)
The following files, directories, links should be present:
~/transmart/transmart-data/vars
~/transmart/transmart-data/env/data-integration
~/transmart/transmart-data/env/tranSMART-ETL
~/transmart/transmart-data/R/root/bin
Furthermore, Rserve should be evident in the following commands (the second and third issued after R starts, indicated by that change in prompt character from $ to >)
$R
>library(Rserve)
>q(save='no')
And SOLR should be evident. Start it with:
cd ~/transmart/transmart-data
. ./vars
make -C solr start &
Then browse to the web location:
http://localhost:8983/solr/#/
You should see a clearly labeled SOLR web site; the "Core Selector" pull-down should contain: "browse", "rwg" and "sample".
Finally, the configuration files should show up as:
/usr/share/tomcat7/.grails/transmartConfig/
Config.groovy
DataSource.groovy
PostgreSQL
Can the database be accessed by the "default" tranSMART account? Is the login data present?
You should be able to start the postgres database using the postgres account and login by the following
cd ~/transmart/transmart-data
. ./vars
$PGSQL_BIN/psql postgres
(use \q to quit)
Also you should be able to verify that the transmart web application can access the data base by checking the following SQL commands (alternate prompts indicate commands in PostgreSQL). The select of username should return one row without error. If searchapp is not found then you have not loaded the database correctly. It the command to run psql (e.g. $PGSQL_BIN/psql ) fails with ".../psql command not found" or "database 'transmart' does not exist' then, see further checks below.
cd ~/transmart/transmart-data
. ./vars
$PGSQL_BIN/psql transmart
>select username from searchapp.search_auth_user where username='guest';
(use \q to quit)
If there was some problem with the psql command or the select, check the following
cd ~/transmart/transmart-data
. ./vars
echo $PGSQL_BIN
Should return sudo -E -u postgres /usr/bin .
which psql
Should return /usr/bin/psql
cd ~/transmart/transmart-data
. ./vars
$PGSQL_BIN/psql postgres
>\l transmart
(use \q to quit)
The \l command should return an entry for the transmart database (owned by postgres).
Tomcat
Tomcat will need to be running (tomcat7 is used here). The default instillation on Ubuntu will present a service that supports the following commands:
- sudo service tomcat7 status
- sudo service tomcat7 start
- sudo service tomcat7 stop
- sudo service tomcat7 restart
The status command returns text (to standard out) indicating if tomcat is running not. The start, stop, and restart commands do as they say. The restart command will stop and start tomcat; it can be used if tomcat is already stopped, in which case it will not attempt to stop tomcat cat, but will simply restart it.
Note that, as installed, Tomcat7 is not set up with enough stack memory to support tranSMART. Check that this has been fixed. On the ubuntu installation presented in the instructions, this option is inserted into the default parameter file for tomcat7 at /etc/default/tomcat7. In the case of the ubuntu install, check this setting with:
grep "JAVA_OPTS" /etc/default/tomcat7
You should see a line that looks like this, the important feature of which is the setting of -Xmx2g which indicated the maximum heap size:
JAVA_OPTS="-Djava.awt.headless=true -Xms512m -Xmx2g -XX:+UseConcMarkSweepGC"
NOTE: That this will cause a failure of Tomcat to start if the VM memory is not large enough.
War Files
Have transmart.war and gwava.war been install? Did they expand correctly? Was transmart.log generated? And does catalina.out show that transmart was started.
The following files, and dirs should exist:
cd /var/lib/tomcat7/webapps/
ls transmart.war transmart gwava.war gwava
cd /var/lib/tomcat7/logs
ls catalina.out transmart.log
Grep transmart.log for the phrase
Web Site
Is the tranSMART web application running? Can you log in? Is the example data available?
Use a browser to check that the following URL's return a page. For the transmart login pages the initial administrative login is, username=admin, password=admin.
http://localhost:8080/transmart/login/forceAuth
http://localhost:8080/transmart/datasetExplorer/index