Bioinformatics Web-based Primer Design System:@Primer Chapter 5 System Analysis and Demonstration In this chapter we will use UML (Unified Model Language) to illustrate the analysis of our primer design system. The UML is a complete language that is used to design, visualize, construct and document systems. It is largely based on the object-oriented paradigm and is an essential tool for developing robust and maintainable software systems. Then we have screen shots of our system demonstration in the second section. 5.1 System Analysis In this study these components of UML have use case diagram, class diagram and sequence diagram. We will have further discussion about these diagram, separately. 5.1.1 Use Case Diagram The use case diagrams describe system functionality as a set of tasks that the system must carry out and actors who interact with the system to complete the tasks. The biologist is our actor in this study. We have two main task in Figure 5.1. The first task is that actor want to perform single primer design from one template. The other is that actor perform multiple primer design from two templates. - 48 - Bioinformatics Web-based Primer Design System:@Primer System Single Primer Design * Biologist * Multiplex Primer Design * * Figure 5.1 Use Case Diagram of Primer Design System 5.1.2 Class Diagram The class diagram is core to object-oriented design. It describes the types of objects in the system and the static relationships between them. We have two class diagram in the study, one for single primer design, the other for multiple primer design. Single Primer Design Class Diagram First in single primer design (Figure 5.2), we will list all class and describe their functions as the followings: (1)Score class: it is composed of other class like melting temperature class, GC content class and so on. It can setup the value of score and weight and get return value of score. (2)Melting temperature class: User can enter some relatvie melting temperature - 49 - Bioinformatics Web-based Primer Design System:@Primer information like Ct, Na, enthalpy and entropy data. It will return one value of melting temperature by predefined formula. (3)GC content class: when user input one sequence, this class will return value of GC content to user. (4)Annealing value class: user enter two primers, this class will return self annealing, self end annealing, pair annnealing and pair end annnealing value. (5)singPairPrimer: It is a C# struct data structure which is used to store qualified primer pairs. The attributes and operations of all class are also listed in Figure 5.2. - 50 - Bioinformatics Web-based Primer Design System:@Primer Sco re 1 -pLength -qLength -pGC -qGC -pT m -qT m -pSa -qSa -pSea -qSea -pqPa -pqPea -w eightLength -w eightGC -w eightT m -w eightSa -w eightSea -w eightPa -w eightPea -m ulLengthSc ore -m ulGC Sc ore -m ulT m Sc ore -m ulSaSc ore -m ulSeaSc ore -m ulPaSc ore -m ulPeaSc ore +s etSc ore() +s etW eight() +getSc ore() +s etM ulScore() +getM ulScore() <<struc t>> sin g lePairPr imer +p +q +s c ore +plength +qlength +pGC +qGC +pT m +qT m +pSa +qSa +pSea +qSea +Pa +Pea 1 1 1 1 * * M eltin g T emp eratu r e -s equenc e -c t -enthalpy F ilePath -entropy F ilePath -N a +s etT m () +getD N AT m () * GC co n ten t A n n ealin g Valu e -s equence -GC c ontents -GC c ount +s etGC c ontent() +getGC c ontent() -s equenc e1 -s equenc e2 +s etAnnealing() +getPairAnnealing() +getPairEndAnnealing() 1 1 1 1 <<s truc t>> m y SinglePairPrim er : s inglePairPrim er p q s core plength qlength pGC qGC pT m qT m pSa qSa pSea qSea Pa Pea 1 1 Figure 5.2 Class Diagram of Single Primer Design System Multiple Primer Design Class Diagram The main difference between single and multiple primer design class diagram is the struct data structure as the followings: (1)pairPrimer struct: it is used to store qualified primer pairs. (2)mulPairPrimer struct: it is uesd to store qualifed multiple primer pairs. - 51 - Bioinformatics Web-based Primer Design System:@Primer (3)Score class: it is uesd to calculate multiple score. Score * Melting Temperature -sequence -ct -enthalpyFilePath -entropyFilePath -Na +setTm() +getDNATm() -pLength -qLength -pGC -qGC -pTm 1 -qTm -pSa -qSa -pSea -qSea -pqPa -pqPea -weightLength -weightGC -weightTm 1 -weightSa -weightSea -weightPa -weightPea -mulLengthScore -mulGCScore 1 -mulTmScore -mulSaScore -mulSeaScore -mulPaScore 1 -mulPeaScore +setScore() +setWeight() +getScore() +setMulScore() +getMulScore() * 1 GCcontent -sequence -GCcontents -GCcount +setGCcontent() +getGCcontent() 1 <<struct>> pairPrimer +p +q +score <<struct>> myPairPrimer : pairPrimer p q score <<struct>> mulPairPrimer +seq1F +seq1R +seq2F +seq2R +scoreLength +scoreGC +qGC +scoreTm +scoreSa +scoreSea +scorePa +scorePea +sumScore 1 * Annealing Value -sequence1 -sequence2 +setAnnealing() +getPairAnnealing() +getPairEndAnnealing() 1 <<struct>> myMulPairPrimer : mulPairPrimer seq1F seq1R seq2F seq2R scoreLength scoreGC qGC scoreTm scoreSa 1 scoreSea scorePa 1 scorePea sumScore 1 1 1 Figure 5.3 Class Diagram of Multiple Primer Design System - 52 - Bioinformatics Web-based Primer Design System:@Primer 5.1.3 Sequence Diagram Sequence diagrams belong to a group of UML diagrams called Interaction Diagrams. Sequence diagrams describe how objects interact over the course of time through an exchange of messages. A single sequence diagram often represents the flow of events for a single use case. In our study, there are two sequence diagrams depended on two use case diagrams. Single Sequence Diagram First biologist enter the single DNA template that he want to duplicate. Then our primer design system will check melting temperature, GC content, annnealing value of each primer sets in Figure 5.4-1 and 5.4-2. These qualified primer sets will added into two arraylist, forward_al and reverse_al. If these primer pair annealing fall in the qualified range. System will calculate score, sort each valid primer sets and display result to biologist in Figure 5.4-3. - 53 - Bioinformatics Web-based Primer Design System:@Primer Single Primer Design System Melting Temperature GC content Annealing Value {getTm()<maxTm getTm()>minTm} Biologist Input DNA template and so on {getGCcontent()<maxGCcontent getGCcontent()>minGCcontent} Single Primer Sets Single Primer Sets Message1 Figure 5.4-1 Sequence Diagram of Single Primer Design System (1 of 3) Annealing Value forward_al:ArrayList {getPairAnnealing<maxSa getPairAnnealing>minSa and getPairEndAnnealing<maxSea getPairEndAnnealing>minSea} send primer sets Add() Figure 5.4-2 Sequence Diagram of Single Primer Design System (2 of 3) - 54 - Bioinformatics Web-based Primer Design System:@Primer forward_al:ArrayList reverse_al:ArrayList Annealing Value Melting Temperature GC content Score pairAL send primer sets send primer sets {getPairEndAnnealing<maxPa getPairEndAnnealing<maxPea} send primer sets getTm() getGC() getPairAnnealing(), getPairEndAnnealing() setScore() getScore() Add() Sort and Show Result Figure 5.4-3 Sequence Diagram of Single Primer Design System (3 of 3) Multiple Sequence Diagram First biologist enter the two DNA template that need to duplicate. Then our primer design system will check melting temperature, GC content, annnealing value of each primer sets in Figure 5.5-1. These qualified primer sets will added into two arraylist, seq1ForwardAL and seq1ReverseAL. Then we examine the pair annealing and pair end annealing value of primer from seq1ForwardAL and seq1ReverseAL in Figure 5.5-2. If these primer pair annealing fall in the qualified range. System will put into seq1PairAL in Figure 5.5-2. The second template will also generate seq2PairAL in the same way. Then mulPairAL is composed of seq1PairAL and seq2PairAL after checking cross pair annealing and pair end annealing values. Finally,f system will sort each valid primer sets of mulPairAL and display result to biologist in Figure 5.5-3. - 55 - Bioinformatics Web-based Primer Design System:@Primer Multiple Primer Design System Melting Temperature GC content {getTm()<maxTm getTm()>minTm} Biologist Input Multiple DNA template Single Primer Sets Annealing Value {getGCcontent() <maxGCcontent and getGCcontent() >minGCcontent} seq1ForwardAL:ArrayList {getPairAnnealing <maxSa and getPairEndAnnealing <maxSea} Single Primer Sets send primer sets Message1 Add() Figure 5.5-1 Sequence Diagram of Multiple Primer Design System (1 of 3) seq1ForwardAL:ArrayList seq1ReverseAL:ArrayList Annealing Value Score seq1PairAL:ArrayList Send primer sets Send Primer Sets {getPairEndAnnealing <maxPa and getPairEndAnnealing <maxPea} Send Pair Primer sets setScore() getScore() Add() Sort() Figure 5.5-2 Sequence Diagram of Multiple Primer Design System (2 of 3) - 56 - Bioinformatics Web-based Primer Design System:@Primer seq1PairAL:ArrayList seq2PairAL:ArrayList Annealing Value Send Pair Primers Send Pair Primers Melting Temperature GC content Score mulPairAL:ArrayList {All Pair annealing value <maxPa and All Pair End annealing value <maxPea} Biologist send mutiltple primers setTm() getTm() getGC() setGC() setAnnealing() getPairAnnealing() and getPairEndAnnealing() setMulScore() getMulScore() Add() Sort and Show Result Figure 5.5-3 Sequence Diagram of Multiple Primer Design System (3 of 3) 5.2 System Demonstration We will use our system screen shots to demostrate our primer design system. Then we have short descpriton for each following Figures. This is first page of our web-based primer design system in Figure 5.6. It has a welcome logo. User need to click on the logo to enter our system. Then our system provide two functions of primer designing in Figure 5.7. we will indivdually introduce our system screen shots in single and multuple primer design system. - 57 - Bioinformatics Web-based Primer Design System:@Primer Figure 5.6 Welcome Logo Figure 5.7 Two Main Functions of Primer Design System - 58 - Bioinformatics Web-based Primer Design System:@Primer Single Primer Design System Demostration First user can choose the function of single primer design. Then user can enter his own single DNA template or type directly to the textbox of our system in Figure 5.8. User enter the primer design parameters (such as window location and primer size) and constraints (such as the maximal and minimal values of annealing value) as he need in Figure 5.9-1 and 5.9-2. If user choose to change the values of weights, the system will turn to Figure 5.10 to setup. There are also two kind of predefined values of weights. At last, user select the number of perdefined ouput result or manually input by himself in Figure 5.11. It show primer design result in Figure 5.12. Figure 5.8 Upload Data of Single Primer Design System - 59 - Bioinformatics Web-based Primer Design System:@Primer Figure 5.9-1 Setup Primer Parameters of Single Primer Design System (1 of 2) Figure 5.9-2 Setup Primer Parameters of Single Primer Design System (2 of 2) - 60 - Bioinformatics Web-based Primer Design System:@Primer Figure 5.10 Setup Weight of Single Primer Design System Figure 5.11 Setup Ouput Number of Single Primer Design System - 61 - Bioinformatics Web-based Primer Design System:@Primer Figure 5.12 Result Ouput of Single Primer Design System Multiple Primer Design System Demostration First user can choose the function of multiple primer design in Figure 5.7. Then user can enter his own two DNA template or type directly to the textbox of our system in Figure 5.13. User enter multiple primer design parameters (such as window location and primer size) and constraints (such as the maximal and minimal values of annealing value) of two differnet DNA templates as he need in Figure 5.14. If user choose to change the values of weights, the system will turn to ]Figure 5.15. There are also two kinds of predefined values of weights. At last, user select the number of perdefined ouput result or manually input by himself in Figure 5.16. It show primer design result in Figure 5.17. - 62 - Bioinformatics Web-based Primer Design System:@Primer Figure 5.13 Upload Data of Multiple Primer Design System Figure 5.14 Setup Primer Parameters of Multiple Primer Design System - 63 - Bioinformatics Web-based Primer Design System:@Primer Figure 5.15 Setup Weight of Multiple Primer Design System Figure 5.16 Setup Ouput Number of Multiple Primer Design System - 64 - Bioinformatics Web-based Primer Design System:@Primer Figure 5.17 Result Ouput of Multiple Primer Design System 5.3 Limitation of our primer design system In this section, we will describe some limitations of our primer design system. First we only process DNA data, not for RNA or protein biological data. We don’t support nested PCR, Universal PCR and so on… but only for ordinary PCR. We also provide the function of file upload. But the security and file managing of our system still need to have deeper consideration on how to achieve when we have more users to access our services. - 65 -