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 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.
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