dna awesomeness!
DESCRIPTION
DNA Awesomeness!. Theodore D. Hellmann Christina L. Murphy CPSC 410 Fall ‘07. Overview. Executive Summary System Selection System Analysis System Design Operating System Elements Operating System Elements: Significant Points Methodology and Technology for the Solution References - PowerPoint PPT PresentationTRANSCRIPT
DNA Awesomeness!
Theodore D. Hellmann
Christina L. Murphy
CPSC 410
Fall ‘07
Overview
Executive Summary System Selection System Analysis System Design Operating System Elements Operating System Elements: Significant Points Methodology and Technology for the Solution References Screen Shots
GUI Features
Demonstration
Executive Summary
Bioinformaticists derive knowledge from computer analysis of biological data. In an effort to try to find specific segments of DNA in the human genome, bioinformaticists wrote a program that would search for a particular segment of DNA in a file. While their program may work, it is very inaccurate and inefficient. Our project uses semaphores, multi-threading, and file management to provide a quick and accurate means of accomplishing this type of search.
System Selection
The current system produces inaccurate results
There were many areas that could be improved by the incorporation of OS principles, policies, techniques and architecture
System Analysis
Searching the entire human genome is daunting. The current method uses shortcuts to overcome this problem, producing inaccurate results:Approximate matches are returned.Only regions with the highest
probability of finding a match are searched.
System Design
A user-friendly GUI has been designed. Tool tips Search timer Search results Search bounds Controls
• GUI buttons• Menu items
String to search for• Entered by typing• Entered by indicating a file containing the string
Pong
Operating System Elements
Semaphores Multi-threading File Management
Operating System Elements:
Significant Points Semaphores
Control partitioner and reader access Multi-threading
Fully utilize the available processor capability.
File ManagementPartition large data files into multiple
files.
Solutions for significant points
Supplier/Consumer use of semaphores.
Utilize multiple processors through multi-threading.
Decrease search time by breaking large files down into many smaller files.
Methodology and technology for the solution
Create GUI Add code to make GUI functional Create Reader class Create Partitioner class Create SearchControl class Create ResultsPair class Create custom Timer class Incorporate Pong!
References
Addison-Wesley (2002), The Java Developers Almanac 1.4. Retrieved 12/01/07, from http://www. exampledepot.com/egs/java.io/CreateDir.html
Basic Local Alignment Search Tool (BLAST) FAQ. Retrieved 9/15/07, from http://www.ncbi.nlm.nih. gov/blast/Blast.cgi?CMD=Web&PAGE_TYPE=BlastFAQs#LCR
Java™ Platform, Standard Edition 6 API Specification. Retrieved multiple times 9/15/07 through 12/6/07, from http://java.sun.com/javase/
6/docs/api/
References (cont.)
Stallings, W. (2005). Operating Systems: Internals and Design Principles. Upper Saddle River, New Jersey: Pearson Prentice Hall.
Sun Developer Network (SDN): Developer Forums 12/1/03. Retrieved 12/1/07 from http://forum.java.sun.com/thread.jspa?threadID=468852&messageID=2167964
The GUI
GUI Features: Tooltips
GUI Features: File Chooser
GUI Features: File Menu
GUI Features: Run Menu
GUI Features: Help Menu
GUI Features: Results Area
Boredom Fighting Pong!