Team:BU Wellesley Software/Puppetshow

From 2011.igem.org

Revision as of 00:44, 11 September 2011 by Cgrote (Talk | contribs)

BU-Wellesley iGEM Team: Puppetshow

Computational Team

Description

Our solution comprises a five-layer stack as illustrated in the figure on the right. Using the Clotho platform, we develop two applications for specifying and executing biological protocols. The Assembly Planner is the end-point of an end-to-end design workflow that produces an assembly plan for synthetic biological devices, with each assembly step annotated with the name of a biological protocol. Each such protocol itself may be fully specified using another Clotho application called PuppetShow, which provides an environment for writing, testing, debugging, and executing biological protocols. The protocols are written in a new python-based high-level language called Puppeteer. The Language layer comprises the Puppeteer interpreter and linker. A protocol specified in Puppeteer may contain Puppeteer instructions as well as references to previously created Puppeteer programs available in a library. The Language layer expands and translates a Puppeteer protocol to a sequence of low-level commands expressed in a Common Human Robot Instruction Set (CHRIS). CHRIS provides a standardized instruction set that high level biological protocol languages like Puppeteer may assume to be supported by any robot. Any high-level language may produce CHRIS programs and any robot vendor may support a superset of CHRIS: this decouples robot hardware details from biological protocol and specification details and supports our goal of portability and protocol library reuse. The Hardware Layer---the external control and I/O interface of a robot---is wrapped under a Hardware Abstraction Layer (HAL). Vendor-provided software for programming the robot may be proprietary and is used to control the robot. An interface to it is provided by a software bridge, which maps protocols expressed in CHRIS to sequences of native robot instructions. The Resource Management layer maintains resource state information and provides a standardizable high-level interface for initializing, requesting, naming, aggregating, and accessing resources to the Language layer, analogous to a ``system call'' suite. This interface supports our goal of removing the minutiae of resource management from the protocol specification language.


Results:
We have finished implementation of an initial version of the Puppeteer stack; it is fully integrated with the Clotho platform. We have implemented basic BioBricks assembly protocols and validated them in the wet lab by assembling basic devices.

Collaboration with other iGEM teams:
In order to ensure reproducibility and promote collaboration, we visited Jonathan’s lab at MIT to set up PuppetShow on their robot. We met a few of MIT’s iGem team members and coordinated with Jonathan to test the Puppeteer flow on the MIT robot. During this process, we noticed some differences between our robot deck setups that made PuppetShow incompatible with MIT’s deck unless some parameters and settings were soft-coded. We then proceeded ensure Puppeteer is more portable. After making these improvements, we successfully tested the Puppeteer flow on the MIT deck and everything ran as expected. This collaborative effort with MIT’s iGem team is definitely fruitful because it made PuppetShow more robust and ensured functionality across multiple robots.
Future Work:
Integration between Puppeteer/Puppetshow and the eLabNotebook is planned for implementation.

Ethical User Study practices:
Aliquam in felis sit amet eros pharetra volutpat.

Overview: PuppetShow

Constructing a combinatorial library of devices is tedious using manual laboratory techniques and would require hundreds of hours of careful work. To remedy this, we are implementing the Puppeteer Biological Protocol Automation Suite. This suite includes a high level programming language for specifying biological protocols commonly used in the laboratory, which are then executed by a liquid-handling robot with minimal user intervention.









Demo Video

Wetlab

We implemented two protocols central to BioBricks assembly---Restriction Digestion and Ligation---in Puppeteer. We validated the Puppeteer implementation by executing multiple trials of both protocols and verifying the result by running a gel.


Results:
The images show the verification results.







Safety practices:
Aliquam in felis sit amet eros pharetra volutpat.