4/24/15 Unverified Join Viewer Red Team Red Team: Unverified Join Viewer 1 2 Red Team Members ● Joseph Cooper ● Tim Holmes ● Catalin Pop Red Team: Unverified Join Viewer ● James Dailey ● John Berlin ● James Ord ● Abhishek Biswas (Mentor) 4/24/15 3 Presentation Outline ● Domain Information ● Solution Design ● Hardware and Software Requirements ● Algorithm Flowcharts ● Risk Analysis 4 Genome Assembly 5 ● The genome must be split so modern machines can sequence the pieces ● After sequencing, the pieces must be reassembled Red Team: Unverified Join Viewer 4/24/15 Assembly Output 6 ● Sequencers attempt to reconstruct the genome, but the process is prone to errors ● Some assemblers simply leave out repeated sequences ● The assembly process is a “black box.” Users cannot see why a join is or is not made Red Team: Unverified Join Viewer 4/24/15 Unverified Join Viewer 7 When presented with a file that contains the appropriate join feature annotations, UJV will allow the user to view the evidence used to make a particular join C.A.R.P., a case study, lacks a compatible Graphical User Interface (GUI) and viewer Red Team: Unverified Join Viewer 4/24/15 8 Projected Customers ● Biologists ○ Verifying joins on a genome is currently a timely and expensive process ○ The ability to view join evidence quickly can save time and money in a lab ● Software Developers ○ Open-source development invites the programming community to expand the product to fit new solutions as well as make improvements to the current system Red Team: Unverified Join Viewer 4/24/15 Current Process Flow Red Team: Unverified Join Viewer 9 4/24/15 Proposed Solution 10 ● Display a genome sequence in a circle ● Show justifications used for sequence fragments ● Have an intuitive interface ● Be open source based ● Export to GenBank format Red Team: Unverified Join Viewer 4/24/15 Solution Process Flow Red Team: Unverified Join Viewer 11 4/24/15 12 Functional Components Red Team: Unverified Join Viewer 4/24/15 13 Hardware Requirements ● Must have one of the following minimum GPUs: ● Radeon HD 2400 ● GMA 4500 ● GeForce 8 ● Memory of 2GB ● Any of the following CPU Architecture ● Vista x86 ● OS x64 ● Linux x86 Red Team: Unverified Join Viewer 4/24/15 14 Software Requirements ● Java JDK 8 ● Operating System: ● Windows Vista SP2 ● OS X 10.7.3 ● Linux Ubuntu 10.4+ ● Windows Required installation ● DivX Plus Codec Pack ● Linux Required installation ● Ibavcodec53 and libavformat53 on Ubuntu Linux 12.04 or equivalent ● GLIB 2.28 for JavaFx Media Red Team: Unverified Join Viewer 4/24/15 Development Process ● 15 Java Technology Stack ● JavaFX ● GitLab ● Agile Development Model ● 2 week sprints ● 100 man hours per sprint Red Team: Unverified Join Viewer 4/24/15 Unverified Join Viewer Overview Red Team: Unverified Join Viewer 16 4/24/15 User Interface Red Team: Unverified Join Viewer 17 4/24/15 Algorithms Red Team: Unverified Join Viewer 18 4/24/15 Exporting File Red Team: Unverified Join Viewer 19 4/24/15 Select Red Team: Unverified Join Viewer 20 4/24/15 Layout Red Team: Unverified Join Viewer 21 4/24/15 Scaling Red Team: Unverified Join Viewer 22 4/24/15 Mock Up Red Team: Unverified Join Viewer 23 4/24/15 24 Risk Matrix Technical Risk: Customer Risk: ● T1: Domain Experience ● C1: Incorrect Product ● T2: New Framework Technology ● C2: Lack of Product Adoption Red Team: Unverified Join Viewer 4/24/15 Technical Risks 25 Domain Experience T1 ● Due to limited domain experience of the team the learning curve of how to properly express a solution within the domain will be high ● Impact 2 ● Probability 3 ● Mitigation: Agile development and working beside domain experts. New framework Technology, JavaFX T2 ● JavaFX, Oracle's proposed replacement for SWING, is still a fairly new user interface framework; With that comes the difficulty of finding resources to glean information about how to properly utilize it ● Impact 2 ● Probability 3 ● Mitigation: Even though the API is new the team has is comprised of members that are Oracle certified Java programmers who can guide the team in right direction and by utilizing FX's new API's performance the team will be able to build a view that will surpass its Swings counterparts Red Team: Unverified Join Viewer 4/24/15 Customer Risks 26 Incorrect Product C1 ● The lack of a proper requirements gathering phase could lead to a product that does not match the needs of the customer ● Impact 4 ● Probability 3 ● Mitigation Strategy: In addition to the drafting of a formal SRS document, every step of the development process will feature rigorous validation and verification with the customer through mockups of the viewer and implemented functionality Lack of Product Adoption C2: ● Due to the high level of technical experience of the target customers the delivered product may fall short of expectations ● Impact 3 ● Probability 3 ● Mitigation Strategy: The product offers functionality that is not featured in any other viewer on the market. Additionally, because the project is open-source, community involvement could aid in the development of more features commonly seen in industry-level viewers. Red Team: Unverified Join Viewer 4/24/15 References 27 Oracle JDK 8 and JRE 8 Certified System Configurations. (n.d.). Retrieved April 23, 2015, from ● http://www.oracle.com/technetwork/java/javase/certconfig-2095354.html Release: JavaFX 2.2. (n.d.). Retrieved April 23, 2015, from ● https://docs.oracle.com/javafx/2/system_requirements_2-2/jfxpubsystem_requirements_2-2.htm CGView - Overview. (n.d.). Retrieved April 23, 2015, from ● http://wishart.biology.ualberta.ca/cgview/ Mycobacterium shottsii. (n.d.). Retrieved April 23, 2015, from ● http://gcm.wfcc.info/speciesPage.jsp?strain_name=Mycobacterium shottsii Additional resources available here: ● http://www.cs.odu.edu/~410red/resources.html Red Team: Unverified Join Viewer 4/24/15