The DeviceEditor bioCAD canvas provides a web-based visual design environment (Figure 1) that mimics the familiar whiteboard design process practiced in biological laboratories. An online user's manual [23] provides an introduction to bioCAD, an overview of DeviceEditor functionality, and step-by-step how-to video demonstrations.

Figure 1 DeviceEditor design canvas. Screenshot of the browser-based DeviceEditor user interface [24]: (top left) buttons for activating the j5 controls dialog box and setting DeviceEditor properties, (left panel) palette of standardized SBOLv part icons, (center) drag-and-drop design canvas with part icons and a collection object (white oval with vertical lines demarking bins), and (right panel) information detail for the selected part or collection. Full size image

DeviceEditor design process

To begin the process, the genetic components or biological "parts" that will comprise the design are defined. This is accomplished by first selecting a standardized icon from the Synthetic Biology Open Language Visualization extension (hereafter SBOLv) [25] palette to represent a given component (e.g., promoter, 5' UTR, terminator). If no icon in the SBOLv palette fully captures the essence of a part (e.g., the pBbS8c-rfp backbone consists of more than just an "Origin of Replication", Figure 2), the most appropriate option or a blank generic icon can be selected. While visually evocative, from the outset the icons do not contain actual information. A DNA sequence is then mapped to the part icon (Figure 2), either copied from third party software or retrieved from a sequence file. DNA sequences in DeviceEditor do not need to be "packaged" in any particular format, such as the BioBricks format [26]. Each part is then set to either "Forward" (default) or "Reverse" to indicate the desired orientation of the part in the resulting construct. Once all of the desired component part icons have been defined, they are arranged from left to right in a "collection" to match their 5' to 3' order in the target DNA construct (Figure 3A, B; Additional file 1). For combinatorial designs, interchangeable component icons are arranged in the same vertical collection "bin" (Figure 3C, D; Additional file 2). The design is then specified to produce a "Circular" (default) or "Linear" DNA construct (Figure 1, top right).

Figure 2 Mapping a DeviceEditor part icon to an annotated DNA sequence. A new part icon on the design canvas (top left) is created by clicking on the desired SBOLv icon (here "Origin of Replication") in the left panel of the user interface (Figure 1). At this point, a DNA sequence has yet to be mapped to the part icon. In a separate browser-tab or software application, the desired portion of a DNA sequence (here the pBbS8c-rfp backbone [27] spanning from Xho I to EcoR I) is selected and copied (top right) to the clipboard. Third-party software (here VectorEditor) may embed meta-data (including jbei-seq format [28] sequence data) into the clipboard along with the plain-text DNA sequence selection (see Methods). Returning to DeviceEditor, the copied DNA sequence is pasted (mapped) from the clipboard onto the part icon. Clipboard meta-data provides DeviceEditor with the selected start and stop base pairs (here 1934 to 1215) within the circular source sequence, along with the source's name (here pBbS8c-rfp), entire sequence, and feature annotations (displayed in the "Source Data" field; bottom left). If the third-party software (e.g. ApE [29]) does not embed this meta-data, the sequence annotations are not transferred to DeviceEditor, and the user must specify the source name and the selected start and stop base-pairs within the copied sequence. The user may alternatively map a Genbank-format sequence file to the part icon, which preserves the source name and feature annotations. The name for the part icon (here "pBbS8c_EcoRI_XhoI_vector_backbone") is specified, along with whether the part is associated with the reverse complement of the selected sequence. The "Done" button is clicked, the part icon has now been named, and the desired annotated DNA sequence has been mapped to the part icon (bottom right). Full size image

Figure 3 Example biological designs rendered on the DeviceEditor canvas. (A) pNJH00010 [12] consists of seven components: the pBbS8c-rfp backbone spanning from Xho I to EcoR I (blue highlight, bottom left), the RBS sequence from pBbS8c-rfp (purple highlight, bottom left), gfp uv from its 5' end to its Xho I site (blue highlight, bottom right), a silent mutation in gfp uv 's Xho I site (star), gfp uv between its Xho I and BamH I sites (purple highlight, bottom right), a silent mutation in gfp uv 's BamH I site (star), and gfp uv _sig.pep from its BamH I site to its 3' end (blue highlight, bottom right). These components are arranged from left to right in their 5' to 3' order in pNJH00010 (top). The corresponding SBOLv icon is presented immediately above each component. (B) To reconstitute the design in (A), each of the component sequences is mapped to a part icon (as in Figure 2), and arranged from left to right in 5' to 3' order as in (A) in a 7-bin collection object (white oval with vertical blue lines demarking bins), with each part icon in its own bin. This DeviceEditor design has been saved in Additional file 1. (C) The combinatorial design for plasmids pRDR000001-pRDR000008 [12] consists of nine components, including the pNJH00010 backbone, two N-terminal signal peptides (sig1 and sig2), two Gly/Ser linkers (long and short), the gfp uv mutant from pNJH00010, two 5' ssrA tags (standard and enhanced), and a 3' ssrA tag. These components are arranged from left to right from 5' to 3', with interchangeable components arranged from top to bottom. (D) Each of the component sequences in (C) is mapped to a part icon, and these part icons are then arranged from left to right as in (C) in a 6-bin collection object, with interchangeable part icons in the same bin. Each bin, now demarcated with purple lines indicating a combinatorial design, is then named according to the category of parts it contains (bottom) This DeviceEditor design has been saved in Additional file 2. Full size image

To limit the total number of times a part may appear in a given construct, to prevent any two parts from appearing together in the same construct, or to ensure that two given parts always appear together in the same construct, Eugene design specification rules [20] may be added. These rules can ensure that two parts always appear together in the same construct, prevent two parts from appearing together in the same construct, and limit the total number of times a part may appear in a construct. For example, if prior research demonstrated that the short linker sequence must be used with the tag sig1 (Figure 3C) to achieve proper GFPuv localization, Eugene rules can be specified (Figure 4; Additional file 3) to ensure that the short linker is always constructed together with sig1. This would eliminate two (of the eight possible) combinations that have the short linker following the tag sig2. For metabolic pathway library designs that vary enzyme ortholog selection and gene ordering [30, 31], Eugene rules can ensure that orthologs and individual enzymes are not repeated in the same construct. The application of just 9 Eugene rules to the design shown in Figure 5A eliminates 1632 undesirable combinations that do not constitute complete pathways, out of 1728 total possible combinations. Also, the set of "desirable" combinations may evolve with additional experimental information, for example, if evidence arises that two particular enzyme orthologs do not operate well together in E. coli. A key point is that this additional information only requires the modification of a few design rules to update the desirable set of combinations, rather than complete re-designs. This is important because toggling a few design rules enables researchers to re-use designs as they switch between microbial hosts and as they gain experimental insight. For selection-based experiments exploiting pooled-library designs [32], Eugene rules can ensure that each vector backbone is always constructed together with its one-to-one corresponding user-specified DNA barcode (Figure 5B), facilitating and reducing the cost of sequence-identifying top performers.

Figure 4 Adding Eugene design specification rules. (A) Graphical user interface for creating and modifying rules. A part icon (here "short", bottom left) on the design canvas is clicked, followed by the "Add Rule" button in the right panel of the user interface (bottom right). The name for the rule (here "rule3") is specified, and one of three Eugene operators (NOTMORETHAN, WITH or NOTWITH) is selected (here "WITH"). For the NOTMORETHAN operator, the maximum number of times the part may be present in a single construct is specified. For the WITH or NOTWITH operators, the other part icon on the design canvas (Operand 2, here "sig1") that should or should not be present in a single construct, respectively, with the selected part icon (Operand 1, here "short") is chosen. The list of Eugene rules associated with the selected part icon is shown in the right panel of the user interface (right). Part icons with associated Eugene rules are visually identified on the design canvas by an orange circle indicator light at bottom right, and part icons with specified forced assembly strategies are distinguished with a blue (bin consensus-matching assembly strategy) or a red (bin consensus-breaking assembly strategy) rectangle indicator at top left. (B) Importing Eugene rules from a file. From the "File" pull-down menu of the user interface (Figure 1, top left), "Import Eugene Rules" is clicked and a Eugene rules file (e.g. Additional file 3) is selected. The Eugene Rules Import dialog displays imported rules in green, rules identical to current rules in black, imported rules with names conflicting with current rules displayed in red (alternative names are auto-generated for the imported rules to resolve conflicts), and ignored rules (e.g. comment lines or rules with invalid operators or operands not present in the current design) in light grey. Importing a set of Eugene rules facilitates the batch creation of multiple rules for complex designs (Figure 5). Full size image

Figure 5 Hypothetical combinatorial DeviceEditor designs. (A) Metabolic pathway library: 29 bins and 19 unique part icons (several repeated through the design). Clicking on a repeated part icon, here "RBS_pET29_5'" (top left), highlights all replicates with thick blue outlines. (B) Gene over-expression library (rotated 90° counter-clockwise): 8 bins and 156 part icons (none repeated). Note that there are only 38 barcodes (sixth bin) that correspond one-to-one with the 38 vector backbones (first bin). This design allows for a single short sequencing read spanning the end of gene 2 (fourth bin) through the barcode and the beginning of gene 3 (eighth bin) to uniquely identify a plasmid combination. As a result, there is not a unique barcode required for each of the 383 = 54,872 possible plasmid combinations. Zoom in with PDF display software to improve legibility. Full size image

To integrate physical implementation (i.e. DNA assembly) strategy into the DeviceEditor design process, the means by which the parts should be assembled together (i.e. "forced assembly strategies") may optionally be prescribed for each part (Figure 4A, top right). Part icons with forced assembly strategies are visually distinguished with a blue rectangle indicator light at the top left (Figure 4A, left). Additional aspects of DNA assembly strategy may be further customized in the "Collection Info" panel (Figure 1, right). For any given bin in a collection, a "direct synthesis firewall" may be set to "true" to prevent the extension of DNA synthesis through the assembly junction [12] to the right of the bin, as visually indicated by a red vertical line between bins (Figure 3D). The optional "forced relative overhang/overlap" position for each bin prescribes the overhang/overlap position of the assembly junction [12] to the right of the bin. Finally, the forced assembly strategy for each bin is displayed but is not directly modifiable, as it is determined by the forced assembly strategies of the parts that the bin contains. To automate DNA assembly, DeviceEditor submits the design contained within the collection to j5, a web-based software tool for designing cost-optimized, scar-less, multi-part, DNA assembly protocols [12] (Figure 6, top). Part icons peripheral to the collection are not submitted as part of the design to j5. Once users have visually verified that the desired constructs are correctly designed, DeviceEditor can also direct j5 to design downstream automation processes, such as condensing multiple assembly files and distributing PCR reactions by annealing temperature (Figure 6, bottom).

Figure 6 Running j5 from within DeviceEditor. The j5 button at the top left of the user interface (Figure 1) is clicked to open the j5 controls dialog box (top left). The j5 design parameters [12] may be customized or returned to their default values by clicking the "from parameters" link at the top right of the "Run j5 on Server" tab (top left), which opens the j5 Parameters dialog box (top right). Otherwise, the user's latest set of design parameters (stored on the j5 server) will be employed. Similarly, the user's latest lists of plasmids, oligos, and direct syntheses will be used (shown here), unless empty or alternate lists are specified. For single construct designs (Figure 3B), the assembly method may be either "SLIC/Gibson/CPEC" or "Golden-gate". For combinatorial designs (Figure 3D), the assembly method may be either "Combinatorial SLIC/Gibson/CPEC" or "Combinatorial Golden-gate" (shown here). After the "Run j5" button is clicked, DeviceEditor submits the design contained within the collection to the j5 server (see Methods) and provides links to the resulting assembled sequences. Clicking on one of these links (here "pj5_00003.gb") will open the corresponding sequence in VectorEditor (bottom left) so that it may be easily verified (here, the N-terminal signal peptide, Gly/Ser linker, gfp uv , and ssrA tag (Figure 3C, D) are confirmed to be in-frame). The "Condense Assembly Files" and "Downstream Automation" tabs in the j5 controls dialog box (bottom right) provide access to j5 downstream automation design. Full size image

Design process acceleration and correct-by-construction design

DeviceEditor accelerates the design process by relieving the user of tedious routine tasks. For example, sequence annotations and other meta-data are retained when sequences are copied via a compatible clipboard format (see Methods) and pasted onto part icons (Figure 2), or mapped from Genbank format sequence files, obviating the need to re-annotate sequences post-assembly. Part icons can be copied and pasted between concurrent DeviceEditor sessions, enabling the re-use of previously defined parts. Also, DeviceEditor provides hyperlink shortcuts to view j5-assembled design sequences in VectorEditor [33, 34] (Figure 6) for rapid visual design feedback.

The DeviceEditor correct-by-construction design process prevents common mistakes. Within the confines of DeviceEditor, the user is not able to perform invalid design modifications. For example, icons for repeated parts are internally linked together (Figure 5A), so that when one instance of a part is modified, all instances are updated in unison, precluding the persistence of obsolete information or the introduction of inconsistencies between repeated parts. DeviceEditor's correct-by-construction features also benefit j5 DNA assembly design automation [12]. The j5 web-form interface [35] requires the user to upload several comma-separated value (CSV) input files. When manually preparing these CSV input files with spreadsheet software (e.g. Excel, Open Office), there are no safeguards against mistyping start and stop base-pair numbers, or placing a direct synthesis firewall at an unintended assembly junction. Since spreadsheet software does not constrain the user's input, j5 design parameters may be specified out of their acceptable ranges, part names may incorporate typographical errors or prohibited characters, and sequence file names may be mistakenly entered instead of sequence display IDs (a subtle, yet common point of frustration). In contrast with the manual preparation of CSV input files, the DeviceEditor interface for j5 ensures that design parameters fall within their acceptable ranges (Figure 6), validates the uniqueness and correctness of part names, automatically extracts sequence display IDs, prevents start and stop base-pair numbering mistakes (Figure 2), and visualizes the selected placement of direct synthesis firewalls (red vertical lines in Figures 3D and 5B). DeviceEditor's correct-by-construction features can optionally prevent the user from moving a part icon with a "DIGEST" forced assembly strategy to the first collection bin, as this would be problematic for downstream j5 DNA assembly design [12]. Finally, DeviceEditor pre-empts substantially increased DNA assembly costs by visually alerting the user if two parts in the same bin have disparate forced assembly strategies, which greatly limits the combinatorial re-use of assembly fragments [12]. Part icons with forced assembly strategies differing from their bin are visually distinguished by a red rectangle indicator light at top left (Figure 4A, left).

Graphical user interface for creating and modifying Eugene biological design specification rules

Several bioCAD tools (e.g. Clotho [8, 36] and GenoCAD [10, 37]) harness biological specification rules and expression grammars to constrain designs, but the underlying rules and grammars are not viewable or modifiable through the design tools themselves. This can be problematic for design specification rule languages such as Eugene [20] that currently rely on name-matching for part identification, since simple typographical errors can result in referencing incorrect or non-existing parts, and identical names (e.g., "vector_backbone") for distinct parts can result in the misapplication of rules. DeviceEditor's graphical user interface for creating and modifying design specification rules (Figure 4A) and its Eugene rules file import feature (Figure 4B) prevent typographical mistakes by constraining new rules to supported operators (e.g. WITH) and operands (i.e. part icons) presently on the design canvas. Part icons associated with Eugene rules are visually identified by an orange circle indicator light at bottom right (Figure 5A). DeviceEditor also prevents the misapplication of rules by 1) not allowing distinct parts to have the same name and 2) displaying all rules that specifically apply to the selected part icon (Figure 4A), precluding the need to search through thousands of unrelated rules. While DeviceEditor currently only supports a subset of Eugene rules (NOTMORETHAN, WITH, and NOTWITH), future development will expand this list towards more complete coverage.

Mechanisms for integration with other bioCAD software

While bioCAD enables the de novo design or selection of existing component parts to achieve a given biological activity, many of these tools (e.g. the RBS Calculator [15] and GLAMM [5]) specialize in a subset of genetic components (e.g. RBS sequences or metabolic enzyme genes) and are not directly integrated with downstream DNA assembly design automation. DeviceEditor assists the aggregation and arrangement of DNA sequences arising from disparate sources. There are three mechanisms to transfer component information from other bioCAD tools to DeviceEditor: copying and pasting (mapping) components into DeviceEditor (Figure 2), CSV and sequence files (i.e. Genbank format) (Figure 7), and DeviceEditor design files (see Methods). The latter two mechanisms are preferable for transferring multiple components to reconstitute complex designs (Figure 5), since copying and pasting is currently limited to one component at a time. CSV and sequence files are advantageous in that they are straightforward for third-party software to generate, although they convey less information (e.g. CSV files omit SBOLv icon selection information, Figure 7) than DeviceEditor design files. SBOL [16], a promising emerging data exchange standard, is an anticipated fourth mechanism for integrating DeviceEditor with other bioCAD software. Further development of DeviceEditor will support importing SBOL XML once the XML serialization of SBOL has been firmly established [38].