Object Oriented Software Engineering Course - Group 8


Jeff Burka (Frontend)

Bumjin Kim (Backend, Frontend)

Alex Monroe (Frontend)

Emily Wagglestone (Backend)


Title : OliGUI


Architecture

The project will use ruby programming language and ruby on rails 4.1.6 which is built on top of ruby 2.1. The backend will be handled by the ruby on rails framework while the frontend contains html, javascript langauges. The frontend frameworks include jQuery. We will use hosting service to deploy the website. The ruby on rails includes major components. One of which is Action Pack which contains action controller, action dispatch, and action read.

Resources

We will be using ruby on rails framework as a foundation for this project. The packages that might be used are Easy_downloader 0.1.1 and salted_login_generator packages. The salted_login_generator package generates the login system of the ruby on rails website. We will use Ruby on Rails API for ActionModel, ActionView and ActionController. For action controller, ActionController:Cookies to store information in the cookie. For action view, ActionView::Renderer to render the web.

Vision Statement

Our project will be a web app that will allow users to do drag-and-drop DNA design. We will pull from an existing bioparts database as the supply for BioBricks (DNA building blocks with specific functions). Users will be able to drag and drop BioBricks together to create a large DNA sequence. The supply will be indexed by BioBrick ID number, which the user will be able to use in order to find the pieces they are looking for. In addition, BioBricks are sorted into different categories (promoter, encoder, terminator, etc.) in order to further facilitate search. Once the user finishes building the sequence, a simple parser will run to make sure the strand makes sense. For example, the parser will notify the user when the number of promoter regions does not match the number of terminator sequences. After the simple parsing, our program will be able to perform simple codon optimization based on the organism that the strand is targeted for. We will either use a simple optimization algorithm that we build from scratch or push the sequence to an external codon optimizer. Once the sequence is fully constructed, our website will allow users to save and download the final sequence, save their sequence to a library associated with their account, and send their sequence out to oligo manufacturing companies for processing. In order to save the sequence to an account, we will need to allow users to create an account with the website that will be kept on the server. The backend of the website will use Rails, while the front end user interface will be written in Javascript.

Developed out of MIT, BioBricks are essentially DNA Legos. While its often difficult to determine the function of a stretch of DNA, BioBricks are highly-studied sequences. Because we are certain of what their exact functions, we can plug them together to build more complex sequences to do more interesting things within a cell. There are BioBricks for everything from producing Vitamin C to cellular logic gates. The BioBrick database is growing constantly, and the sequences are all freely available.

Features List

Extended Features

Use Cases

Javadocs

Click here

Class Diagram

Courtesy of ObjectAid plugin for Eclipse

Sequence Diagram