Developers - mochar/wgcna GitHub Wiki
This program functions as a web app. It is built with Flask on the server side, and (mostly) Vue on the client side.
Client side
The client side code can be found in the www/
directory. The template is generated using vuepack. The linked github page provides some documentation of the folder structure. Vuex is used to store global state, namely the list of user projects, and the project that is currently open.
All visualizations are made using d3, and can be found in the subfolder client/charts
. One exception is the box plots, which I've cloned from here and stored in the folder client/external
. At the beginning of the project, I created a separate vue-component for each chart and used the js component to store data, but since then I've chosen to use the reusable chart approach.
Server side
Server side code is stored in api/
, named so after the fact that the flask server functions as an API.
The server also runs a redis client which stores session information and project details, such as project ID, name and description, trait types (categorical vs numerical), and used parameters.
In the config file config.py
the path to the storage can be set, which defaults to /opt/wgcna
. This folder contains a folder for each user project, which the program uses to store results that can be downloaded by the user. Intermediate results are also stored to allow for experimentation with parameters without redoing all the steps.