structured protocols
Biological protocols are terse, telegraphic recipes that document common wetlab tasks, for instance, sorting DNA molecules by length via gel electrophoresis, growing a liquid culture of E coli, or extracting plasmid DNA from E coli.
Protocols are generally written and shared in plain text with no machine-friendly structure, which is a shame, because all protocols have some elements in common: they specify functionally important inputs, outputs, and a series of biological operations that will transform the inputs into the outputs. Protocols are wetlab functions composed of a series of biological operations with well-defined inputs and outputs.
I've been discussing this in the context of wetlab workflow planning at the diybio google group. Here are some of my thoughts:
A simple way to play with structured protocols would be to establish a small controlled vocabulary for describing the inputs and outputs to various protocols. Meta-protocols could be created by searching for a path from a desired input to a desired output. For example, here is an input and output that would require stitching together several protocols:
Input: 10 ug 1uM plasmid DNA (BBa_I20259) Output: 400 Relative Fluorescence Units, 500nm.
The input / output controlled vocabulary is potentially very complex. I'm not sure how to deal with units.
Looking forward, if the vocabulary of available biological operations (verbs) and inputs/outputs (nouns) was structured in a machine-readable way, it could form the basis of a biological "test-driven development" system. First, desired biological outcomes would be expressed using the vocabulary. Then the biologist would execute an automatically-generated protocol until the tests passed.
To start with, it would be interesting to try expressing several protocols in the oManual XML standard, which is supported by Dozuki, the web app that runs ifixit.com.















