Skip to content

Developers Guide

Keiichiro Ono edited this page Mar 19, 2020 · 6 revisions

Overall Design

DCell is a web application using collection of single-function services and a "fat" client.

DCell has the following backend services:

  • Prediction server - GPU-based trained predictor wrapped with REST API

  • Search engine - takes keywords and gene symbols as input and find genes based on those user inputs.

  • Gene Ontology Utility - provides details for a given GO term ID

  • Web server - The application is designed as a Single Page web Application (SPA), and this server simply delivers bundled Javascript code for the clients.

Prediction Server

Running trained model for growth rate prediction. This service requires GPU, and currently, it is running on a bare-metal server.

Web Server

It simply delivers JavaScript client code build locally. Bundled client code should be copied to the following directory:

/backend/webserver/static/

Search Engine

Simple search engine built with Elasticsearch. This takes user input (keyword or gene names) and returns list of genes with descriptions.


Build and Run Backend Services

All services except prediction server are packed in Docker containers. All others can be run at once by running:

docker-compose up

This starts all servers and you can access the application from http://localhost

Note: this assumes the remote prediction server is running. If the connection to the server is not available, blank result will appear.

Building Frontend Service

(TBD)