All Projects → phylogeography → SPREAD

phylogeography / SPREAD

Licence: MIT license
Spread visualizes how viruses and other pathogens are spreading in time and space. It creates compellable shareable, interactive and time-animated visualization.

Programming Languages

clojure
4091 projects
java
68154 projects - #9 most used programming language
CSS
56736 projects
shell
77523 projects
HTML
75241 projects
Dockerfile
14818 projects

Projects that are alternatives of or similar to SPREAD

COVID-19-historical-data-visualization-2019-nCoV-
使用BlankerL提供的数据仓库实现的新型冠状病毒疫情数据可视化
Stars: ✭ 47 (+422.22%)
Mutual labels:  covid-19, covid, covid19
open-data-covid-19
Open Data Repository for the Covid-19 dataset.
Stars: ✭ 19 (+111.11%)
Mutual labels:  covid-19, covid, covid19
Api
API for Current cases and more stuff about COVID-19 and Influenza
Stars: ✭ 2,323 (+25711.11%)
Mutual labels:  covid-19, covid, covid19
covid-19
COVID-19 World is yet another Project to build a Dashboard like app to showcase the data related to the COVID-19(Corona Virus).
Stars: ✭ 28 (+211.11%)
Mutual labels:  covid-19, covid, covid19
CoWin-Vaccine-Notifier
Automated Python Script to retrieve vaccine slots availability and get notified when a slot is available.
Stars: ✭ 102 (+1033.33%)
Mutual labels:  covid-19, covid, covid19
covidpass
Scan your vaccination, test and recovery certificates in QR code representation and save them to your Apple Wallet
Stars: ✭ 137 (+1422.22%)
Mutual labels:  covid-19, covid, covid19
covid-pass-verifier
🦠 Scan, parse and verify HCERT compliant government-issued COVID-19 passes.
Stars: ✭ 25 (+177.78%)
Mutual labels:  covid-19, covid, covid19
coviddata
Daily COVID-19 statistics by country, region, and city
Stars: ✭ 49 (+444.44%)
Mutual labels:  covid-19, covid, covid19
PhoNER COVID19
COVID-19 Named Entity Recognition for Vietnamese (NAACL 2021)
Stars: ✭ 55 (+511.11%)
Mutual labels:  covid-19, covid, covid19
covid19-timeseries
Covid19 timeseries data store
Stars: ✭ 38 (+322.22%)
Mutual labels:  covid-19, covid, covid19
us-covid19
Data repository of State's Health Department stats for COVID19 in the United States
Stars: ✭ 37 (+311.11%)
Mutual labels:  covid-19, covid, covid19
covid-xprize
Open-source repository containing examples and documentation for the Cognizant XPRIZE Pandemic Response Challenge
Stars: ✭ 36 (+300%)
Mutual labels:  covid-19, covid, covid19
rid-covid
Image-based COVID-19 diagnosis. Links to software, data, and other resources.
Stars: ✭ 74 (+722.22%)
Mutual labels:  covid-19, covid, covid19
covid-dashboard
Help welcomed if you have expertise in public health web technology, data modeling and munging, or visualization.
Stars: ✭ 106 (+1077.78%)
Mutual labels:  covid-19, covid, covid19
CoronaVirusOutbreakAPI
A tiny and small program to crawler and analyze outbreak of COVID-19 in world and every country using PHP.
Stars: ✭ 20 (+122.22%)
Mutual labels:  covid-19, covid, covid19
COVID-19-DETECTION
Detect Covid-19 with Chest X-Ray Data
Stars: ✭ 43 (+377.78%)
Mutual labels:  covid-19, covid, covid19
covid-br
COVID dashboard status from Brazil.
Stars: ✭ 28 (+211.11%)
Mutual labels:  covid-19, covid, covid19
COVID breakdown
COVID-19 statistics in Taiwan
Stars: ✭ 15 (+66.67%)
Mutual labels:  covid-19, covid, covid19
corona tracker
COVID-19 tracking app - submission for https://wirvsvirushackathon.org/
Stars: ✭ 13 (+44.44%)
Mutual labels:  covid-19, covid, covid19
covid19-pr-api
COVID-19 Open API for Datasets in Puerto Rico
Stars: ✭ 21 (+133.33%)
Mutual labels:  covid-19, covid19

Spread

Spread

Spread vizualizes how viruses and other pathogens are spreading in time and space. It creates shareable, interactive and time-animated vizualisation.

CircleCI Issues Pull Request GitHub last commit

Table of Contents

Technical Overview

To be able to easily pick up stack used to build spread, one should be familiar with following topics:

The diagram below presents an overview of the architecture of spread:

alt text

  • API is a gateway service, exposing graphql endpoints and publishing messages to the SQS queue.
  • Worker is a messaging service wrapping the phylogeographic tree graphs parsing library libspread, multiple workers compete for the messages published by the API.
  • Relational Database and S3 object storage are used for persistance.
  • User-facing interface facilitates communicating with the API from the client.
  • Visualization engine accepts S3 stored output, animates and displays it on the geographical map.

Development

Start all

Make sure you have tmux multiplexer installed. Execute ./start_all_components in your temrinal window and it will start all the components in separate tmux windows.

Backend services

Make sure you have docker and docker-compose installed. You will also need maven and clojure cli-tool.

Source the environment variables and start the dev infrastructure:

source env/dev
docker-compose -f deployments/dev/docker-compose.yml up

Deploy the database schema changes:

cd services/db-migration
source ../../env/dev
mvn package
mvn liquibase:update

Compile and package libspread:

mvn clean package

Start an instance of the worker-service:

clj -A:run-worker

Start an instance of the api-service from the comand-line:

clj -A:run-api

Start an instance of the api-service from the REPL:

M+x cider-jack-in
C-c M-n-n api.main
(restart)

In the default dev environment a GraphQL IDE is started at: http://127.0.0.1:3001/ide

Browser client

Make sure you have yarn installed.

Install dependencies:

yarn deps

Start watcher and local server

yarn watch

Open in browser: http://localhost:8020

To get the cljs REPL:

M+x cider-connect-cljs

Select localhost and the nREPL port printed by the watcher (e.g. 46000), select shadow and :ui as the build.

Viewer browser client

Start watcher and local server

yarn watch:viewer

Tests

Start a watcher on the libspread test suite:

mvn fizzed-watcher:run

Start a watcher on the spread's integration test suite:

bin/kaocha --watch

Contributors

This project exists thanks to all the people who contribute.

License

MIT © Filip Bielejec

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].