|
|
(10 intermediate revisions by the same user not shown) |
Line 51: |
Line 51: |
| Let's perform a cell culturing experiment and isolate some bacteria for bioengineering targets! | | Let's perform a cell culturing experiment and isolate some bacteria for bioengineering targets! |
| * Cory Tobin 2012-2013 (LA Biohackers ; Cal Tech) | | * Cory Tobin 2012-2013 (LA Biohackers ; Cal Tech) |
− | ** Nitrogenase Directed Evolution | + | ** [http://wiki.biohackers.la/Nitrogenase_Directed_Evolution Nitrogenase Directed Evolution] |
| *** Plants need nitrogen in the form of ammonia, nitrates or nitrites (artificially via 'ammonium nitrate fertilizers') | | *** 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." | | *** "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." |
Line 57: |
Line 57: |
| ''Sounds great!'' | | ''Sounds great!'' |
| | | |
− | http://wiki.biohackers.la/files/thumb/2/2b/N2-ase.png/500px-N2-ase.png | + | http://wiki.biohackers.la/files/thumb/2/2b/N2-ase.png/500px-N2-ase.png [http://wiki.biohackers.la/Nitrogenase_Directed_Evolution Link] |
| | | |
| </div> | | </div> |
Line 137: |
Line 137: |
| | | |
| Sense and Control: | | Sense and Control: |
| + | * Heater element |
| * Temperature | | * Temperature |
| * CO2 | | * CO2 |
Line 157: |
Line 158: |
| | | |
| http://88proof.com/synthetic_biology/blog/wp-content/uploads/2009/03/img_0012sm.jpg | | 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 | | * Low cost electronics |
− | * Industry standard | + | * Industry standard, available in volume |
− | * Open source design, available in volume | + | * Open source design |
| * Replaceable components | | * Replaceable components |
− | | + | * '''Multiple functions on one device''' |
− | http://88proof.com/synthetic_biology/blog/wp-content/uploads/2009/03/mq5-sensor.jpg
| |
| | | |
| | | |
Line 363: |
Line 366: |
| </div> | | </div> |
| | | |
− |
| |
− | <div class="slide">
| |
− | =Engineered Biology - Data Format - Environmental data=
| |
− |
| |
− |
| |
− | *Each device has environment data associated with operating it.
| |
− | ** Points in space
| |
− | ** Containers
| |
− | ** Solids, liquids, gases
| |
− | *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
| |
− |
| |
− | <pre class="incremental">
| |
− | %YAML 1.1
| |
− | ---
| |
− | version: 2009-09-04
| |
− | tecan:
| |
− | genesis:
| |
− | points:
| |
− | roma0:
| |
− | magnet-hover: '14056,1850,980,1800'
| |
− | magnet-place: '14056,1850,687,1800'
| |
− | sampletray-hover: '14057,2828,980,1800'
| |
− | sampletray-place: '14057,2828,582,1800'
| |
− | shaker-hover: '1780,3569,1535,1800'
| |
− | shaker-put: '1780,3569,865,1800'
| |
− | shaker-take: '1780,3569,865,1800'
| |
− | shakerlock-1: '1762,1177,1535,900'
| |
− | shakerlock-2: '1762,1177,815,900'
| |
− | shakerlock-3: '1191,1177,808,900'
| |
− | shakerlock-4: '1762,1177,815,900'
| |
− | shakerlock-5: '1762,1177,1535,900'
| |
− | shakerlock-6: '1780,3569,1535,1800'
| |
− | shakerlock-hover: '1780,3569,1535,1800'
| |
− | HOME1: '11165,2525,980,1800'
| |
− | ...
| |
− | </pre>
| |
− |
| |
− |
| |
− |
| |
− | </div>
| |
− |
| |
− | <div class="slide">
| |
− | =Engineered Biology - What's Running Now=
| |
− |
| |
− | * General purpose software to control FIAlab syringe pump and 10-way valve
| |
− | * General purpose software to control part of the Tecan arm
| |
− | * Network operation of the Tecan; run a bio-protocol from your desk
| |
− | ** Get the current operational status in real time for current experiment
| |
− | *'''Solid foundation; much more to be done'''
| |
− | * ''Lab Automation'' mailing lists have already responded with high interest
| |
− | * 2 releases already made to the public internet software archive for Perl (CPAN)
| |
− |
| |
− | The end user writes a simple Perl application to control all devices and robotics.
| |
− | * Perl is '''the #1 bioinformatics language.'''
| |
− |
| |
− | <pre class="incremental">
| |
− |
| |
− | sub Main {
| |
− | $hw = Robotics::Tecan->new(
| |
− | connection => 'network,Robotics::Tecan::Genesis,genesis0',
| |
− | token => 'M1',
| |
− | serveraddr => 'heavybio.dyndns.org:8088',
| |
− | password => $ENV{'TECANPASSWORD'});
| |
− |
| |
− | $hw->attach("o");
| |
− | $_ = $hw->status();
| |
− | exit -2 if !/IDLE/i;
| |
− |
| |
− | # Load worktable
| |
− | $hw->configure("client-traymove1test.yaml");
| |
− |
| |
− | my @path = (
| |
− | "shakerlock-hover",
| |
− | "shakerlock-1",
| |
− | "shakerlock-2",
| |
− | "shakerlock-3",
| |
− | "shakerlock-4",
| |
− | "shakerlock-5",
| |
− | "shakerlock-hover"
| |
− | );
| |
− | checkok $hw->move_path("roma0", @path);
| |
− |
| |
− | checkok $hw->move("roma0", "shaker-take");
| |
− | checkok $hw->grip("roma0");
| |
− | checkok $hw->move("roma0", "shaker-hover");
| |
− |
| |
− | checkok $hw->move("roma0", "sampletray-hover");
| |
− | checkok $hw->move("roma0", "sampletray-place");
| |
− | checkok $hw->grip("roma0", 'o', 120);
| |
− | checkok $hw->move("roma0", "sampletray-hover");
| |
− | checkok $hw->park("roma0");
| |
− |
| |
− | checkok $hw->park("liha");
| |
− |
| |
− |
| |
− | </pre>
| |
− |
| |
− |
| |
− | </div>
| |
− |
| |
− | <div class="slide">
| |
− | =Engineered Biology - What's Running in "Upcoming Weeks"=
| |
− |
| |
− | * General purpose software to control FIAlab
| |
− | * General purpose software to control Tecan arm & Tecan liquid handler & Tecan peripherals
| |
− | * Network operation of all of the above; run a bio-protocol ''entire flow'' from your desk
| |
− | ** And get the data results back from MATLAB in '''real time'''
| |
− | * Advanced error handling for Tecan bio-protocol problems: automatic re-trying
| |
− | * Complete suggested bio-protocol as initial high-throughput run
| |
− |
| |
− | Medium Term Goal
| |
− |
| |
− | * Prove system across multiple & varied bio-protocols
| |
− | ** Swap out the existing devices for upgraded or custom versions.
| |
− | ** Use simple language to control the bio-protocol
| |
− | * Improve maintainability of both software applications & hardware designs
| |
− | * Allow remote users to access local hardware (as a lab service)
| |
− | ** A new Robot Scientist is born
| |
− |
| |
− | Long Term Goal
| |
− |
| |
− | * Run a complete bio-protocol ''using the English language''
| |
− | ** '''Clarification: limited bio-latin-english'''
| |
− |
| |
− | </div>
| |
− |
| |
− |
| |
− | <div class="slide">
| |
− | =Engineered Biology - Benefits=
| |
− |
| |
− | *Write scripts into the framework to build up scale and reuse; rather than typical stand-alone scripts which are 1-time throw-away
| |
− | *Allows many devices to be controlled from the same user program ("hardware integration")
| |
− | *Allows device operations not supported by the vendor
| |
− | ** This includes much better error handling & re-trying
| |
− | *Allows abstraction of the devices: swap out one device for another
| |
− | **Removes vendor lock-in, creating more competitive forces to drive innovation among various devices
| |
− | *Plug in '''new custom devices,''' can quickly operate with same user program
| |
− | *Pipe data to/from MATLAB, the web, the wiki, .csv, others ("data integration")
| |
− | *Network operation
| |
− | **The controller PC will miss fewer commands since vendor application does not take CPU time
| |
− | **The user PC doesn't have to be Windows to run a device (many benefits there)
| |
− | **The user can access device status and device output from anywhere (lab or home)
| |
− | **Built-in network security
| |
− | *The user can program complex algorithms using multiple devices, creating a control system with feedback to optimize a protocol or make arbitrary decisions
| |
− | **The "Robot Scientist" was claimed to have identified new targets "on it's own" - using data feedback and prediction; smart algorithms should be possible
| |
− | </div>
| |
− |
| |
− |
| |
− | <div class="slide">
| |
− | =Engineered Biology - Benefits=
| |
− |
| |
− | Example devices insertable into the Robotics 'flow'
| |
− |
| |
− | * Inkjet piezo-heads - pL or nL droplets, gradients, etc
| |
− | * Alternative substrates vs. well plates - CDs, other?
| |
− | * Millifluidics (Peter)
| |
− | * Physical handling (repetitive tasks) - stuff with motors for plate fetch & store
| |
− | * other?
| |
− |
| |
− | </div>
| |
− |
| |
− |
| |
− |
| |
− | <div class="slide">
| |
− | =Engineered Biology - Protolexer=
| |
− |
| |
− | Let's Do Something "Simple" : Revisited
| |
− |
| |
− | '''Just Use English.'''
| |
− |
| |
− | * Feed the protocol directly to the computer.
| |
− | ** Computers ''are'' smart enough.
| |
− | * The software knows what devices are attached or available on the network.
| |
− | * '''Integrate''' the devices together into a long chain of bio-operations.
| |
− | ** Complain if bio-protocol requires device that is not available (Dependency checking.)
| |
− | * Bio-protocols have fairly standardized formats and standardized language.
| |
− | ** Or can be, with human editing of the English, and a human quickly verifying the "compiled" result before robotics operation.
| |
− |
| |
− | If the computer can't understand a bio-protocol, '''then the bio-protocol is ambiguous and should be re-written anyway'''
| |
− |
| |
− | http://biosx.com/88proof/synthetic_biology/blog/wp-content/uploads/2009/06/protolexer1.png
| |
− |
| |
− | </div>
| |
− |
| |
− |
| |
− | <div class="slide">
| |
− | =Engineered Biology - Data Format - Bio-protocols=
| |
− |
| |
− | <pre >
| |
− |
| |
− | %YAML 1.1
| |
− | ---
| |
− | protocol: Mate-Paired Library Preparation for Sequencing
| |
− | methods:
| |
− | - &standard-purify purify with column:
| |
− | - &cp1 Add 3 volumes of Buffer QG and 1 volume of isopropyl alcohol to the sheared
| |
− | DNA. If the color of the mixture is orange or violet, add 10uL of 3M sodium
| |
− | acetate, pH5.5 and mix. The color turns yellow. The pH required for efficient
| |
− | adsorption of the DNA to the membrane is <= 7.5.
| |
− |
| |
− | - &cp2 Apply 750uL of sheared DNA in Buffer QG to the column(s). The maximum
| |
− | amount of DNA that can be applied to a QIAquick column is 10ug. Use more
| |
− | columns if necessary.
| |
− |
| |
− | - &cp3 Let the column(s) stand for 2 minutes at room temperature.
| |
− |
| |
− | - &cp4 Centrifuge the column(s) at >= 10,000g (13,000 rpm) for 1 minute, then discard
| |
− | the flow-through.
| |
− |
| |
− | - &cp5 Repeat steps 2 and 4 until the entire sample has been loaded onto the column(s).
| |
− | Place the QIAquick column(s) back into the same collection tube(s).
| |
− |
| |
− | - &cp6 Add 750uL of Buffer PE to wash the column(s).
| |
− |
| |
− | - &cp7 Centrifuge the column(s) at >= 10,000g (13,000 rpm) for 2 minutes, then discard
| |
− | the flow-through. Repeat to remove residual wash buffer.
| |
− |
| |
− | - &cp8 Air-dry the column(s) for 2 minutes to evaporate any residual alcohol. Transfer
| |
− | the column(s) to clean 1.5-mL LoBind tube(s).
| |
− |
| |
− | - &cp9 Add 30uL of Buffer EB to the column(s) to elute the DNA and let the column(s)
| |
− | stand for 2minutes.
| |
− |
| |
− | - &cp10 Centrifuge the column(s) at >= 10,000g (13,000 rpm) for 1 minute.
| |
− |
| |
− | - &cp11 Repeat steps 9 and 10.
| |
− |
| |
− | - &cp12 If necessary, pool the eluted DNA.
| |
− |
| |
− | - &bead-purify purify with magbeads:
| |
− | - &bp1 Add 100uL of DNA to 95uL of magbeads.
| |
− |
| |
− | - &bp2 Vortex at 1,000RPM for 1 minute.
| |
− |
| |
− | - &bp3 Incubate on magnets for 300 seconds at room temperature to allow DNA to
| |
− | bind to beads and beads to settle.
| |
− |
| |
− | - &bp4 Remove supernatant while beads are magnetized.
| |
− |
| |
− | - &bp5 Elute while beads are magnetized using 100uL of EtOH.
| |
− | Pause for 90 seconds during each wash to allow beads to settle.
| |
− | Allow EtOH to evaporate until beads are dry and
| |
− | cracks are visible in the bead surface.
| |
− |
| |
− | - &bp6 Resuspend with 15 uL Buffer xx to resuspend beads.
| |
− |
| |
− | - &bp7 Vortex at 1,000RPM for 20 seconds.
| |
− |
| |
− | - &bp8 Incubate for 200 seconds on magnets at room temperature.
| |
− |
| |
− | - &bp9 Save the eluted DNA.
| |
− | </pre>
| |
| | | |
− | * Easy to edit (it's text with indenting)
| |
− | * Easy to read (no crazy formatting words)
| |
− | * Very easy to share
| |
− | ** Standardized format
| |
− | ** Self-contained, no extra files needed
| |
− | * Mostly easy to learn
| |
− | * Easy for computers to read, process, write, share
| |
− | * Defined in YAML
| |
− | </div>
| |
| | | |
| | | |
− |
| |
− | <div class="slide">
| |
− | =Engineered Biology - Competing Method/Prior Art: BioStream (MIT)=
| |
− |
| |
− | "Towards a High-Level Programming Language for Standardizing and Automating Biology Protocols"
| |
− |
| |
− | *"Abstraction Layers for Scalable Microfluidic Biocomputers", William Thies , John Paul Urbanski , Todd Thorsen , and Saman Amarasinghe, Computer Science and Artificial Intelligence Laboratory, Hatsopoulos Microfluids Laboratory, Massachusetts Institute of Technology
| |
− |
| |
− | * Defines "high level" (like Java/C++) language for describing protocols
| |
− | * Can take some standardized English protocols as input
| |
− | * Can automatically generate the "high level language" for the computer
| |
− | * Can output a human-readable clean English bio-protocol
| |
− | ** This is a "Validated-clean" version of original bio-protocol
| |
− | </div>
| |
− |
| |
− |
| |
− | <div class="slide">
| |
− | =Engineered Biology - Competing Method/Prior Art: BioStream (MIT)=
| |
− |
| |
− | BioStream "clean English output" for '''[http://openwetware.org/wiki/DNA_extraction_from_tissue '''DNA extraction from tissue protocol]'''
| |
| | | |
− | http://88proof.com/biotech/img/Biostream-DNA%20extraction%20from%20tissue%20protocol-English-Output.png
| |
− |
| |
− | </div>
| |
| | | |
| <div class="slide"> | | <div class="slide"> |
− | =Robotics - Competing Method: BioStream (MIT)= | + | =Engineered Biology - Competing Method/Prior Art: BioBoard (Noisebridge)= |
| | | |
− | "Towards a High-Level Programming Language for Standardizing and Automating Biology Protocols"
| + | [https://www.noisebridge.net/wiki/BioBoard BioBoard] |
| | | |
− | BioStream "high level language" for '''[http://openwetware.org/wiki/DNA_extraction_from_tissue '''DNA extraction from tissue protocol]'''
| + | "an Arduino-controlled sensor package that allow users to monitor a range of physiochemical factors related to microbiological processes" |
| | | |
− | http://88proof.com/biotech/img/Biostream-DNA%20extraction%20from%20tissue%20protocol-Source-Output.png | + | 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 |
| | | |
| | | |
| </div> | | </div> |