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.
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.
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.
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.
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.
Once it is running, the application can be re-deployed with the following Maven command:
mvn package wildfly:deploy-only -P wildfly-mysql-run
The application can be stopped with the following Maven command:
mvn wildfly:shutdown
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
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.
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.
A SQL script for MySQL to create the structure of the database required can be is
available at additional-material/db/evoppi-mysql.sql
.
The additional-material/db/
directory contains several files to test EvoPPI:
evoppi-mysql-data.sql
: users and database version.evoppi-mysql-data-genes.sql
: species, genes, interactomes, and predicted interactomes.
Alternatively, if you want to add the data of all the species currently supported by EvoPPI, you can also download and import this SQL file.
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 of this and EvoPPI Frontend projects can be found at:
Some tips for troubleshooting and debugging issues with the database:
- This post shows how to set MySQL to show the last queries being executed.
- When loading the complete DB, the following error may arise:
The total number of locks exceeds the lock table size
. Following some of the suggestions of this post, it usually works editing themy.cnf
file to set the following settings:
wait_timeout = 31536000
interactive_timeout = 31536000
max_allowed_packet = 1G
innodb_buffer_pool_size = 1G