Software Goals
We recognized a need for a comprehensive piece of software that provided the means to achieve an easier Plasmid Design process. Manual annotation is simply too time consuming, tedious, and error-prone. We wanted to create something to fix this noticeable setback of existing synthetic biology software. AutoGene sets a new technological standard by bringing automation to the plasmid design process. That being said, we developed a list of specific goals we wished to achieve. We split these goals into two modules, and decided the first set of goals would be achieved by AutoPlasmid, the second set of goals would be achieved by AutoDesign, and together, we would create AutoGene.
Each of these goals encompasses an extensive list of sub-goals. Here, we discuss the more detailed goals for our primary milestones listed above.
AutoPlasmid
AutoPlasmid was developed to take the process of annotating a plasmid to a whole new level. Firstly, we wanted to create a centralized depot of many thousands of well-known features and their associated sequences. We chose what we thought were some of the more popular features, and relied on databases such as SGD, PlasMapper, and the University of Wisconsin Madison's E. Coli Database. We aggregated over 40,000 features and compiled them into a complex database with the following tables:
1. Annotation
2. Feature
3. FeatureType
4. Oligo
5. Organism
6. Pathogen
7. Plasmid
8. RegistryPart
9. RegistryType
But we knew this database would grow as large as it did. To address this concern, we implemented Cloud Computing, what we feel is one of the most impressive aspects of our software application. A plasmid such as puc18 normally takes 4 hours on a slow computer to annotate and search through all our features. But in the cloud, with 30 parallel processes running at once, we can split up the algorithm and divvy up the work, resulting in a run of just 68 seconds, a dramatic decrease in time by 210-fold!
But we added many, many more features on top of this architectural backend. In particular, we gave users the ability to annotate their plasmid using imperfect matches selecting any threshold they want (ex. 95% match). While this significantly increases the time a particular annotation takes, it still results in rapidly fast annotations when the Cloud is used. In addition, users may select particular features they want to search for, such as Genes, Promoters, Terminators, and more. Lastly, users may translate DNA into amino acid in all 6 reading frames.
Once a plasmid is fully annotated, the user can do even more. They can look inside the plasmid, view details about each feature that was annotated, and manipulate the plasmid even more. They can add custom annotations, view where a particular segment of DNA is, and even isolate out features to later design with. Users can view oligo matches, and amino acid translation of particular DNA segments. One of the most useful features of the AutoPlasmid's plasmid view window is that a user can find exactly why a annotation was identified as an imperfect match. In puc18, it is well known that the origin has a 1 base pair mutation, for example. This can be easily located by viewing the details of the alignment.
Lastly, a user may export their annotated plasmid in any format they'd like: genbank, fasta, or SBOL. These standardized file formats are useful when using AutoGene in collaboration with other standard softwares, such as Ape. Our genbank format, in particular, preserves characteristics of annotations that may be crossed over to Ape, such as the color of each annotation.
***NOTE: scroll down below for examples images showing screenshots of all the aforementioned features.
AutoDesign
AutoGene was developed to make a simple-to-use design tool whereby users can select features they want to design with, drag these features into the order they want, perform operations on these features, and then import their newly designed plasmid to the workspace.
A user starts by selecting features they want to design with. These features can be chosen from multiple plasmids in the workspace. To select a feature, a user simply drags that annotation into the Design Registry, a listing of features the user wants to save for later use. We wanted to make this process extremely intuitive and easy, so we implemented a user-friendly drag and drop system whereby a user can drag their cursor over multiple features from a plasmid and drag them into the design registry all at once. They pop inside the pane on the right side of the screen, waiting to be designed with
When a user is ready to begin designing, they continue the drag and drop process by dragging features from the private registry into the design pane. The whole process is especially user-friendly and simple to use. Anyone can use it, and this was also another one of our major goals. The design pane consists of three windows which are discussed below. As the plasmid is made, the associated DNA sequence and the associated picture of the plasmid is updated in real time so that a user can get a real view into the Plasmid they are designing. AutoPlasmid helps visualize this new plasmid. Once a plasmid is done being designed, the user may import it into the workspace and then export as a genbank, fasta, and SBOL as discussed above
Interface Organization - AutoPlasmid
1. PlasmidView: this is the AutoPlasmid window. On the left is a picture of the plasmid. On the right is the DNA and the list of features contained inside that plasmid. Using the many buttons in the toolbar on the right side, or by clicking annotations in the picture of the plasmid, the user may interact with AutoPlasmid in many ways described above.
2. Plasmid List: this is where AutoGene keeps track of the Plasmids that the user is annotation and/or designing with throughout their use of AutoGene. Anytime a plasmid is imported, it pops into the Plasmid List so that a user may easily open it at any time.
3. Private Registry of Features: this is where AutoGene keeps track of features that users would like to design with. A user drags features from the PlasmidView into the Private Registry as a type of Bookmarking utility. It is a way to quickly access features to later use in designing plasmids.
4. Log: this is AutoGene's log, which gives warnings or error messages to the user. For example, if the user tries to import a DNA sequence with incorrect characters. It also will notify users of tasks that are running, such as annotations (and features that have been found) or DNA inverting.
Interface Organization - AutoDesign
1. Design Pane: the user drags features from the Private Registry into the Design Pane. Each feature type has an associated icon (ex. a Terminator is a capital T). The user may user the design pane to rearrange features using an easy drag and drop process. They may also right click any feature to perform a number of operators on that feature, such as duplicate, delete, and invert.
2. DNA Pane: the DNA Pane shows the current DNA that is contained inside the plasmid that is being designed. Different features are highlighted in different colors associated with their feature type. For example, Origins are in brown. The DNA updates as the user continues to design their plasmid in the Design Pane.
3. PlasmidView: the PlasmidView shows the current Plasmid, and is updated just as the DNA Pane is updated while the user designs their plasmid.
How to use AutoPlasmid
First, hand AutoPlasmid a sequence of DNA, however big or small you'd like. Import a file or copy and paste the sequence.
Then get the annotation loaded and started. AutoPlasmid will search through a database containing 40,000 features and look for matches. Not only does it find perfect matches, but if you specify, you can search for imperfect matches with any threshold you'd like (ex. 90% match).
After searching for annotations, open your plasmid to look inside.
Interact with it by selecting features, manipulating the DNA, and adding any custom annotations you'd like. You can even view amino acid translations or oligo matches.
Lastly, you can view the details of an imperfect match.
AutoPlasmid is also compatible with a variety of standard biology tools, such as Ape. A plasmid can be imported as a fasta, gb, and SBOL file, as well as being exported as a fasta, gb, or SBOL file.
How to use AutoDesign
Using the annotated features that AutoPlasmid finds, the user may select features to design a new plasmid with. First, the user chooses features and drags them into the private registry.
Next, the user drags features into the private registry. The user can change the order of features, invert features, duplicate features, and delete features. At the same time, the user sees an updated version of the plasmid they are designing and the associated DNA.