30
Introduction The Java TreeBuilder application The database behind the web site The DNA Surveillance (Admin) web site Refactoring DNA Surveillance Species identification with DNA Waltraud Sichart Supervisor: Howard Ross December 10, 2009 Waltraud Sichart Supervisor: Howard Ross Refactoring DNA Surveillance

Refactoring DNA Surveillance - University of Auckland · Introduction The Java TreeBuilder application The database behind the web site The DNA Surveillance (Admin) web site Add-on

Embed Size (px)

Citation preview

Page 1: Refactoring DNA Surveillance - University of Auckland · Introduction The Java TreeBuilder application The database behind the web site The DNA Surveillance (Admin) web site Add-on

Introduction The Java TreeBuilder application The database behind the web site The DNA Surveillance (Admin) web site Add-on

Refactoring DNA SurveillanceSpecies identification with DNA

Waltraud SichartSupervisor: Howard Ross

December 10, 2009

Waltraud Sichart Supervisor: Howard Ross Refactoring DNA Surveillance

Page 2: Refactoring DNA Surveillance - University of Auckland · Introduction The Java TreeBuilder application The database behind the web site The DNA Surveillance (Admin) web site Add-on

Introduction The Java TreeBuilder application The database behind the web site The DNA Surveillance (Admin) web site Add-on

Overview

1 IntroductionWhat is DNA SurveillanceHow should that work

2 The Java TreeBuilder applicationProgram SequenceThe Result Tree

3 The database behind the web siteThe MySQL databaseThe database model

4 The DNA Surveillance (Admin) web siteAboutDesign Points

5 Add-onFuture prospects

Waltraud Sichart Supervisor: Howard Ross Refactoring DNA Surveillance

Page 3: Refactoring DNA Surveillance - University of Auckland · Introduction The Java TreeBuilder application The database behind the web site The DNA Surveillance (Admin) web site Add-on

Introduction The Java TreeBuilder application The database behind the web site The DNA Surveillance (Admin) web site Add-on

What is DNA Surveillance

DNA Surveillance should be a tool, that can be inserted into otherweb sites (taxon specialist groups in particular),

where users submit sequences and get a tree with different speciesas result.The look and feel of the whole page is under the control of thetaxon specialist or their assistant.

Waltraud Sichart Supervisor: Howard Ross Refactoring DNA Surveillance

Page 4: Refactoring DNA Surveillance - University of Auckland · Introduction The Java TreeBuilder application The database behind the web site The DNA Surveillance (Admin) web site Add-on

Introduction The Java TreeBuilder application The database behind the web site The DNA Surveillance (Admin) web site Add-on

How should that work

Waltraud Sichart Supervisor: Howard Ross Refactoring DNA Surveillance

Page 5: Refactoring DNA Surveillance - University of Auckland · Introduction The Java TreeBuilder application The database behind the web site The DNA Surveillance (Admin) web site Add-on

Introduction The Java TreeBuilder application The database behind the web site The DNA Surveillance (Admin) web site Add-on

Program Sequence

Program sequence for analysis

. Build profile alignment with ClustalW1 Set information for the profile alignment2 Create command as String array and execute it3 Wait for process to finish

. Create distance matrix and neighbour joining tree1 Read in the new alignment file and choose a distance model2 Build a neighbour joining tree and root it3 Add tip colours as attributes to the tree4 Show tree and save it as .tre file

Waltraud Sichart Supervisor: Howard Ross Refactoring DNA Surveillance

Page 6: Refactoring DNA Surveillance - University of Auckland · Introduction The Java TreeBuilder application The database behind the web site The DNA Surveillance (Admin) web site Add-on

Introduction The Java TreeBuilder application The database behind the web site The DNA Surveillance (Admin) web site Add-on

Program Sequence

Program sequence for analysis

. Build profile alignment with ClustalW1 Set information for the profile alignment2 Create command as String array and execute it3 Wait for process to finish

. Create distance matrix and neighbour joining tree1 Read in the new alignment file and choose a distance model2 Build a neighbour joining tree and root it3 Add tip colours as attributes to the tree4 Show tree and save it as .tre file

Waltraud Sichart Supervisor: Howard Ross Refactoring DNA Surveillance

Page 7: Refactoring DNA Surveillance - University of Auckland · Introduction The Java TreeBuilder application The database behind the web site The DNA Surveillance (Admin) web site Add-on

Introduction The Java TreeBuilder application The database behind the web site The DNA Surveillance (Admin) web site Add-on

The Result Tree

Waltraud Sichart Supervisor: Howard Ross Refactoring DNA Surveillance

Page 8: Refactoring DNA Surveillance - University of Auckland · Introduction The Java TreeBuilder application The database behind the web site The DNA Surveillance (Admin) web site Add-on

Introduction The Java TreeBuilder application The database behind the web site The DNA Surveillance (Admin) web site Add-on

The MySQL database

Reasons of setting up a MySQL database

+ Setting up the database with phpMyAdmin

. Very fast and simple to set up

. Easy to maintain

→ Even without/less MySQL knowledge

InnoDB as table storage engine

+ Foreign keys and relationship contrains

− Different relationships between tables, so it takes more time to design the

data models

Waltraud Sichart Supervisor: Howard Ross Refactoring DNA Surveillance

Page 9: Refactoring DNA Surveillance - University of Auckland · Introduction The Java TreeBuilder application The database behind the web site The DNA Surveillance (Admin) web site Add-on

Introduction The Java TreeBuilder application The database behind the web site The DNA Surveillance (Admin) web site Add-on

The MySQL database

Reasons of setting up a MySQL database

+ Setting up the database with phpMyAdmin

. Very fast and simple to set up

. Easy to maintain

→ Even without/less MySQL knowledge

InnoDB as table storage engine

+ Foreign keys and relationship contrains

− Different relationships between tables, so it takes more time to design the

data models

Waltraud Sichart Supervisor: Howard Ross Refactoring DNA Surveillance

Page 10: Refactoring DNA Surveillance - University of Auckland · Introduction The Java TreeBuilder application The database behind the web site The DNA Surveillance (Admin) web site Add-on

Introduction The Java TreeBuilder application The database behind the web site The DNA Surveillance (Admin) web site Add-on

The database model

Waltraud Sichart Supervisor: Howard Ross Refactoring DNA Surveillance

Page 11: Refactoring DNA Surveillance - University of Auckland · Introduction The Java TreeBuilder application The database behind the web site The DNA Surveillance (Admin) web site Add-on

Introduction The Java TreeBuilder application The database behind the web site The DNA Surveillance (Admin) web site Add-on

About

The web site is the interface by which administrators interactwith the database

It should be ...

easy to use and everything should be good readable

flexible so it can be customized to fit the user’s individualneeds

usable for all databases that were created of a specifictemplate

secure to protect the stored information

This aims were achieved with various design points ...

Waltraud Sichart Supervisor: Howard Ross Refactoring DNA Surveillance

Page 12: Refactoring DNA Surveillance - University of Auckland · Introduction The Java TreeBuilder application The database behind the web site The DNA Surveillance (Admin) web site Add-on

Introduction The Java TreeBuilder application The database behind the web site The DNA Surveillance (Admin) web site Add-on

Design Points

Colours and text

Colours with high contrast for readable text so that the pageis easy to use

Mostly used font size is 14pt to assure good readability forserif fonts and sans serif fonts

Layout

Clearly arranged layout to facilitate the usage

Dynamic table layout to fit various numbers of columns androws

Diffent row colours for odd and even rows to increasereadability

Waltraud Sichart Supervisor: Howard Ross Refactoring DNA Surveillance

Page 13: Refactoring DNA Surveillance - University of Auckland · Introduction The Java TreeBuilder application The database behind the web site The DNA Surveillance (Admin) web site Add-on

Introduction The Java TreeBuilder application The database behind the web site The DNA Surveillance (Admin) web site Add-on

Design Points

Colours and text

Colours with high contrast for readable text so that the pageis easy to use

Mostly used font size is 14pt to assure good readability forserif fonts and sans serif fonts

Layout

Clearly arranged layout to facilitate the usage

Dynamic table layout to fit various numbers of columns androws

Diffent row colours for odd and even rows to increasereadability

Waltraud Sichart Supervisor: Howard Ross Refactoring DNA Surveillance

Page 14: Refactoring DNA Surveillance - University of Auckland · Introduction The Java TreeBuilder application The database behind the web site The DNA Surveillance (Admin) web site Add-on

Introduction The Java TreeBuilder application The database behind the web site The DNA Surveillance (Admin) web site Add-on

Design Points

Flexibility

All layouts were created using cascading style sheets

All Elements have their width defined in percentages to match all screenresolutions

The to-use database name is recorded in the user database and is loadedafter the user validation

→ The interface can be used for all databases that were created of a specific

template

Security measures

Users get their own username, password and a database name

The password in encrypted using the md5 algorithm with a salt

Only the encrypted password is stored in the database

Go to web site

Waltraud Sichart Supervisor: Howard Ross Refactoring DNA Surveillance

Page 15: Refactoring DNA Surveillance - University of Auckland · Introduction The Java TreeBuilder application The database behind the web site The DNA Surveillance (Admin) web site Add-on

Introduction The Java TreeBuilder application The database behind the web site The DNA Surveillance (Admin) web site Add-on

Design Points

Flexibility

All layouts were created using cascading style sheets

All Elements have their width defined in percentages to match all screenresolutions

The to-use database name is recorded in the user database and is loadedafter the user validation

→ The interface can be used for all databases that were created of a specific

template

Security measures

Users get their own username, password and a database name

The password in encrypted using the md5 algorithm with a salt

Only the encrypted password is stored in the database

Go to web site

Waltraud Sichart Supervisor: Howard Ross Refactoring DNA Surveillance

Page 16: Refactoring DNA Surveillance - University of Auckland · Introduction The Java TreeBuilder application The database behind the web site The DNA Surveillance (Admin) web site Add-on

Introduction The Java TreeBuilder application The database behind the web site The DNA Surveillance (Admin) web site Add-on

Design Points

Flexibility

All layouts were created using cascading style sheets

All Elements have their width defined in percentages to match all screenresolutions

The to-use database name is recorded in the user database and is loadedafter the user validation

→ The interface can be used for all databases that were created of a specific

template

Security measures

Users get their own username, password and a database name

The password in encrypted using the md5 algorithm with a salt

Only the encrypted password is stored in the database

Go to web site

Waltraud Sichart Supervisor: Howard Ross Refactoring DNA Surveillance

Page 17: Refactoring DNA Surveillance - University of Auckland · Introduction The Java TreeBuilder application The database behind the web site The DNA Surveillance (Admin) web site Add-on

Introduction The Java TreeBuilder application The database behind the web site The DNA Surveillance (Admin) web site Add-on

Future prospects

Web site

Import function for alignment details

Java application

Get information about reference alignments, distance modelsand tip colours out of database

Rooting for an outgroup

Waltraud Sichart Supervisor: Howard Ross Refactoring DNA Surveillance

Page 18: Refactoring DNA Surveillance - University of Auckland · Introduction The Java TreeBuilder application The database behind the web site The DNA Surveillance (Admin) web site Add-on

Introduction The Java TreeBuilder application The database behind the web site The DNA Surveillance (Admin) web site Add-on

Future prospects

Web site

Import function for alignment details

Java application

Get information about reference alignments, distance modelsand tip colours out of database

Rooting for an outgroup

Waltraud Sichart Supervisor: Howard Ross Refactoring DNA Surveillance

Page 19: Refactoring DNA Surveillance - University of Auckland · Introduction The Java TreeBuilder application The database behind the web site The DNA Surveillance (Admin) web site Add-on

Introduction The Java TreeBuilder application The database behind the web site The DNA Surveillance (Admin) web site Add-on

Acknowledgments

Acknowledgments

Howard RossPui Shan WongBioinformatics Institute

Waltraud Sichart Supervisor: Howard Ross Refactoring DNA Surveillance

Page 20: Refactoring DNA Surveillance - University of Auckland · Introduction The Java TreeBuilder application The database behind the web site The DNA Surveillance (Admin) web site Add-on

Introduction The Java TreeBuilder application The database behind the web site The DNA Surveillance (Admin) web site Add-on

Acknowledgments

Waltraud Sichart Supervisor: Howard Ross Refactoring DNA Surveillance

Page 21: Refactoring DNA Surveillance - University of Auckland · Introduction The Java TreeBuilder application The database behind the web site The DNA Surveillance (Admin) web site Add-on

Introduction The Java TreeBuilder application The database behind the web site The DNA Surveillance (Admin) web site Add-on

Appendix

Waltraud Sichart Supervisor: Howard Ross Refactoring DNA Surveillance

Page 22: Refactoring DNA Surveillance - University of Auckland · Introduction The Java TreeBuilder application The database behind the web site The DNA Surveillance (Admin) web site Add-on

Introduction The Java TreeBuilder application The database behind the web site The DNA Surveillance (Admin) web site Add-on

Appendix

Waltraud Sichart Supervisor: Howard Ross Refactoring DNA Surveillance

Page 23: Refactoring DNA Surveillance - University of Auckland · Introduction The Java TreeBuilder application The database behind the web site The DNA Surveillance (Admin) web site Add-on

Introduction The Java TreeBuilder application The database behind the web site The DNA Surveillance (Admin) web site Add-on

Appendix

Waltraud Sichart Supervisor: Howard Ross Refactoring DNA Surveillance

Page 24: Refactoring DNA Surveillance - University of Auckland · Introduction The Java TreeBuilder application The database behind the web site The DNA Surveillance (Admin) web site Add-on

Introduction The Java TreeBuilder application The database behind the web site The DNA Surveillance (Admin) web site Add-on

Appendix

Waltraud Sichart Supervisor: Howard Ross Refactoring DNA Surveillance

Page 25: Refactoring DNA Surveillance - University of Auckland · Introduction The Java TreeBuilder application The database behind the web site The DNA Surveillance (Admin) web site Add-on

Introduction The Java TreeBuilder application The database behind the web site The DNA Surveillance (Admin) web site Add-on

Appendix

Waltraud Sichart Supervisor: Howard Ross Refactoring DNA Surveillance

Page 26: Refactoring DNA Surveillance - University of Auckland · Introduction The Java TreeBuilder application The database behind the web site The DNA Surveillance (Admin) web site Add-on

Introduction The Java TreeBuilder application The database behind the web site The DNA Surveillance (Admin) web site Add-on

Appendix

Waltraud Sichart Supervisor: Howard Ross Refactoring DNA Surveillance

Page 27: Refactoring DNA Surveillance - University of Auckland · Introduction The Java TreeBuilder application The database behind the web site The DNA Surveillance (Admin) web site Add-on

Introduction The Java TreeBuilder application The database behind the web site The DNA Surveillance (Admin) web site Add-on

Appendix

Waltraud Sichart Supervisor: Howard Ross Refactoring DNA Surveillance

Page 28: Refactoring DNA Surveillance - University of Auckland · Introduction The Java TreeBuilder application The database behind the web site The DNA Surveillance (Admin) web site Add-on

Introduction The Java TreeBuilder application The database behind the web site The DNA Surveillance (Admin) web site Add-on

Appendix

Waltraud Sichart Supervisor: Howard Ross Refactoring DNA Surveillance

Page 29: Refactoring DNA Surveillance - University of Auckland · Introduction The Java TreeBuilder application The database behind the web site The DNA Surveillance (Admin) web site Add-on

Introduction The Java TreeBuilder application The database behind the web site The DNA Surveillance (Admin) web site Add-on

Appendix

Waltraud Sichart Supervisor: Howard Ross Refactoring DNA Surveillance

Page 30: Refactoring DNA Surveillance - University of Auckland · Introduction The Java TreeBuilder application The database behind the web site The DNA Surveillance (Admin) web site Add-on

Introduction The Java TreeBuilder application The database behind the web site The DNA Surveillance (Admin) web site Add-on

Appendix

back

Waltraud Sichart Supervisor: Howard Ross Refactoring DNA Surveillance