genomic-medicine-sweden / docker-sc2reporter

Dockerized version of the sc2reporter program.
GNU General Public License v2.0
0 stars 1 forks source link

SarsCov2 Reporter

SarsCov2 reporter is a fullstack web application, which can be hosted locally, that monitors local Sars-Cov 2 outbreaks. It processes the output from the gms arctic pipeline and visualizes the data so the user can see and share the spread of different virus classification. The user can annotate samples with metadata, qc, pangolin classification, and more.

Getting Started

To run the application with dummy data, make sure you have docker-compose installed on your system, and then run the following commands:

git clone https://github.com/genomic-medicine-sweden/docker-sc2reporter
cd docker-sc2reporter
docker-compose -f docker-compose.demo.yml up

Once the application is running, you can access the front-end by navigating to localhost:3000 and the back-end by navigating to localhost:8000.

For more information on how to set it up in production, navigate to setup

Project structure

Frontend

The front end is written in React and uses the backends API to fetch information. For more information: see Frontend documentation

To run just the frontend locally:

cd frontend
yarn install
yarn run start

Backend

The backend is a combination is a combination of mongodb and fastapi, which allows for self documenting endpoints that follows the openapi specification.

For more information: see Backend documentation

To run the API locally:

cd backend
conda create --name sc2rep --file requirements.txt && conda activate sc2rep # Creates a virtual environment from requirements file and activates it
uvicorn --reload api.main:app # Starts the api application, it will reload the whole application on code changes

Grapetree

A production implementation of GrapeTree, a self hosted phylogenetic tree visualizer that uses minimum spanning trees, in this case to show the genetic distance between three or more isolates. It's not identical to the original implementation as the wsgi was changed for safety reasons, to gunicorn. For more information, visit their official github linked previously.