1. KnetMiner web server overview - Rothamsted/knetminer GitHub Wiki

KnetMiner web server overview

For each instance of KnetMiner, there are two different programs: A server and a client. Both are web applications (technically, .war Java web apps), which we deploy on a Tomcat server, which, in turn, usually runs from inside a Docker container.

The client deals with the application presentation/interface, including the JavaScript based web-page views. It broadcasts all of its application-specific requests to the server, which runs the bare application services and data processing logics. For instance, this is where gene ranking and search term querying is performed.

The application server is implemented as a web service that can be invoked programmatically to yield request-specific datasets for the client to visualize (ie, it's an API).

The first time the server is started it parses the organism-specific OXL file into memory and creates pre-build indices for fast term-searching.

Recommendations

As genome-scale networks can be very large and are stored in memory, we recommend having a minimum of 10GB RAM available on the server.