This page discusses some ideas for software tools that might be useful to synthetic biologists. Feel free to contribute.
Tools ought to be designed like an extensible integrated development environment (IDE) such as 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.
Project management tool
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 creates circuits that implement her desired topology. The nodes in the circuit are not yet assigned...working
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.
. 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.
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.