The goal of this thesis is to develop a web application that functions as user interface for microCOMB and manages it's gene expression database. The main functions of the application are to enable the user to upload expression profiles to be analyzed and show it's result, store user history of completed analyses and keep the public database up to date. In the thesis we describe the technologies used, architecture, development process and application functionality. During the development and design process we focused on modularity, maintainability and extendability. Using Docker containers we achieved a high degree of modularity and decoupling from the underlying hardware and software. The application is split into server and client side. The server side is developed using Python and two frameworks Pyramid and Cornice. Client side uses ECMAScript6 as the main language and React in Redux frameworks. To store data on the server side we use a combination of PostgreSQL and text files. To add another degree of modularity we used SQLAlchemy as the ORM on the server side. Using an ORM we made the application RDBMS agnostic.
|