Neil Robertson: 19th October 2018

Introduction

We have developed ScatterShot, a web application for generating cluster plot images for chip genotyping experiments. This initial deployment has been customised for the UK Biobank dataset.

Our aim has been to produce a centralised web application so that the end user can simply access clusterplot images without the nuisance of accessing, downloading, storing, handling and configuring the underlying data itself; which in the case of UK Biobank is significant!

We have improved performance so that plots can be generated dynamically with minimal delay. Clusterplots can be reviewed directly within the application so there is no need to manage the image files themselves. User convenience has been central to our design.

ScatterShot is still in active development, but this deployment should be of utility nevertheless. Please have a go!

If you do encounter any issues or have any queries, or if you have useful feedback to offer, please find contact information at the foot of the page.

Development Notes

Scattershot is a web application written in Java/Javascript/HTML/SVG by Neil Robertson.

The server-side component is a Java Servlet that queues incoming requests, then passes them to an asynchronous pipeline for data retrieval and rendering. Images are generated on the fly, server-side using JOGL (Java binding for Open GL) and are then transmitted to the client over a WebSocket.

The client-side Javascript application uses Webpack for deployment and React JS for the UI. The styling and layout is based on Bootstrap, is responsive and caters for most screen sizes. Raw cluster plot images are received from the server in JPEG format over a WebSocket. Images are then further adorned in SVG to add legends, styling and further statistics.

Scattershot provides a simple, stylish slide viewer interface to review your cluster plots quickly, in-browser. It has an option to re-render (again in-browser) and download each plot as a PNG or SVG image.

RELEASE NOTES (19th October 2018): Updated Dataset

  • Applied further exclusions from October 2018.
  • Added an additional dataset; including only those identified as "White British"

RELEASE NOTES (9th January 2018): External Beta Release I

Major improvements have been made to the user interface. Changes include:

  • Plot quality has been improved by shifting layout to the client-side (JS, SVG). Now only the core plot itself is rendered server-side.
  • Images can now be downloaded from the application if required. PNG images are rendered directly in-browser and downloaded.
  • The user interface has been improved by providing a "Slideshow" over per-batch plots.
  • A central queuing system has been implemented to intermediate when there are multiple concurrent users.
  • We have added notification messages to further imform the user of server-side progress: queuing status, rendering status, error messages, etc.

Aside from general user interface fine-tuning, further rounds of development will focus upon:

  • Further support for various screen sizes and layouts. Testing has only been carried out on limited (desktop) systems.
  • Extending ScatterShot web app to support other datasets (Illumina, Affy), not just UK Biobank.
  • Filtering by subsets other than UK Biobank batches and gender.
  • Introducing minor features such as Affy Ellipses, etc.

RELEASE NOTES (14th September 2017): Internal Beta Release I

Initial deployment on the Oxford University internal network.

Development is mostly complete, but there needs to be more testing. Testing to date has mostly been in short-lived, single-user environments. Future development will focus upon:

  • Stability of the system in long term deployments.
  • Introduction of a queuing system to guarantee fairness between users.
  • More feedback from application about the status of queues, and of plotting and rendering, etc.
  • Making the plots prettier.
  • Further performance increases, if possible.
  • Introducing minor features such as Affy Ellipses, etc.
  • Extending ScatterShot web to support other datasets, not just UK Biobank.