200 likes | 371 Views
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
E N D
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 Management • Partition 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