Page History
...
- Download
- Unpack tar file in home directory
- Configure, build, and install
cd R-2.9.0
./configure --enable-R-shlib --with-readline=no --with-x=no
- Fix src/modules/Makefile as follows (fix is from http://tolstoy.newcastle.edu.au/R/e6/devel/09/04/1434.html)
- Change lines that read:
Code Block for d in "$(R_MODULES)"; do \ (cd $${d} && $(MAKE) $@) || exit 1; \ done
- To read:
Code Block @if test "$(R_MODULES)" != ""; then \ for d in "$(R_MODULES)"; do \ (cd $${d} && $(MAKE) $@) || exit 1; \ done; \ fi
Warning title Warning Be very careful of tabs in the lines, one tab to start each line, indent beyond that with spaces. Be careful to have no spaces at the end of the lines too. Use rest of Makefile as an example.
- Change lines that read:
make
make install prefix=/usr/local/R-2.9.0
Dependent R packages (RCurl, SJava, RWebServices, RUnit, DNAcopy)
Installs files into $R_HOME
$R_HOME/bin/R
- At the R prompts:
source("http://www.bioconductor.org/biocLite.R")
- {{*biocLite()
##biocLite("RCurl")
##biocLite("SJava")
##biocLite("RWebServices")
##biocLite("RUnit")
##biocLite("DNAcopy")
##q()
# Build SJava links missed by install:
##cd $R_HOME/lib64/R/library/SJava/libs
##ln -s SJava.so libRInterpreter.so
##ln -s SJava.so libSJava.so
# Build and test SJava/RWebServices installation (as per Bioconductor Installation Guide page 10)Link is https://gforge.nci.nih.gov/docman/view.php/175/20293/Installation_Guide.doc*}}
## $R_HOME/bin/
- R#* At the R prompts:
- #*
{}library(RWebServices)#* unpackAntScript("/tmp/rservices")#*
{{q()
cd /tmp/rservices
ant recompile-sjava
ant basic-prop
#** Look for any errors)ant rservices-test
#** This step is optional
Install caDNAcopy
This section installs the caDNAcopy grid in three pieces: base code, R web service, and caGrid service. You may skip this section if you are only using caCGHcall.
caDNAcopy Base Code
I'm unclear about whether each of these are steps. If so they should be numbered, if not, perhaps they should stay bulleted.
Chris: Yes, these are all steps. Anything that I make red is a Unix or R command that the user needs to type at the command line. You were going to make them all monoface bold italic I think.
Installs into R_HOME
Installs into R_HOME
- {{*cd ~ (your home directory)*}}
# {{* - cd ~ (your home directory)
- svn checkout http://gforge.nci.nih.gov/svnroot/bioconductor*}}
#cd bioconductor/trunk/services/caDNAcopy/R
#$R_HOME/bin/R CMD INSTALL caDNAcopy
h3. caDNAcopy RWebService
...
Installs into /usr/local/bioconductor/caDNAcopy
*cd /usr/local/bioconductor
*$R_HOME/bin/R
* At the R prompts:
##library(RWebServices)
##unpackAntScript("caDNAcopy")
## {{*q()
- Optionally, fix timeout value for all R workers to be 2 hours instead of 60 seconds
- Edit $R_HOME/lib64/R/library/RWebServices/scripts/RWebServicesTuning.properties
- Change to: jms.timeout=7200000
- Edit $R_HOME/lib64/R/library/RWebServices/scripts/RWebServicesTuning.properties
cd caDNAcopy
ant map-package -Dpkg=caDNAcopy
ant unpack-package -Dpkg=caDNAcopy
ant precompile
- Optionally, test RWebService (as per Bioconductor Installation Guide page 11)Link is https://gforge.nci.nih.gov/docman/view.php/175/20293/Installation_Guide.doc:
- Start up Tomcat (shutdown if already running)
$CATALINA_HOME/bin/startup.sh
- Start up ActiveMQ
$JMS_HOME/bin/activemq &
- Start up R worker for caDNAcopy
nohup ant start-worker &
- Run the test
ant local-test
- Start up Tomcat (shutdown if already running)
Check any failures in test/output. Ignore failures that say "expected 79, got 80"
...
- Download Bioconductor-caGrid-Services.tar.gz from https://gforge.nci.nih.gov/docman/view.php/175/19977/Bioconductor-caGrid-Services.tar.gz
- Unpack tar file in home directory
- Build and deploy caDNAcopy grid service
cd caGrid/CaDNAcopy
ant deployTomcat
- Prepare Tomcat for Grid applications
- #*
cd $GLOBUS_LOCATION
- #*
ant -f share/globus_wsrf_common/tomcat/tomcat.xml deployTomcat -Dtomcat.dir="$CATALINA_HOME"
#*cp $JMS_HOME/lib/
*.jar $CATALINA_HOME/webapps/wsrf/WEB-INF/lib*
- Optionally, fix timeout value in caDNAcopy.jar to be 2 hours instead of 60 seconds
mkdir ~/unjar; cd ~/unjar
unzip /usr/local/tomcat-5.5.27-8080/webapps/wsrf/WEB-INF/lib/caDNAcopy.jar
- Edit org/bioconductor/rserviceJms/services/caDNAcopy/RWebServices4java.properties
- Change to: jms.timeout=7200000
*zip -r caDNAcopy.jar **
- {
cd /usr/local/tomcat-5.5.27-8080/webapps/wsrf/WEB-INF/lib
cp ~/unjar/caDNAcopy.jar .
Install caCGHcall
This section installs the caCGHcall grid service in three pieces: base code, R web service, and caGrid service. You may skip this section if you are only using caDNAcopy.
caCGHcall Base Code
Installs into R_HOME
- {{*cd ~ (your home directory)*}}
# {{*svn checkout http://gforge.nci.nih.gov/svnroot/bioconductor*}}
#cd bioconductor/branches/caIntegrator/services/caCGHcall/R
#$R_HOME/bin/R CMD INSTALL caCGHcall
h3. caCGHcall RWebService
...
Installs into /usr/local/bioconductor/caCGHcall
#cd /usr/local/bioconductor
#$R_HOME/bin/R
# At the R prompts:
##library(RWebServices)
##unpackAntScript("caCGHcall")
## {{*q()- Optionally, fix timeout value for all R workers to be 2 hours instead of 60 seconds
- Edit $R_HOME/lib64/R/library/RWebServices/scripts/RWebServicesTuning.properties
- Change to: jms.timeout=7200000
- Edit $R_HOME/lib64/R/library/RWebServices/scripts/RWebServicesTuning.properties
cd caCGHcall
- Change the queue name for caCGHcall to not conflict with caDNAcopy:
- Edit RWebServicesTuning.properties
- Change to: jms.queue=CGHC
- Edit RWebServicesTuning.properties
ant map-package -Dpkg=caCGHcall
ant unpack-package -Dpkg=caCGHcall
ant precompile
- Optionally, test RWebService (as per Bioconductor Installation Guide page 11):
- Start up Tomcat (shutdown if already running)
$CATALINA_HOME/bin/startup.sh
- Start up ActiveMQ
$JMS_HOME/bin/activemq &
- Start up R worker for caCGHcall
nohup ant start-worker &
- Run the test
ant local-test
- Start up Tomcat (shutdown if already running)
Check any failures in test/output. Ignore failures that say "expected 79, got 80"
...
- Build and deploy caCGHcall grid service
cd /usr/local/bioconductor/caCGHcall
ant deployTomcat
- Prepare Tomcat for Grid applications
cd $GLOBUS_LOCATION
ant -f share/globus_wsrf_common/tomcat/tomcat.xml deployTomcat -Dtomcat.dir="$CATALINA_HOME"
cp $JMS_HOME/lib/
*.jar to $CATALINA_HOME/webapps/wsrf/WEB-INF/lib*
Launch Bioconductor Services
...
- Start up Tomcat (shutdown if already running)
$CATALINA_HOME/bin/startup.sh
- Start up ActiveMQ
$JMS_HOME/bin/activemq &
- Start up R worker for caDNAcopy (skip if only using caDNAcopy)
cd /usr/local/bioconductor/caDNAcopy
nohup ant start-worker &
- Start up R worker for caCGHcall (skip if only using caCGHcall)
cd /usr/local/bioconductor/caCGHcall
nohup ant start-worker &
Optional Improvements
Scripts to startup/shutdown Bioconductor
These shell scripts can be used to automate the launch of Bioconductor. If these are used to automatically start the Bioconductor services at system startup, please ensure that all environment variables (as listed in sections above) are already defined. All three scripts should be placed in the same directory and must be set to be executable (chmod a+x). Also note that these scripts are intended to be used with the common logging setup that is described in the section following this one.
- start-worker.sh
Code Block #!/bin/bash # WORKERTYPE=$1 WORKERID=$2 # Run worker echo "Starting $WORKERTYPE worker ($WORKERID)..." cd /usr/local/bioconductor/$WORKERTYPE ant start-worker | sed -u "s/\[java\]/\[$WORKERTYPE $WORKERID\]/"
- start-bio.sh
Code Block #!/bin/bash # LOGFILE=/usr/local/bioconductor/logs/bioconductor-combined.log THISDIR=`dirname $0` # Run Tomcat echo Starting Tomcat... $CATALINA_HOME/bin/startup.sh # Run ActiveMQ echo Starting ActiveMQ... $JMS_HOME/bin/activemq start & sleep 10 # Run caDNAcopy workers nohup $THISDIR/start-worker.sh caDNAcopy 1 >> $LOGFILE & nohup $THISDIR/start-worker.sh caDNAcopy 2 >> $LOGFILE & # Run caCGHcall workers nohup $THISDIR/start-worker.sh caCGHcall 1 >> $LOGFILE & nohup $THISDIR/start-worker.sh caCGHcall 2 >> $LOGFILE &
- stop-bio.sh
Code Block #!/bin/bash # # Stop ActiveMQ $JMS_HOME/bin/activemq stop & # Stop Tomcat $CATALINA_HOME/bin/shutdown.sh # Stop caDNAcopy/caCGHcall workers ### They stop themselves when ActiveMQ shuts down
Setting up common logging
One disadvantage to having multiple separate processes for Bioconductor is that each process creates a separate log file by default. By using the following steps, the log files for Tomcat, ActiveMQ, and caDNAcopy/caCGHcall are placed into a single directory (/usr/local/bioconductor/logs). If the scripts in the above section are used, it further improves logging by placing all messages into a single log file (/usr/local/bioconductor/logs/bioconductor-combined.log).
mkdir /usr/local/bioconductor/logs
- Edit /usr/local/activemq/conf/log4j.properties
- Change "log4j.rootLogger=INFO, stdout" to "log4j.rootLogger=INFO, out"
- Change "log4j.appender.out.file=${activemq.home}/data/activemq.log" to "log4j.appender.out.file=/usr/local/bioconductor/logs/activemq.log"
cd /usr/local/bioconductor/logs
ln -s /usr/local/bioconductor/caDNAcopy/nohup.out ./rworker.log
ln -s $CATALINA_HOME/logs/catalina.out ./tomcat.log