Team:BU Wellesley Software/Notebook/JanooNotebook

From 2011.igem.org

Revision as of 16:32, 10 June 2011 by Jtferns (Talk | contribs)

Contents

Life = 42

jtferns

--Jtferns 15:47, 7 June 2011 (CDT)

To-Do List

  • read through Doug's Algorithm paper [http://www.ncbi.nlm.nih.gov/pmc/articles/PMC2860133/]
  • read through AssemblyManager code
  • read through ClothoHelp [http://wiki.bu.edu/ece-clotho/index.php/Main_Page]
    • edit main page to allow for click-able images
    • break main page
    • fix link-caption centering issue
  • read through kirigami/TB paper
  • read through Friedland abstract/paper [6/7/2011]


  • PuppetShow Thought Project
    • read through Puppeteer/PuppetShow powerpoint [6/7/2011]
      • PuppetShow takes some version of the protocol graph produced via the Assembly Planner
        • The relationships between parts within the protocol graphs are assumed to be labeled with protocol names
        • The PuppetShow itself should link the protocol names to libraries and help generate the necessary Puppeteer code
    • read through Puppeteer/related abstract [6/7/2011]
    • peruse GroovyScripter code/structure
      • read up on JEditorPane first!! [6/8/2011]
        • need to find out how to properly import Python shell to run Python code [6/9/2011]
        • able to successfully incorporate python interpreting using native Python 3.2 installation!
      • attempt to mimic GUI and incorporate Python-parsing? [6/8/2011], [6/9/2011]
        • able to successfully mimic the JEditorPane!!
    • figure out how to seamlessly integrate Python script-compiling within fluid GUI [6/9/2011]
    • design aforementioned fluid GUI
      • currently working on implementing fluid menu bar design for easy navigation and script creation/manipulation
Using the Clotho platform [4], we develop two
applications for specifying and executing biological protocols.
The Assembly Planner [5] is the end-point of an endto-
end design workflow [3] that produces an assembly plan
for synthetic biological devices, with each assembly step
annotated with the name of a biological protocol. Each
such protocol itself may be fully specified using another
Clotho application called PuppetShow, which provides an
environment for writing, testing, debugging, and executing
biological protocols.
--A Software Stack for Specification and Robotic Execution of Protocols for Synthetic Biological Engineering

The Day-to-Day

PS Scripter GUI as of 6/8/2011
[6/8/2011]

Finally got the plugin to properly load off of the Clotho dashboard. It runs as a JEditorPane with (I assume; has yet to be verified) Python-syntax-highlighting. Next up is finding a way to properly integrate a "run" method for parsing/executing Python scripts made within this GUI.

Got a bare-bones menu-bar working. It doesn't have any functioning implementations, yet. However I'm going to stop here until I can figure out how to parse Python and run it from the GUI window.

[6/9/2011]

I started looking into incorporating the Jython library/software package to assist with compiling Python scripts, etc. However, as per Swapnil's advice, instead I shifted to just trying to run the Python scripts directly off of a native Python installation. This makes sense since one would currently need to have Python installed to work with Puppeteer, so executing/compiling the Python scripts/code should work.

Right now I am trying to properly code the runtime-execution of python to parse some sample code within a test file that I placed within the App directory. My thoughts for future development involves saving the written code to a temp file and executing the code when the user chooses the run command.

Update: The App can now fully parse text written within the custom-JEditorPane and interpret it using the native Python 3.2 installation. I have currently abandoned any interest in incorporating Jython and will focus more on GUI design and simple file-manipulation.

[6/10/2011]


The Backburner

  • Protocol Graphs Thought Project
    • Ideally, we should have a protocol graph that would be a generic form of managing an arbitrary combination of protocols.
    • The protocol graph should contain vertices, which are either operands or protocols/operations.
    • The graph should also connect operands to protocols.
    • Given access to a library of protocol specifications, one should be able to give an expression or an explicit protocol graph for parsing purposes.
    • One should be able to use PuppetShow (see powerpoint) to create an implicit protocol graph.
    • One should be able to reconfigure protocol graphs for optimization, etc.
    • Questions
      1. How do we want to construct this graph?
      2. Does the user input an expression?
      3. Should we have an interactive GUI to help user create custom protocol graphs?