Synthetic Biology:ToolsWishlist: Difference between revisions

From OpenWetWare
Jump to navigationJump to search
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
This page discusses some ideas for software tools that might be useful to synthetic biologists. Feel free to contribute.
This page is a place to park / discuss ideas about future synthetic biology CAD software tools.


Tools ought to be designed like an extensible integrated development environment ([http://en.wikipedia.org/wiki/Integrated_development_environment IDE]) such as [http://www.eclipse.org Eclipse]. Usability should be a primary design gaol. The tools should make work more productive for synthetic biologists from a variety of backgrounds. Tools should work together, sharing a common representation for biological parts, devices, systems, and strains. New functionality ought to be easy to add via a plug-in API, and should be able to take advantage of a common framework for displaying and manipulating DNA sequences, parts, devices, systems, and strains.
Tools ought to be designed like an extensible integrated development environment ([http://en.wikipedia.org/wiki/Integrated_development_environment IDE]) such as [http://www.eclipse.org Eclipse]. Usability should be a primary design goal. The tools should make work more productive for synthetic biologists from a variety of backgrounds. Tools should work together, sharing a common representation for biological parts, devices, systems, and strains. New functionality ought to be easy to add via a plug-in API, and should be able to take advantage of a common framework for displaying and manipulating DNA sequences, parts, devices, systems, and strains.


==Specific tools==
==Use Scenario==
===Project management tool===
The scenario assumes some capability that we don't yet have.


A user wishes to design and test a new gene regulatory device based on a circuit with a desired feedback topology. She knows the output of the device should be transcription of any gene of interest (PoPS) and the input should be a non-metabolized small molecule.


===Design tool===
Using the design tool, she draws circuits that implement her desired topology. The nodes in the circuit are not yet bound to actual biological parts, but are purely defined by abstract parameters such as binding constants and kinetic rates.
 
Scenario


A user wishes to design and test a new gene regulatory device based on a circuit with a desired feedback topology. She knows the output of the device should be transcription of any gene of interest (PoPS) and the input should be a non-metabolized small molecule.
Using the simulation tool, she might explore the parameter space of her circuit, collecting data on which combinations of parameters produce an acceptable input / output or dynamic behavior.  


Using the design tool, she creates circuits that implement her desired topology. The nodes in the circuit are not yet assigned...working
She then could use the design tool to search for actual biological components that embody the acceptable parameter sets. If a part doesn’t exist, she can enter a DNA or protein sequence and the create it.


With biological components bound to the circuit, she then uses the assembler to design how the implementing biological components will be introduced into an organism. First she might select an organism (or strain or chassis). A codon optimized DNA sequence for any protein coding components would be created. The cloning and transformation details would all be worked out here. Is she intending to synthesisze the DNA de-novo or clone from existing physical DNA? What cloning / DNA assembly system do the physical parts conform to? What DNA primers need to be ordered?




The design tool should be useful for design. For example, suppose a user wants to create a new gene expression regulatory circuit based on a desired feedback topology. The user should be able to initially draw the topology of the circuit without regard to existing parts in any particular parts repository.
==Specific tools==
===Common Frameworks===
*Nucleotide / Protein display and manipulation framework.  
*Circuit display and manipulation framework.  
*Formal language for specifying or connecting parts or devices?




===Project management tool===




. Parts would have an extensible set of associated metadata that characterizes the part, including for example, performance results, compatibility with other parts, and species, strain, or chassis expression compatability. In this representation, parts should be relatively abstract. For example, they should not include flanking sequences for a particular cloning system. Protein coding parts should be specified as a polypeptide sequence not a DNA sequence so that codon optimization for the target organism can be applied separately.
===Design tool===
 
Similarly, the design tool should allow a user to combine parts to create devices, to combine devices to create systems, and so on. Devices and systems would also have associated performance and compatibility metadata. At all levels of the hierarchy, the specification should be as abstract as usefully possible. An inverter device, for example, might specify the polypeptide sequence of a transcriptional repressor and the target DNA sequence to which it binds, but should not place any constraints on where the repressor DNA coding sequence should be in relation to the target DNA sequence repressed.


===Assembly tool===
===Assembly tool===

Latest revision as of 17:55, 22 February 2008

This page is a place to park / discuss ideas about future synthetic biology CAD software tools.

Tools ought to be designed like an extensible integrated development environment (IDE) such as Eclipse. Usability should be a primary design goal. The tools should make work more productive for synthetic biologists from a variety of backgrounds. Tools should work together, sharing a common representation for biological parts, devices, systems, and strains. New functionality ought to be easy to add via a plug-in API, and should be able to take advantage of a common framework for displaying and manipulating DNA sequences, parts, devices, systems, and strains.

Use Scenario

The scenario assumes some capability that we don't yet have.

A user wishes to design and test a new gene regulatory device based on a circuit with a desired feedback topology. She knows the output of the device should be transcription of any gene of interest (PoPS) and the input should be a non-metabolized small molecule.

Using the design tool, she draws circuits that implement her desired topology. The nodes in the circuit are not yet bound to actual biological parts, but are purely defined by abstract parameters such as binding constants and kinetic rates.

Using the simulation tool, she might explore the parameter space of her circuit, collecting data on which combinations of parameters produce an acceptable input / output or dynamic behavior.

She then could use the design tool to search for actual biological components that embody the acceptable parameter sets. If a part doesn’t exist, she can enter a DNA or protein sequence and the create it.

With biological components bound to the circuit, she then uses the assembler to design how the implementing biological components will be introduced into an organism. First she might select an organism (or strain or chassis). A codon optimized DNA sequence for any protein coding components would be created. The cloning and transformation details would all be worked out here. Is she intending to synthesisze the DNA de-novo or clone from existing physical DNA? What cloning / DNA assembly system do the physical parts conform to? What DNA primers need to be ordered?


Specific tools

Common Frameworks

  • Nucleotide / Protein display and manipulation framework.
  • Circuit display and manipulation framework.
  • Formal language for specifying or connecting parts or devices?


Project management tool

Design tool

Assembly tool

Simulation tool