/evoppi-backend

Backend for the EvoPPI application

Primary LanguageJavaGNU General Public License v3.0GPL-3.0

EvoPPI Backend

EvoPPI allows the easy comparison of publicly available data from the main Protein-Protein Interaction (PPI) databases for distinct species. EvoPPI allows two types of queries: (i) same species comparisons, for those queries involving two or more interactomes from a single species, and (ii) distinct species comparisons, for those queries involving two or more interactomes from two distinct species.

Development

Running the application

The application has been configured to be easily run locally, by just invoking a Maven command.

To do so, Maven will download (if it is not already) a clean WildFly distribution to the target folder, configure it, start it and deploy the application on it.

This makes very easy and straightforward to manually test the application.

Configure a local MySQL

To execute the application you need a MySQL server running in localhost and using the default port (3306).

In this server you have to create a database named evoppi accessible for the evoppi user using the evoppipass password.

This can be configured executing the follow SQL sentences in your MySQL:

CREATE DATABASE evoppi;
GRANT ALL ON evoppi.* TO evoppi@localhost IDENTIFIED BY 'evoppipass';
FLUSH PRIVILEGES;

Of course, this configuration can be changed in the POM file.

Building the application

The application can be built with the following Maven command:

mvn clean install

This will build the application launching the tests on a Wildfly 10.1.0 server.

Starting the application

The application can be started with the following Maven command:

mvn package wildfly:start wildfly:deploy-only -P wildfly-mysql-run

This will start a WildFly 10.1.0.

Redeploying the application

Once it is running, the application can be re-deployed with the following Maven command:

mvn package wildfly:deploy-only -P wildfly-mysql-run

Stopping the application

The application can be stopped with the following Maven command:

mvn wildfly:shutdown

REST API documentation

The REST API is documented using the Swagger framework. It can be browsed using the Swagger UI application to access the following URL:

http://localhost:8080/evoppi/rest/api/swagger.json

Server configuration

EvoPPI can be installed in your own server. We recommend using a WildFly 10+ server. In addition, a Docker installation listening in a TCP port is required.

To install your own EvoPPI instance you should follow these steps.

1. Configure your WildFly

In the additional-material/wildfly10/standalone.xml file you can see a sample configuration. This file includes the security, email and naming bindings required by the application.

2. Create the database

A SQL script for MySQL to create the structure of the database required can be downloaded from here.

3. Populate database (optional)

If you want to add the data of all the species currently supported by EvoPPI, you can also download and import this SQL file.

However, if you only want to add the data of some specific species, you can download and import these SQL files:

4. Deploy the application

The last step is to deploy the EvoPPI application in the WildFly server.

Packaged application can be downloaded from here.

This file can be directly deployed in the WildFly server, for example, using the administration web interface.

Source code

Source code of this and EvoPPI Frontend projects can be found at: