The complete Data Hub application stack consists of three modules - App, MySQL Database, Proxy. Fourth module, which is not part of this stack is Data Portal’s neo4j Graph database from which Data Hub app takes data as well. Reason for this duality of databases is that cBioPortal is interested in different data then Data Portal search engine. Extra data for cBP are stored in the SQL databases and we retrieve the maximum possible amount of data from the neo4j database.
Whole stack of these three components is dockerized and you are able to deployed at once.
Application file structure
- api | - app | - routes.py | - tools.py | - models | - models.py | - data | - api.py | - config.py | - import_expr.py | - init_db.py | - proxy
Some files are ommited, as they are not crucial for understanding the app.
- All available routes are described and implemented here.
- Some of retrieval methods, used by different routes are implemented here.
- Description of all entities for the SQL databse.
- Main run file of the flask framework.
- Holds variables about connection to the databases. Needs to be edited for the debug purposes.
- Import expressions into the database, as the DataPortal database does not holds the expression data.
- Prepares the initial empty SQL database.
- Content of the proxy.