Chapter 5 System Analysis and Demonstration

advertisement
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 -
Download