Skip to content

Setup instructions

Nate Sookwongse edited this page Aug 25, 2017 · 34 revisions

Setting up MetProt locally

Step-by-step instructions

Assumptions

  1. You are using IntelliJ or another similar IDE.
  2. You have forked a copy of the project locally.
  3. You have access to a command line terminal (Windows PowerShell is OK, but instructions will assume bash)
  4. You do not have R or Rserve. If you do, skip the appropriate steps.
  5. You have a /ssd2/metaprot folder on your filesystem with appropriate permissions for read and write.
  6. You have Maven installed and executable in your PATH.

Steps:

  1. Create/modify an application.properties file at src/main/resources/application.properties. Fields must include at least:
server.port=...

aws.access.key=...
aws.secret.access.key=...
aws.s3.bucketName=...
aws.dynamo.endpoint=...

task.scheduler.rserve.ports=...
app.r.script.location=@r-script-location@
  1. At this point you should be able to run the Metaprot application from your IDE; as a test, head over to localhost:<port>/metabolite-analysis to check that the Web application itself is working. <port> refers to the value you had chosen in application.properties for server.port.

  2. Install R. OSX users can use Homebrew, else consult the official R docs. Building from source is OK. If not already, add the path to R to your system PATH.

  3. Install Rserve. If on Windows, you can simply run an R shell by typing R in the PowerShell, and using R's built in package manager to do so. Simply type install.packages("Rserve"). This method may work on OSX and Linux systems as well, but a guaranteed method is to build and install Rserve from source; see instructions.

  4. Run an Rserve server process. Rserve bypasses the single-threaded limitation of R by exposing R as a TCP service. This way, multiple "servers" can exist and you can use any of them to run arbitrary R commands. Open a R shell if you have not already (type R in terminal), and run:

library(Rserve)
Rserve(args="--no-save --RS-port <port>")
where `<port>` refers to the port(s) you specified in `task.scheduler.rserve.ports` in `application.properties` (step 1).
  1. Now your Rserve process(es) are ready. Head over to your IDE and edit your run configurations. For IntelliJ, this is at Run->Edit Configurations.... We need to tell your local version of Metaprot about where to find R, so add as an Environment Variable: R_HOME=</path/to/R>. Usually the value of </path/to/R> can be found by executing R.home() in the R shell. However, this can be manually found by looking at where the R executable file is (e.g. in Windows this is usually in .../bin. Save your changes.

  2. Now you should be able to run Metaprot in your IDE, via embedded Tomcat.

Clone this wiki locally