Skip to content

Download and Installation

imedina edited this page May 16, 2016 · 5 revisions

Currently, in order to use OpenCGA, you have to download the code and build it. This build process is handled with maven. If you want to compile it you will need Java JDK 1.7 or 8, Apache Maven 3, MongoDB 2 as default storage engine, and Apache Tomcat 8 if you are going the web services.

Please note that Java 1.7 is already outdated, and eventually it will be mandatory to use java 8, which will be needed for OpenCGA 0.6.x.

Stable releases are merged and tagged at master branch, you are encouraged to use latest stable release for production. Current active development is carried out at develop branch and need Java 8, only compilation is guaranteed and bugs are expected, use this branch for development or for testing new functionalities. Only dependencies of master branch are ensured to be deployed at Maven Central Repository, develop branch may require users to download and install other active OpenCB repositories:

Cloning

OpenCGA is an open-source and free project, you can download default develop branch by executing:

$ git clone https://github.com/opencb/opencga.git
Cloning into 'opencga'...
remote: Counting objects: 20267, done.
remote: Compressing objects: 100% (219/219), done.
remote: Total 20267 (delta 105), reused 229 (delta 35)
Receiving objects: 100% (20267/20267), 7.23 MiB | 944.00 KiB/s, done.
Resolving deltas: 100% (6363/6363), done.

Latest stable release at master branch can be downloaded executing:

$ git clone -b master https://github.com/opencb/opencga.git
Cloning into 'opencga'...
remote: Counting objects: 20267, done.
remote: Compressing objects: 100% (219/219), done.
remote: Total 20267 (delta 105), reused 229 (delta 35)
Receiving objects: 100% (20267/20267), 7.23 MiB | 812.00 KiB/s, done.
Resolving deltas: 100% (6363/6363), done.

Build

OpenCGA can be compiled directly, just by executing mvn install -DskipTests, but some configuration files can be customized with the content of the file ~/.m2/settings.xml.

This file is not needed for the installation, but makes easier to compile, install and configure at the same time the program, by filtering the resources files. Also, this information is used to run the tests. In that case, this file is required.

Here there is an example of a ~/.m2/settings.xml:

<settings>
    <profiles>
        <profile>
            <id>opencga-catalog-localhost-wiki</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <properties>
                <OPENCGA.INSTALLATION.DIR>/opt/opencga/</OPENCGA.INSTALLATION.DIR>
                <OPENCGA.CATALOG.ROOTDIR>file:/home/myuser/.opencga/</OPENCGA.CATALOG.ROOTDIR>
                <OPENCGA.CATALOG.DB.HOSTS>localhost:27017</OPENCGA.CATALOG.DB.HOSTS>
                <OPENCGA.CATALOG.DB.DATABASE>catalog</OPENCGA.CATALOG.DB.DATABASE>
                <OPENCGA.CATALOG.DB.USER></OPENCGA.CATALOG.DB.USER>
                <OPENCGA.CATALOG.DB.PASSWORD></OPENCGA.CATALOG.DB.PASSWORD>
                <CELLBASE.VERSION>v3</CELLBASE.VERSION>
                <CELLBASE.REST.URL>http://bioinfo.hpc.cam.ac.uk/cellbase/webservices/rest/</CELLBASE.REST.URL>
            </properties>
        </profile>
    </profiles>
</settings>

To achieve non-invasive behaviour, your OPENCGA.CATALOG.ROOTDIR path must exist, so create it yourself or point it towards your desired directory. Then, you can build OpenCGA by executing the following command from the root of the cloned repository:

$ mvn clean install -DskipTests

Remember that develop branch dependencies are not ensured to be deployed at Maven Central, you may need to clone and install develop branches from OpenCB biodata, datastore and cellbase repositories. After this you should have this file structure in your OPENCGA.INSTALLATION.DIR:

opencga/
├── analysis
├── bin
├── conf
└── libs

You can copy the content of the build folder into any directory such as /opt/opencga.

Testing

You can run the unit tests using Maven or your favorite IDE. Just notice that some tests may require of certain database back-ends such as MongoDB or Apache HBase and may fail if they are not available.

Command Line Interface (CLI)

If the build process has gone well you should get an integrated help by executing:

./bin/opencga.sh --help

Head over Command Line for a further description of the CLI, or Indexing Variant Data for a quick CLI-based tutorial.

Web Services

This is an optional interface to OpenCGA. If you want to use it, you have to install Apache Tomcat and deploy our opencga.war. To do this, just copy it from the compilation directory (where you downloaded the OpenCGA repo) into the Tomcat webapps directory:

cp opencga-server/target/opencga.war $(path_to_tomcat)/webapps

path_to_tomcat is where you downloaded it, or probably /var/lib/tomcat8 if you installed via apt-get. Then, you should be able to see the swagger page at http://localhost:8080/opencga/. See Using RESTful web services for a tutorial.

Clone this wiki locally