NIH | National Cancer Institute | NCI Wiki  

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Include Page
wikicontent:Included No Longer Updated Panel
wikicontent:Included No Longer Updated Panel

Page info
title
title

Include Page
Instructions for Printing
Instructions for Printing

This document provides instructions for installing caIntegrator Bioconductor.

Topics in this document include:

Table of Contents
minLevel2

Info
titleEntering Commands

Text in this document formatted as monoface bold type indicates Unix or R commands you should type, as indicated, at the command line.

Overview

caIntegrator provides the capability to perform segmentation and copy number analysis using either caDNAcopy or caCGHcall. Both of these tools are part of the Bioconductor suite and are implemented as caGrid services wrapping the R Bioconductor code. You can install one or both of these tools either on a separate server from caIntegrator or on the same server.

Warning
titleWarning

The R processing associated with caDNAcopy and/or caCGHcall can be very CPU and memory intensive.

The current installation instructions only support installation on Linux platforms. Recommended configurations are given at the bottom.

Prerequisites

The following software packages must be installed prior to beginning the instructions:

  • Ant 1.7.x
    • Ensure that ANT_HOME is defined, preferably in the user or system .profile
    • Ensure that $ANT_HOME/bin is in PATH
  • Tomcat 5.5.x
    • Instructions assume Tomcat is configured to run on port 8080. If you are using another port, substitute it into later instructions
    • Ensure that CATALINA_HOME is set
    • Tomcat may be autostarted or started as part of the Bioconductor launch script (provided later in these instructions)

Install Dependent Packages

The caIntegrator Bioconductor installation also depends on several other packages that may not be installed on your system. Summaries of these packages and directions for installing them follow.

Globus 4.0.3

Installs at /usr/local

...

/ws-core-4.0.3

...

  1. Download
  2. Unpack tar file into /usr/local/ws-core.4.0.3

...

  1. Ensure

...

  1. that

...

  1. GLOBUS_LOCATION

...

  1. is

...

  1. set

...

  1. to

...

  1. /usr/local/ws-core-4.0.3

...

Apache

...

Axis

...

1.4

...

Installs

...

files

...

into

...

$CATALINA_HOME

...

  1. Download
  2. Unpack tar file in home directory.
  3. Move axis-1_4/webapps/axis

...

  1. directory

...

  1. to

...

  1. $CATALINA_HOME/webapps.

...

  1. Stop

...

  1. and

...

  1. restart

...

  1. Tomcat

...

  1. ($CATALINA_HOME/bin/shutdown.sh;

...

  1. $CATALINA_HOME/bin/startup.sh).

...

  1. Test

...

  1. your

...

  1. Axis

...

  1. installation

...

  1. by

...

  1. visiting

...

  1. http://YOUR-HOSTNAME:8080/axis/happyaxis.jsp

...

  1. (be

...

  1. sure

...

  1. to

...

  1. substitute

...

  1. the

...

  1. name

...

  1. of

...

  1. your

...

  1. machine

...

  1. in

...

  1. the

...

  1. URL).

...

ActiveMQ 4.0.2

Installs at /usr/local/incubator-activemq-4.0.2

...

  1. Download
  2. Unpack tar file into /usr/local/incubator-activemq-4.0.2

...

  1. Ensure

...

  1. that

...

  1. JMS_HOME

...

  1. is

...

  1. set

...

  1. to

...

  1. /usr/local/incubator-activemq-4.0.2

...

  1. Edit

...

  1. file

...

  1. $JMS_HOME/conf/activemq.xml

...

    1. Change

...

    1. line

...

    1. that

...

    1. reads

...

    1. "

...

    1. <broker

...

    1. useJmx="true">

...

    1. "

...

    1. to

...

    1. "

...

    1. <broker

...

    1. useJmx="true"

...

    1. persistent="false">

...

    1. "

...

    1. Replace

...

    1. line

...

    1. that

...

    1. reads

...

    1. "

...

    1. <transportConnector

...

    1. name="default"

...

    1. uri="tcp://localhost:61616"

...

    1. discoveryUri="multicast://default"/>

...

    1. "

...

    1. with

...

    1. "

...

    1. <transportConnector

...

    1. name="default"

...

    1. uri="tcp://localhost:61616"/>

...

    1. ".

...

    1. Comment

...

    1. out

...

    1. or

...

    1. remove

...

    1. line

...

    1. that

...

    1. reads

...

    1. "

...

    1. <networkConnector

...

    1. name="default"

...

    1. uri="multicast://default"/>

...

    1. ".

...

  1. Make

...

  1. main

...

  1. binary

...

  1. executable.

...

    1. chmod 755 $JMS_HOME/bin/activemq

...

ActiveMQ can be autostarted or started as part of the Bioconductor launch script (provided later in these instructions)

R 2.9.0

...

Installs

...

at

...

/usr/local

...

/

...

R-2

...

.9.0

...

  1. Download
  2. Unpack tar file in home directory
  3. Configure, build, and install
    1. cd R-2.9.0

...

    1. ./configure

...

    1. --enable-R-shlib

...

    1. --with-readline=no

...

    1. --with-x=no

...

    1. Fix src/modules/Makefile

...

    1. as

...

    1. follows

...

    1. (fix

...

    1. is

...

    1. from

...

    1. http://tolstoy.newcastle.edu.au/R/e6/devel/09/04/1434.html

...

    1. )

...

      • 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
        titleWarning

        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.

    1. make
    2. make install prefix=/usr/local/R-2.9.0

...

Dependent R packages (RCurl,

...

SJava,

...

RWebServices,

...

RUnit,

...

DNAcopy)

...

Installs

...

files

...

into

...

$R_HOME

...

  1. $R_HOME/bin/R

...

  1. At the R prompts:
    1. source("http://www.bioconductor.org/biocLite.R")

...

    1. biocLite()

...

    1. biocLite("RCurl")

...

    1. biocLite("SJava

...

    1. ")
    2. biocLite("RWebServices")

...

    1. biocLite("RUnit")

...

    1. biocLite("DNAcopy")
    2. biocLite("

...

    1. CGHcall")
    2. q()

...

  1. Build SJava links missed by install:
    1. cd $R_HOME/lib64/R/library/SJava/libs

...

    1. ln -s

...

    1. SJava.so

...

    1. libRInterpreter.so

...

    1. ln -s

...

    1. SJava.so

...

    1. libSJava.so

...

  1. Build and test SJava/RWebServices

...

  1. installation,

...

  1. following

...

  1. these

...

  1. steps.

...

    1. $R_HOME/bin

...

    1. /R
    2. At the R prompts:
      1. library(RWebServices)

...

      1. unpackAntScript("/tmp/rservices")

...

      1. q()

...

    1. cd /tmp/rservices
    2. ant recompile-sjava
    3. ant basic-prop
      • Look for any errors.
    4. 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

Installs into R_HOME

  1. cd ~
    • This is your home directory
  2. svn checkout https://ncisvn.nci.nih.gov/

...

  1. svn/bioconductor/branches/caIntegrator
  2. cd caIntegrator/services/caDNAcopy/R

...

  1. $R_HOME/bin/R

...

  1. CMD

...

  1. INSTALL

...

  1. caDNAcopy

caDNAcopy RWebService

Installs into /usr/local/bioconductor/caDNAcopy

...

  1. cd /usr/local/bioconductor

...

  1. $R_HOME/bin/R

...


  1. At the R prompts:
    1. library(RWebServices)

...

    1. unpackAntScript("caDNAcopy

...

    1. ")
    2. q()

...

  1. Optionally,

...

  1. fix

...

  1. the

...

  1. timeout

...

  1. value

...

  1. for

...

  1. all

...

  1. R

...

  1. workers

...

  1. to

...

  1. be

...

  1. 2

...

  1. hours

...

  1. instead

...

  1. of

...

  1. 60

...

  1. seconds.

...

    1. Edit

...

    1. $R_HOME/lib64/R/library/RWebServices/scripts/RWebServicesTuning.properties.

...

    1. Change

...

    1. to:

...

    1. jms.timeout=7200000

...

    1. .
  1. cd caDNAcopy
  2. ant map-package

...

  1. -Dpkg=caDNAcopy

...

  1. ant unpack-package

...

  1. -Dpkg=caDNAcopy

...

  1. ant precompile
  2. Optionally, test RWebService, following these steps.
    1. Start up Tomcat (If Tomcat is already running, you must shut it down before using the following command): $CATALINA_HOME/bin/startup.sh

...

    1. Start up ActiveMQ: $JMS_HOME/bin/activemq

...

    1. &
    2. Start up R worker for caDNAcopy: nohup ant start-worker

...

    1. &
    2. Run the test: ant local-test

Check any failures in test/output.

...

Ignore

...

failures

...

that

...

say

...

"expected

...

79,

...

got

...

80"

...

caDNAcopy

...

Grid

...

Service

...

Installs into $CATALINA_HOME

  1. Download Bioconductor-caGrid-Services.tar.gz

...

  1. .

...

  1. Unpack

...

  1. tar

...

  1. file

...

  1. in

...

  1. home

...

  1. directory.

...

  1. Build

...

  1. and

...

  1. deploy

...

  1. caDNAcopy

...

  1. grid

...

  1. service.

...

    1. cd caGrid/CaDNAcopy

...

    1. ant -Dno.deployment.validation=true deployTomcat
  1. Prepare Tomcat for Grid applications.
    1. cd $GLOBUS_LOCATION
    2. ant -f share/globus_wsrf_common/tomcat/tomcat.xml

...

    1. deployTomcat

...

    1. -Dtomcat.dir="$CATALINA_HOME"

...

    1. cp $JMS_HOME/lib/*

...

    1. .jar

...

    1. $CATALINA_HOME/webapps/wsrf/WEB-

...

    1. INF/lib
  1. Optionally,

...

  1. fix

...

  1. the

...

  1. timeout

...

  1. value

...

  1. in

...

  1. caDNAcopy.jar

...

  1. to

...

  1. be

...

  1. 2

...

  1. hours

...

  1. instead

...

  1. of

...

  1. 60

...

  1. seconds.

...

    1. mkdir ~/unjar;

...

    1. cd

...

    1. ~/unjar

...

    1. unzip $CATALINA_HOME/webapps/wsrf/WEB-INF/lib/caDNAcopy.jar

...

    1. Edit org/bioconductor/rserviceJms/services/caDNAcopy/RWebServices4java.properties.

...

    1. Change

...

    1. to:

...

    1. jms.timeout=7200000

...

    1. zip -r

...

    1. caDNAcopy.jar

...

    1. *
    2. cd $CATALINA_HOME/webapps/wsrf/WEB-INF/lib

...

    1. cp ~/unjar/caDNAcopy.jar

...

    1. .

Install caCGHcall

This section installs the caCGHcall grid service in three pieces: base code, R web service, and caGrid service. You can skip this section if you are only using caDNAcopy.

caCGHcall Base Code

Installs into R_HOME

  1. cd ~
    • This is your home directory
  2. svn checkout [https://ncisvn.nci.nih.gov/

...

  1. svn/bioconductor/branches/caIntegrator
  2. cd caIntegrator/services/caCGHcall/R

...

  1. $R_HOME/bin/R

...

  1. CMD

...

  1. INSTALL

...

  1. caCGHcall

caCGHcall RWebService

Installs into /usr/local/bioconductor/caCGHcall

...

  1. cd /usr/local/bioconductor

...

  1. $R_HOME/bin

...

  1. /R
  2. At the R prompts:
    1. library(RWebServices)

...

    1. unpackAntScript("caCGHcall")

...

    1. q()

...

  1. Optionally,

...

  1. fix

...

  1. timeout

...

  1. value

...

  1. for

...

  1. all

...

  1. R

...

  1. workers

...

  1. to

...

  1. be

...

  1. 2

...

  1. hours

...

  1. instead

...

  1. of

...

  1. 60

...

  1. seconds.

...

    1. Edit

...

    1. $R_HOME/lib64/R/library/RWebServices/scripts/RWebServicesTuning.properties.

...

    1. Change

...

    1. to:

...

    1. jms.timeout=7200000

...

    1. .
  1. cd caCGHcall
  2. Change the queue name for caCGHcall so it does not conflict with caDNAcopy, by editing RWebServicesTuning.properties.

...

  1. Change

...

  1. to:

...

  1. jms.queue=CGHC

...

  1. .
  2. ant map-package

...

  1. -Dpkg=caCGHcall

...

  1. ant unpack-package

...

  1. -Dpkg=caCGHcall

...

  1. ant precompile
  2. Optionally, test the RWebService, following these steps.
    1. Start up Tomcat (If Tomcat is already running, you must shut it down before using the following command): $CATALINA_HOME/bin/startup.sh

...

    1. Start up ActiveMQ: $JMS_HOME/bin/activemq

...

    1. &
    2. Start up R worker for caCGHcall nohup ant start-worker

...

    1. &
    2. Run the test: ant local-test

Check any failures in test/output.

...

Ignore

...

failures

...

that

...

say

...

"expected

...

79,

...

got

...

80"

...

caCGHcall

...

Grid

...

Service

...

Installs

...

into

...

$CATALINA_HOME

...

  1. Build

...

  1. and

...

  1. deploy

...

  1. caCGHcall

...

  1. grid

...

  1. service.

...

    1. cd ~/caIntegrator/services/caCGHcall/caGrid/caCGHcall
    2. ant -Dno.deployment.validation=true deployTomcat
  1. Prepare Tomcat for Grid applications.
    1. cd $GLOBUS_LOCATION
    2. ant -f share/globus_wsrf_common/tomcat/tomcat.xml

...

    1. deployTomcat

...

    1. -Dtomcat.dir="$CATALINA_

...

    1. HOME"
    2. cp $JMS_HOME/lib/*

...

    1. .jar

...

    1. to

...

    1. $CATALINA_HOME/webapps/wsrf/WEB-INF/lib

...

Launch Bioconductor Services

This section describes how to start up all the pieces of the Bioconductor installation once they have been successfully installed. In #Optional Imporvements, you can find optional scripts that can automate the startup and shutdown of all processes.

Starting Bioconductor Services

See the Bioconductor Installation Guide page 11.

  1. Start up Tomcat (shutdown if already running)
    1. $CATALINA_HOME/bin/startup.sh

...

  1. Start up ActiveMQ
    1. $JMS_HOME/bin/activemq

...

    1. &
  1. Start up R worker for caDNAcopy (skip if only using caDNAcopy)
    1. cd /usr/local/bioconductor/caDNAcopy

...

    1. nohup ant start-worker

...

    1. &
  1. Start up R worker for caCGHcall (skip if only using caCGHcall)
    1. cd /usr/local/bioconductor/caCGHcall

...

    1. nohup ant start-worker

...

    1. &

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,

...

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

...

#Setting

...

Up

...

Common

...

Logging

...

.

...

  1. start-worker.sh

...

  1. Code Block

...

  1. #!/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\]/"
    

...

  1. start-bio.sh

...

  1. Code Block

...

  1. #!/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 &
    

...

  1. stop-bio.sh

...

  1. Code Block

...

  1. #!/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/log

...

.

...

If

...

the

...

scripts

...

in

...

#Optional

...

Improvements

...

are

...

used,

...

it

...

further

...

improves

...

logging

...

by

...

placing

...

all

...

messages

...

into

...

a

...

single

...

log

...

file,

...

/usr/local/bioconductor/logs/bioconductor-combined.log

...

.

  1. mkdir /usr/local/bioconductor/logs

...

  1. Edit /usr/local/activemq/conf/log4j.properties

...

    1. Change

...

    1. "log4j.rootLogger=INFO,

...

    1. stdout"

...

    1. to

...

    1. "log4j.rootLogger=INFO,

...

    1. out"

...

    1. Change

...

    1. "log4j.appender.out.file=$

...

    1. {activemq.home

...

    1. }/data/activemq.log"

...

    1. to

...

    1. "log4j.appender.out.file=/usr/local/bioconductor/logs/activemq.log"

...

  1. cd /usr/local/bioconductor/logs

...

  1. ln -s /usr/local/bioconductor/caDNAcopy/nohup.out ./rworker-dnacopy.log
  2. ln -s /usr/local/bioconductor/

...

  1. caCGHcall/nohup.out

...

  1. ./rworker-cghcall.log

...

  1. ln -s

...

  1. $CATALINA_HOME/logs/catalina.out

...

  1. ./tomcat.log

...

Include Page
wikicontent:Included Help Downloading Files Panel
wikicontent:Included Help Downloading Files Panel