Difference between revisions of "User:Jonathan Cline/Notebook/Sensomatic/20130323"

From OpenWetWare
Line 378: Line 378:

Revision as of 21:55, 27 March 2013

<html> <script> function addStylesheet(url) {

   // presentation mode
   if (document.createStyleSheet) {
   else {
       var styles = "@import url('" + url +  "');";
       var newSS=document.createElement('link');

} if (location.href.indexOf('action=render') > 0) {

   document.write("<head><title>Presentation</title></head>"); // need this for some browsers for addStylesheet to work
   document.write('<script src="http://www.w3.org/Talks/Tools/Slidy/slidy.js" type="text/javascript"><' + '/script>');
   document.write('<script type="text/javascript">wgBreakFrames = false;<' + '/script>'); // for wikibits.js
   document.write('<script src="/skins/common/wikibits.js" type="text/javascript"><' + '/script>');
   document.write('<script src="/index.php?title=-&action=raw&smaxage=0&gen=js" type="text/javascript"><' + '/script>');

} else {

   // wiki mode
   if (wgServer)
       document.write('<a href="' + wgServer + '/index.php?title=' + wgPageName + '&action=render"><b><em>=> Start web presentation</em></b></a>');

} </script> </html>


Microbiology Sensor/Controller Board: The Sensomatic

Jonathan Cline


© 2013


Engineered Biology - Let's Do Something "Simple"

  • Make biology easier to engineer
  • Make biology more reliable to engineer


  • Methods: Improving the means and methods for bio/synthetic design;
  • Predictability: Improving repeatability and trust of experimental results and procedure;
  • Reusability: Engineering biological components and biological tools to be reusable across designs or across experiments.


  • Increased productivity
    • Less busywork, more Design time
    • Less human interaction means less human error
  • Decreased financial cost
    • More experiments possible per day per person per lab

(Contrary to popular belief, lab techs & their time are not "free")

Engineered Biology - Let's Do Something "Simple"

Let's perform a cell culturing experiment and isolate some bacteria for bioengineering targets!

  • Cory Tobin 2012-2013 (LA Biohackers ; Cal Tech)
    • Nitrogenase Directed Evolution
      • Plants need nitrogen in the form of ammonia, nitrates or nitrites (artificially via 'ammonium nitrate fertilizers')
      • "The directed evolution of a thermophilic nitrogenase ... so that productivity of farmland crops would not be dependent on a non-renewable resource whose price can fluctuate drastically due to speculation, weather or global conflicts."

Sounds great!


Engineered Biology - Let's Do Something "Simple"

Assuming we've got a potential soil sample which might contain the desired bacterial strain..

  • Problem - Culture specific soil samples which might grow something.
  • Problem - Identify if something grows.
  • Problem - Isolate the bacteria which grows.
  • Problem - Identify if the bacteria is the desired strain.
  • Problem - Lather, rinse, repeat until the sequence matches.

Then finally begin the real experiment with the target bacteria!

These are lab automation and scalability problems.

  • Also known as Bring-Up Issues (industry slang).

Engineered Biology - Let's Do Something "Simple"

Let's Automate this as a bio-protocol and remove the busy-work!

Cory's First Solution (Image Copyright 2012 Cory Tobin)

  • Small scale bioreactor with valves
  • Arduino breadboarded with various electronics and hand-wired connections.


"Found out the arduino has all these limitations and does not work here."

Spent months.. to bring up an environment to do the real experiment.

Engineered Biology - Let's Do Something "Simple"

Cory's Second Solution (Image Copyright 2012 Cory Tobin)

  • Cheap Wal-mart insulated cooler.
  • Give up on electronics and do everything by hand.
    • Measure and adjust temperature multiple times per day.
    • Refill reagents every other day.

"Finally successful, one time through. Same amount of effort to run through again."

  • High maintenance.
  • Human error.


Engineered Biology - Let's Do Something "Simple"

Jonathan Cline's version: The Sensomatic

  • Use industrial-grade, low cost electronics; not Arduino
  • Simple programmability, set up by any computer
Achieve simplicity, integration of function, and low cost
Solve a specific problem

Sense and Control:

  • Temperature
  • CO2
  • OD
  • Shaker
  • Pump
  • 120VAC outlet

Engineered Biology - Let's Do Something "Simple"

Jonathan Cline's version: The Sensomatic

http://88proof.com/synthetic_biology/blog/wp-content/uploads/2009/03/img_0012sm.jpg http://88proof.com/synthetic_biology/blog/wp-content/uploads/2013/03/mq5-sensor.jpg http://88proof.com/synthetic_biology/blog/wp-content/uploads/2013/03/LM35.jpg http://88proof.com/synthetic_biology/blog/wp-content/uploads/2013/03/ssr-10636-01_i_ma.jpg

  • Low cost electronics
  • Industry standard, available in volume
  • Open source design
  • Replaceable components
  • Multiple functions on one device

Engineered Biology - User/Software/Hardware Model

Prior Art (non-integrated, single function devices)


Industry-standard robotic automation systems (like Tecan or Beckman) use proprietary, high-level script commands (shown) and proprietary low level device operations unique to each device.

Engineered Biology - User/Software/Hardware Model


  • Today's usage for devices is monolithic: each device is programmed separately
    • Each device has it's own programming method
    • Difficult to re-use software written for one device, on another device
  • Biologist has to work harder; each experiment has unique elements

Engineered Biology - User/Software/Hardware Model


  • Bio-protocol application can be re-used
  • Robotics software framework abstracts "hardware operations" from real devices or network devices

Device data is stored in the database

  • Each device has operational data and environmental data
  • One-time setup that is YAML and sharable
  • Standardization of environment is one of the most important aspects of automation

Engineered Biology - Data Format

Data storage formats are very important:

  • Make the data usable today
  • Make the data editable today
  • Make the data survive into the future; no obtuse or ridiculously hard to learn format
  • Make the data sharable

Watch out -

  • Computer scientists love inventing data formats
    • Leading to the problem of... too much complexity
  • Vendors love inventing data formats
    • Leading to the problem of... patent / proprietary lockup
  • Open formats are important for innovation and scalability over long term

Engineered Biology - Data Format

  • Need to represent robotic environment and bio-protocol actions
    • Computer Scientist response: "Oh, but we can simplify that with XML"
  <?xml version="1.0"?>
  <Experiment Name="JCSG Erbeta+Org1+Org2">
    <Container>Corning pZero 3550</Container>
      <ExperimentPlate PlateNumber="1">
        <DateDispensed>10/4/2007 12:45:40 PM</DateDispensed>
          <Well WellNumber="15">
              <Drop DropNumber="3" ProteinFormulation="Erbeta+Org2" ProteinVolume=
  "0.25" WellVolume="0.25" />
              <Drop DropNumber="2" ProteinFormulation="BufferC" ProteinVolume="0.2
  5" WellVolume="0.25" />
              <Drop DropNumber="1" ProteinFormulation="Erbeta+Org1" ProteinVolume=
  "0.25" WellVolume="0.25" />

Just say No to XML

  • Much too difficult to edit this
  • Much too difficult to read this
  • Much too difficult to learn this
  • Now needs extra files to describe the custom format
    • XML, HTML, anything that ugly, is a Bad Idea

Engineered Biology - Data Format - Device data

  • Each device has control commands (a dozen or several hundred).
  • Storing that data in an easily readable and editable format is very important for software re-use.
  • YAML Format is Human readable, Human editable and Computer Readable
  • YAML allows references to prior definitions and either simple or complex assignments

  %YAML 1.1
  --- # Fialab-Microsia
      syringe: A
      valve: C
      peristaltic: D
      external: B
      send: # delay after cmds 100ms - 1 sec
              desc: set number of physical ports
              opcode: NP
                  - 1
                  - numport:4-12
              redundancy: 2 # send cmd twice
              delay: 100 # ms
                  ok: ~
                  err: ~
              desc: get number of physical ports
              opcode: NP
                  - 0
              redundancy: 2 # send cmd twice
              delay: 100 # ms
                  ok: ~
                  err: ~
      send: # delay after cmds 100ms - 1 sec
              desc: set pump speed
              opcode: G
                  - 1
                  - speed:0-100
              delay: 100
                  ok: ~
                  err: ~       
              desc: set pump direction, direction:1=counterclockwise or 2=clockwise
              opcode: W
                  - 1
                  - direction:1-2:default=1
              delay: 5000
                  ok: ~
                  err: ~        
      send: # delay after cmds 100ms - 1 sec
              desc: init all (both) pumps
              opcode: _Z0R
                  - 0
              delay: 100
                  ok: ~
                  err: ~       
              desc: position valve in for given pump
              opcode: /$1IR
                  - 1
                  - pumpnum:1-2:default=1
              delay: 100
                  ok: ~
                  err: ~
  • Made to be readable and editable
  • Made to be scalable
  • Contains all definitions of a device's operation
  • YAML is Best current practice for readable data format

Engineered Biology - Competing Method/Prior Art: BioBoard (Noisebridge)


"an Arduino-controlled sensor package that allow users to monitor a range of physiochemical factors related to microbiological processes"

http://88proof.com/synthetic_biology/blog/wp-content/uploads/2013/03/noisebridge-bioboard-450px-NIRprobe6.jpg http://88proof.com/synthetic_biology/blog/wp-content/uploads/2013/03/BioBoardAppNewProject.png