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.
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
using the default port (3306).
In this server you have to create a database named
evoppi accessible for the
evoppi user using the
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:
REST API documentation
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
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 is
3. Populate database (optional)
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.
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 of this and EvoPPI Frontend projects can be found at:
Troubleshooting and debugging
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 the
my.cnffile to set the following settings:
wait_timeout = 31536000 interactive_timeout = 31536000 max_allowed_packet = 1G innodb_buffer_pool_size = 1G