In this tutorial, we will use a Combinatorial Golden Gate (CGG) example design. The image below shows the CGG example you will find in ‘Designs’.
This example design has 6 bins, 3 of which have 2 part variants, totaling 8 constructs, from a total library of 9 parts. *
Figure 1: An example of a combinatorial Golden Gate design.
*Note: The library is composed from 9 different DNA parts. The number of actual fragments used in the assembly reaction depends on how j5 optimizes part reuse. For example, if adjacent parts happen to be sourced together on the same DNA source sequence, they will not be broken up into two fragments, only to be assembled later, rather, j5 will preserve the DNA as one contiguous piece of DNA that encompasses two parts. One of the big advantages of j5 is the ability to recognize if two or more parts are already contiguous on a source sequence.
1. Preparing a CSV file of a design.
To prepare the above design for a CSV import file, the design information needs to be specified as described below:
Row 1 lists the names of the bins in the design.
Other rows represent variants of parts
Note: All the parts, in this case 9 parts, must already exist in your ‘DNA Parts’ library. These parts can be uploaded via FASTA/Genbank files or create parts via DESIGN.
Figure 2: Design represented in spreadsheet for CSV file import
Save spreadsheet as a CSV file.
To export a CSV from Google Spreadsheets:
Click the File menu, then click Download as, and choose Comma-separated values (.csv, current sheet)
To export a CSV from Microsoft Excel:
Click the File menu, then the Save as... command.
In the Save as type select menu, choose the Comma Separated Values (.csv) option.
Click the Save button. If warning messages appear, select the OK or Yes button.
2. Uploading the CSV file of the design.
To upload your design, from the header menu, go to Designs > Designs submenu > New Design. This takes you to the ‘Create New Design’ form. Give your design a name (required), some description (recommended), and click or drag to upload the CSV file that you have created previously to the ‘Attachment’ section. Click ‘Save’ and you will be directed to the design editor where you can view your design.
You can also find an option to download an example CSV design file in the ‘Create New Design’ form.
There are three possible scenarios around identifying the underlying DNA part represented by the part name when you upload via a CSV file:
If the part name matches only one part in your ‘DNA Parts’ library, the matched part will be inserted in the appropriate bin as specified in the CSV file. This is the common case that most users will want.
If the part name does not exist in your library, then an unmapped part (labeled by the red icon in front of the part name) will be inserted into your design. Before you can submit for assembly you will need to map the unmapped part to an actual part in your library by double clicking on the part and select a part from the ‘DNA Parts’ library (See Figure 3 & 4 below).
If multiple parts match the name, a part set that contains all of those parts will be created. If this is unintended the user will probably want to replace that part set in the design with just one of the parts that the set contains (See Figure 3 & 4 below).
Figure 3: A CSV file example of a design in which the part names do not exist in the ‘DNA Parts’ library.
Figure 4: Example of a design imported from a CSV file in which the part names do not exist in the ‘DNA Parts’ library.
All parts that are labeled with the red icons do not exist in the ‘DNA Parts’ library. Users need to map these parts to existing parts in the library. Additionally since ‘vector_backbone’ (card 1.1) has multiple parts matched to ‘vector_backbone’ part name, a part set of ‘vector_backbone’ was created and inserted into the design.
It is important to note that the following things are not supported in the CSV format:
SBOL icons are not supported in a design CSV import, so the user will need to set the icons manually after the upload.
You cannot create new sequences with this, so it is important to understand that the parts must already exist in the database.
Assembly method and parameter presets will also need to be set manually after the upload.