User:Jonathan Cline/Notebook/Sensomatic/20130323

From OpenWetWare

Jump to: navigation, search



0.png

0.png


Microbiology Sensor/Controller Board: The Sensomatic

Jonathan Cline

jcline@ieee.org

© 2013

JCLINE-BUSINESS-CARD-320.png


Engineered Biology - Let's Do Something "Simple"

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

by:

  • 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.

for:

  • 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!

500px-N2-ase.png Link

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.

Cory_Tobin_Nitrogenase_Directed_Evolution_1.png

"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.

Cory_Tobin_Nitrogenase_Directed_Evolution_2.png



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:

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



Engineered Biology - Let's Do Something "Simple"

Jonathan Cline's version: The Sensomatic

img_0012sm.jpg mq5-sensor.jpg LM35.jpg 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)

Biolab-languages1.png

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

Biolab-interconnect-model.png

  • 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

Biolab-interconnect-model2.png

  • 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">
    <ID>351</ID>
    <User>Valerie</User>
    <Container>Corning pZero 3550</Container>
    <DatePrepared>2007-10-04T11:05:38.5170000+02:00</DatePrepared>
    <SetupTemperature>20</SetupTemperature>
    <IncubationTemperature>20</IncubationTemperature>
    <ExperimentPlates>
      <ExperimentPlate PlateNumber="1">
        <ID>406</ID>
        <DateDispensed>10/4/2007 12:45:40 PM</DateDispensed>
        <Wells>
          <Well WellNumber="15">
            <WellVolume>75</WellVolume>
            <WaterVolume>37.5</WaterVolume>
            <Drops>
              <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
  address:
      syringe: A
      valve: C
      peristaltic: D
      external: B
  valve:
      send: # delay after cmds 100ms - 1 sec
          NP_SET:
              desc: set number of physical ports
              opcode: NP
              args:
                  - 1
                  - numport:4-12
              redundancy: 2 # send cmd twice
              delay: 100 # ms
              recv:
                  ok: ~
                  err: ~
          NP_GET:
              desc: get number of physical ports
              opcode: NP
              args:
                  - 0
              redundancy: 2 # send cmd twice
              delay: 100 # ms
              recv:
                  ok: ~
                  err: ~
  peristaltic:
      send: # delay after cmds 100ms - 1 sec
          SET_SPEED:
              desc: set pump speed
              opcode: G
              args:
                  - 1
                  - speed:0-100
              delay: 100
              recv:
                  ok: ~
                  err: ~       
          SET_DIRECTION:
              desc: set pump direction, direction:1=counterclockwise or 2=clockwise
              opcode: W
              args:
                  - 1
                  - direction:1-2:default=1
              delay: 5000
              recv:
                  ok: ~
                  err: ~        
  syringe:
      send: # delay after cmds 100ms - 1 sec
          INIT_ALL:
              desc: init all (both) pumps
              opcode: _Z0R
              args:
                  - 0
              delay: 100
              recv:
                  ok: ~
                  err: ~       
          SET_INPUT:
              desc: position valve in for given pump
              opcode: /$1IR
              args:
                  - 1
                  - pumpnum:1-2:default=1
              delay: 100
              recv:
                  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)

BioBoard

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

noisebridge-bioboard-450px-NIRprobe6.jpg BioBoardAppNewProject.png


Personal tools