Date: Sat, 8 Aug 2015 02:47:29 -0700
From: Shawn Douglas
Subject: notes on the protocol builder
Hi all, 

Here are notes based on recent work and Friday's discussion, and some sketches+photos:
https://www.dropbox.com/sh/d9l197jjnfkxdic/AACUaHyqbwKva-am-ry_csMza?dl=0

I’ve redrawn the same concept a few times: experimental protocols represented as a series of “aquarium” views of a sample that serve to visualize the nanoscale transformations caused by performing operations in the laboratory using combinations of macroscale assets. The aquarium view can be implemented with dynamic particle systems in a game engine. The macroscale lab assets can be digitally modeled, 3D printed as miniatures, and/or 2D rendered and printed as flat tokens, and imported as game objects.

I included a photo of the ‘time station’ concept that Bret suggested. Each station represents a particular moment or timespan in a protocol. Miniature 3D-printed lab assets could be grouped at each station to perform a specific **********tep, with asset-specific parameter controls and the predicted resulting aquarium view projected nearby. Assets used throughout many steps in the protocol would require separate 3D prints at each station (for example, an insulated bucket is typically present at every moment of a protocol, thus many replicates would be needed).

An experiment might be planned by first collecting starting assets in a first station at the left of a workspace, specifying a desired product on the far right (e.g., a DNA fragment at a particular concentration, volume, pH, purity, etc.), and then gathering various 3D assets into a series of intervening stations that transform the start into the end product. I really like the idea of each station yielding a sample aliquot that would be ultimately analyzed on a gel—planning well-controlled experiments would be an integral part of using the tool.

In the coming weeks we will continue digitizing and 3D printing lab assets, and begin to prototype the aquarium view in Unity3D. In collaboration, I think it would be great to explore approaches for detecting, augmenting, and interacting with 3D (and/or 2D) miniatures on a surface, as well as encoding/saving/retrieving protocol information.

Thanks,
Shawn