Skip to content

lucaswaldburger/ucb-task-visualizer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TaskVisualizer

TaskVisualizer is a simulator to visualize the Semiprotocols from the TaskMaster 2.0. Unlike the PipetteAid, this will feature a PCR and tube rack and will verify the sequence of events from a semiprotocol by handling well volume and tubes already present in the workspace. TaskVisualizer will significantly reduce the time required to debug the results from TaskMaster 2.0 as well as future TaskMaster assignments.

Unlike PipetteAid

  • Additional functionality
    • Play
    • Simulate
    • End
  • Features a complete workspace composed of
    • Tube rack
    • PCR rack
    • Deck (2x2 PCR plates)
  • Allows access to contents of each well using MouseOver
  • Keeps track of
    • Price at the current stage of the Semiprotocol
    • Human burden at the fcurrent stage of the Semiprotocl
    • Current pipette being used for Transfer and Dispense steps

Addresses Confusion from TaskMaster 1.0

  • User can view changes to the entire workspace
  • Tube volume is considered to throw Exception when removing volume that results in a negative volume, or adding volume that exceeds the maximum volume for the specified Container
  • Since user implementation of TaskMaster varied, it was challenging to write robust tests that applied to all cases. Therefore, TaskVisualizer serves as a visual guide to addressing errors in Semiprotocols generated by the TaskMaster.

Workspace Representation

  • PCR plates and rack
    • 8 rows x 12 columns
  • Tube rack
    • 6 rows x 8 columns (default)
    • 8 rows x 12 columns
  • Deck is empty until Semiprotocol specifies the addition of a plate

Challenges

  • No experience using Model-View-Controller (MVC) pattern for implementing user interfaces
  • Sticking to the MVC framework
  • MouseOver functionality
  • Updating Well color, contents, and displayed volume
  • Making implementation functional without drastically changing the Semiprotocol structure

Next Steps

  • For Transfer steps, add arrow specifying source to destination
  • Work on a visual implementation of Multichannel
  • Add tabs: to enable multiple tube and PCR racks
  • Revise MouseOver: allow user to select well by clicking and sum the contents for multiple selected wells

As a Semiprotocol Validator

While I focused on the Visualization/Simulation, I can see this project being extended to further validate the Semiprotocol beyond checking references in the workspace and correctness of volumes in wells.

  • All internal references to plates correspond to tokens introduced in addContainer Tasks
  • All addContainer Tasks refer to an empty position of the workspace
  • All PCR reactions ultimately contain two primers, a template, buffer, dNTPs, and polymerase
  • The contents in the PCR matches the specification of the ConstructionFile
  • The volumes and dilutions should match the protocol
  • Same as previous for digestions and ligations

From Bioengineering 134 November 1st Lecture

Authors

  • Lucas M. Waldburger TaskVisualizer MVC framework
  • Tong Zhang TaskMaster 2.0 and Burden calculator
  • Dr. J. Christopher Anderson PipetteAid framework as a reference

Acknowledgments

  • Professor Anderson and Pawel Gniewek for feedback and assistance

License

MIT

About

Final Project for Genetic Design Automation

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages