Skip to main content

A general tool to create dashboards for manual review

Project description

JupyterReviewer

A package for using and creating interactive dashboards for manual review.

Purity Jupyter Reviewer

Quick Start

Install

Reviewer Suites

Select a purity reviewer you want to use and follow their installation instructions. List of existing reviewer suites:

Pip Install

pip install JupyterReviewer

Git

  1. Download the repository: git clone git@github.com:getzlab/JupyterReviewer.git
  2. cd JupyterReviewer
  3. Create an environment: conda create --name <my-env> --file requirements.txt
  4. Install package: pip install -e .

Start reviewing

  1. Open or create a new jupyter notebook
  2. Pick a reviewer (see JupyterReviewer.Reviewers)
    from JupyterReviewer.Reviewers import ExampleReviewer
    
  3. Instantiate the reviewer
    my_example_reviewer = ExampleReviewer()
    
  4. Set the review data*
    my_example_reviewer.set_review_data(...)
    
  5. Set the app*
    my_example_reviewer.set_review_app(...)
    
  6. Set default annotation configurations
    my_example_reviewer.set_default_review_data_annotations_configuration(...)
    
  7. Set default autofill configurations
    my_example_reviewer.set_default_autofill(...)
    
  8. Run the reviewer!
    my_example_reviewer.run()
    

*In jupyter notebook, place the cursor at the end of the function call and press Shift+Tab to view the docstring.

See a more detailed tutorial in example_notebooks/Intro_to_Reviewers.ipynb

Why Jupyter Reviewer

Why and how we review data

Part of any study is ensuring data are consistent and drawing conclusions about the data from multiple sources. Studies are often novel, so frequently there are steps along the way that do not have existing, validated automation techniques. Therefore, we must perform manual review.

Typically, the person reviewing all this data opens a bunch of windows to view data from different places (a clinical information spreadsheet from a collaborator, a few outputs from a Terra workflow, and/or previous notes from another reviewer, etc.). Next they look at all the data and keep notes in yet a separate document, such as a spreadsheet or digital/physical notes. Then, they go row by row, sample by sample, until they finish.

Why we need something better

While straightforward to do in theory, this review method is very brittle, error prone, and very time consuming.

Reviewing can take a very long time, such as reviewing large datasets on the order of hundreds to thousands of data points, or if the review needs to be repeated multiple times due to changes in processes upstream.

Some review processes are iterative, or new information is gained from some other source to inform the review process, or we need to pass off the review process to someone else. We should be able to easily incorporate old data with new data, and share that history and information with others.

Some reviews require calculations, or exploring the the data in ways that a static plot cannot provide. Some Terra workflows do produce some interactive html files, but this is rare. Sometimes, a reviewer realizes mid-way through the review process that a different kind of plot could be very informative. It should be easy to generate such a plot on the fly without having to modify or create a new Terra workflow, or opening a new notebook to calculate manually.

Lastly, humans are humans, and we make mistakes. It can be very tedious to maintain and update a large spreadsheet with hundreds of rows and multiple columns to annotate. Annotations are difficult to enforce in this setting, and changes (intentional or accidental) are difficult to track.

The Solution: Jupyter notebook and Plotly-Dash!

Most ACBs use jupyter notebooks for their analysis. So why not keep the review process in jupyter notebooks too? Additionally, there already exist great tools for making interactive figures and dashboards. We can use these packages to help automatically consildate information and create figures that will make it easier to review, enforce annotation standards, and track changes over time.

The JupyterReviewer package makes it simple to create dashboards for reviewing data. Developers and users can easily customize their dashboards to incorpate any data they like, and automatically provides a reviewer an easy way to annotate their data, track changes, and share their annotations with others.

Get Started

See example_notebooks/ for documentation and tutorials.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

JupyterReviewer-0.0.4.tar.gz (38.8 kB view details)

Uploaded Source

Built Distribution

JupyterReviewer-0.0.4-py3-none-any.whl (48.9 kB view details)

Uploaded Python 3

File details

Details for the file JupyterReviewer-0.0.4.tar.gz.

File metadata

  • Download URL: JupyterReviewer-0.0.4.tar.gz
  • Upload date:
  • Size: 38.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.8.8

File hashes

Hashes for JupyterReviewer-0.0.4.tar.gz
Algorithm Hash digest
SHA256 cf59549494431a7d10b036bc664757faef7c92ef251324099381debd802b44d5
MD5 3193793ec732b71666a84ac2adbda7c0
BLAKE2b-256 7d4cb0067cd0fea10dc4f611773d971410d69973083f03288649e34625aa75ac

See more details on using hashes here.

File details

Details for the file JupyterReviewer-0.0.4-py3-none-any.whl.

File metadata

File hashes

Hashes for JupyterReviewer-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 b112f767e5ac57ab64640d870118183899d4b9edd7be9b3ffb8912b4d9f15ddd
MD5 28ced729657522618d626fe9fea8f64a
BLAKE2b-256 c2fe4bf0d63a84b5d80d8a07acec10078d99f99728db17829ed4c2cc85a548d2

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page