Importing a set of Eugene design specification rules
After naming part icons on the design canvas (NOTE: mapping sequences to the parts, as long as the parts have been named, is not pre-requisite), it is possible to import a set of Eugene design specification rules (Bilitchenko 2011A, Bilitchenko 2011B) that apply to the parts on the canvas to ensure that only desired DNA designs are constructed.
Any Eugene rules that do not solely relate to parts on the design canvas or do not use one of the six currently supported operators ("AFTER", "BEFORE", "WITH", "THEN", "NEXTTO", or "MORETHAN") or their negated "NOT" variants, are ignored.
Here is a demonstration video that goes through this process (Import Eugene rules.mov, right click this link to save the movie to disk for better viewing): Here is the Eugene rules file imported in the demonstration above (Import Eugene rules.eug right click and save link as to save the design file to disk):
Here is a DeviceEditor .xml saved design file resulting from saving after the demonstration above (Import Eugene rules.xml, right click and save link as to save the design file to disk):
With one or more parts on the design canvas, it is possible to import a set of Eugene design specification rules by going to the "File" menu at the top left of the DeviceEditor display, and clicking on "Import Eugene Rules". Doing so will pop-up a new "Select file to upload" dialog box, allowing you to select which Eugene rules file you would like to import. After selecting the file, a new "Eugene Rules Import" dialog box will pop up.
Rules with name conflicts are displayed in red. A rule name conflict means that a previously defined rule has the same name (in this example "rule1") as a new rule to be imported from the selected Eugene file (here also "rule1"), but the contents of the previously defined rule (here "NOT double_terminator MORETHAN 1") is not identical to the contents of the new rule (here "NOT GFPuv MORETHAN 2"). When this type of conflict happens, DeviceEditor automatically renames the new rule to be imported (here "rule5") so as to resolve the name conflict.
New rules (here "rule3" and "rule4") are displayed in green.
Ignored lines (here "// Comment: rule5 concerns other_part", "Rule rule5(GFPuv WITH other_part);", and "Rule rule6(GFPuv CONTAINS double_terminator);") are ignored because they either don't contain valid Rule statements (e.g. "// Comment: rule5 concerns other_part"), contain invalid operators (e.g. "CONTAINS") or contain invalid operands (e.g. "other_part"), namely parts that are not currently on the design canvas.
Repeated rules, those identical among the previously defined rules and the new rules to be imported, are displayed in black (here "Rule rule2(GFPuv THEN double_terminator);").
Pressing the "OK" button will complete importing the selected Eugene rules file; pressing the "Cancel" button will or cancel the import process.
All parts associated with Eugene rules are identifiable on the design canvas by orange circle indicator lights at bottom right.
In this example, the "OK" button is pressed, and the Eugene rule indicator light for the "BBR1-ori" parts on the design canvas is now activated so as to see that at least one Eugene rule now applies to it.
For more information about how j5 implements these Eugene design specification rules (and why they are useful) when designing DNA assemblies, refer to the "Eugene rules list file" page in the j5 user's manual.