Giter Club home page Giter Club logo

virustrack / covidvu Goto Github PK

View Code? Open in Web Editor NEW
15.0 9.0 3.0 18.03 MB

Volunteers building and sharing current, accurate, near real-time COVID-19 tracking and prediction tools.

Home Page: https://virustrack.live

License: BSD 3-Clause "New" or "Revised" License

Dockerfile 0.26% Makefile 0.46% Shell 7.54% Jupyter Notebook 17.14% Python 26.31% Vim Script 0.06% JavaScript 45.19% HTML 0.49% Awk 0.10% Sass 2.46%
pandemic plots jupyterlab data-science-lab notebooks johns-hopkins-csse visualizations python covid-19 coronavirus

covidvu's Introduction

COVIDvu

Looking for the latest COVID-19 country and state level numbers? Head to the virustrack.live COVID-19 dashboard.

This project hosts the COVID-19 Virus Track live website and provides a the COVIDvu (COVID-19 viewer) zero-install data science lab for exploring the pandemic. The project is divided in these phases:

  1. Build and deploy the zero install data science lab - DONE
  2. Build and deploy the virustrack.live website to provide near real-time pandemic information in the form of comparative trend plots - DONE
  3. Ensure data ingress from reliable, consistent, robust data sources - IN PROGRESS - only JH CSSE and BNO News seem to be up-to-date and their data sources are in flux
  4. Evolve the website and tools from data extraction and trend display toward prediction
  5. Expand the lab and website to provide tools and information for tracking and visualizing other zoonotic spillovers, or to revisit previous spillovers like Ebola and SARS.

Developers

This project is designed so that developers and scientists can work in a zero install environment by pulling a Docker image and performing all research and coding activities within a container. Users may also chose to use their preferred IDE and other Python tools and work on the file system, without ever runnint the dockersized version. This instructions show how to install and run this zero install container.

Run from a Docker container, zero install

Prerrequisites: docker-compose must be available in the target system. These instrutions are UNIX-specific.

  • Clone this repository

    git clone https://github.com/VirusTrack/COVIDvu.git covidvu

  • Go to the covidvu directory

    cd covidvu

  • Set the COVIDvu Jupyter working directory to the current directory by creating a runtime configuration via the run.env file

    cp run.env.SAMPLE run.env
    

    Change it to reflect your development environment and preferences

    export COVIDVU_JUPYTER_MOUNT_POINT="/Users/joeuser/development/covidvu"
    export COVIDVU_NIC_BIND="127.0.0.1"
    export COVIDVU_PORT_BIND="8808"
    
    
  • Start the container using the ./run script

    ./run
    

    Wait until Docker pulls the latest image becaues the COVIDvu lab is based on the 4.5 GB (JupyterLab Data Science Notebook Docker image](https://hub.docker.com/r/jupyter/datascience-notebook/)

    A confirmation message appears in the console after the image pull completes and the lab starts

    Status: Downloaded newer image for pr3d4t0r/covidvu:latest
    Creating covidvu_cime_dev ... done
    
  • Get the JupyterLab authentication token to confirm that the container is running

    docker logs covidvu_cime_dev
    
    # Output:
    
        To access the notebook, open this file in a browser:
          file:///home/jovyan/.local/share/jupyter/runtime/nbserver-17-open.html
      Or copy and paste one of these URLs:
          http://d57f7b87cf42:8888/?token=025c268f52a758f66112c115e5e407842c71de68be440475
       or http://127.0.0.1:8888/?token=025c268f52a758f66112c115e5e407842c71de68be440475
    
    
  • Open the JupyterLab by going to http://localhost:8808/lab, then enter the authentication token in the appropriate box; choose a password to avoid this step in the future

  • Open a terminal to verify that files and other work are managed by Git

    # Enter these commands in a JupyterLab terminal!
    git branch -a
    
    # Output: 
    
    * master
      remotes/origin/0006-Automatic-data-refresh
      remotes/origin/0011-plot-untracked-outcomes
      remotes/origin/0016-Front-end-scaffolding
      remotes/origin/0021-Local-launch-instructions
      remotes/origin/HEAD -> origin/master
      remotes/origin/JA-refactor-interact
      remotes/origin/master
    

Git, Python, Vim, and various tools are all available from the command line and in some of the existing notebooks. Look at the Makefile to see what tools are installed to complement the JupyterLab setup.

  • Install the plotly and cufflinks packages and make them available to the lab and notebooks, to confirm that everything is working as expected

    # In the ./work directory:
    pip install -r requirements.txt
    

After careful consideration, the core team decided that embracing standard Python tools like pip is a better policy than managing packages and workflows using Anaconda.


Run the COVIDvu notebook

The system uses the Johns Hopkins University CSSE dataset to do its work. Pull the datasets they made available on GitHub via the README notebook at http://localhost:8808/notebooks/work/README.ipynb

  • Run the cells in the section Get the latest data from Johns Hopkins CSSE

Due to limitations in how JupyterLab deals with Plotly and other third-party tools, the notebooks that display plots must be executed in the JupyterNotebook environment. The plots will appear blank if the notebooks are executed inside the JupyterLab environment.

Ready to generate the visualizations? Go to http://localhost:8808/notebooks/work/COVIDvu.ipynb and execute all the cells in order.

That's it!


Live documentation

Look at http://localhost:8808/notebooks/work/README.ipynb for helpful tools. The section Improve the command prompt and environment, for example, sets a .bash_profile with a better prompt, path, aliases, etc. that improve the experience when working at the terminal prompt.


© 2020 the COVIDvu Contributors team. All rights reserved.

covidvu's People

Contributors

goodwolf avatar jaryaman avatar kinabalu avatar lucasmarohn avatar mangosense avatar pr3d4t0r avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

covidvu's Issues

Fix the date format in data files

The date format being used until 3/11 was MM/DD/YYYY. Would prefer YYYY-MM-DD as we have to transform on our end. But at the very least needs to be consistent. The latest day is now MM-DD-YYYY.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.