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
The design tool should allow a user to define new DNA, RNA, or Protein coding parts by entering a primary sequence. 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.