COMP 6703 Project A GUI Interface to the Gene Microarray Data Analysis Program SigMotif. Student: Ye Luo (u3972395) Clients: Professor Susan Wilson and.

Slides:



Advertisements
Similar presentations
1 SEDIT & S/REXX SEDIT and S/REXX Mainframe-caliber tools for UNIX Offered by Treehouse Software, Inc.
Advertisements

Chapter 8 Improving the User Interface
Mainframe-caliber tools for UNIX Treehouse Software, Inc.
AA high level programming language. IIt is created by Microsoft. UUses a graphical environment called the Integrated Development Environment (IDE).
COMP 6703 Project A GUI for R Statistical Package. Student: Ye Luo (u ) Clients: Professor Susan Wilson and Dr Yvonne Pittelkow Supervisor: Dr Peter.
A graphical user interface (GUI) is a pictorial interface to a program. A good GUI can make programs easier to use by providing them with a consistent.
Using Visual Basic 6.0 to Create Web-Based Database Applications
A Guide to Oracle9i1 Introduction To Forms Builder Chapter 5.
Java Programming, 3e Concepts and Techniques Chapter 1 An Introduction to Java and Program Design.
A Guide to Oracle9i1 Creating an Integrated Database Application Chapter 8.
Interaction Styles Interface Widgets. What are Interaction Styles?  A Collection of interface objects and associated techniques from which an interaction.
Data Linkage Graphical User Interface for Febrl Author: Changyang Li Student ID:u Supervisor: Peter Christen Faculty of Engineering and Information.
Chapter 2: The Visual Studio.NET Development Environment Visual Basic.NET Programming: From Problem Analysis to Program Design.
Chapter 7 Improving the User Interface
Data Linkage Graphical User Interface for Febrl Author: Changyang Li Student ID:u Supervisor: Peter Christen Faculty of Engineering and Information.
Applications Software
2. Introduction to the Visual Studio.NET IDE 2. Introduction to the Visual Studio.NET IDE Ch2 – Deitel’s Book.
Systems Analysis and Design in a Changing World, 6th Edition
Introduction 01_intro.ppt
Visual Basic Chapter 1 Mr. Wangler.
CS413: Java Programming language Applications Applets
Using Visual Basic 6.0 to Create Web-Based Database Applications
An Introduction to Visual Basic
Introduction to Visual Basic. Quick Links Windows Application Programming Event-Driven Application Becoming familiar with VB Control Objects Saving and.
Parser-Driven Games Tool programming © Allan C. Milne Abertay University v
11.10 Human Computer Interface www. ICT-Teacher.com.
Tcl/Tk package in R Yichen Qin
2. Introduction to the Visual Studio.NET IDE. Chapter Outline Overview of the Visual Studio.NET IDE Overview of the Visual Studio.NET IDE Menu Bar and.
PROBLEM SOLVING The first step in writing instructions to carry out a task is to determine what the output should be (What should the task produce?)
Chapter 34 Java Technology for Active Web Documents methods used to provide continuous Web updates to browser – Server push – Active documents.
Python Programming Graphical User Interfaces Saad Bani Mohammad Department of Computer Science Al al-Bayt University 1 st 2011/2012.
CS699: Professional Seminar in CS / Professor V. Riabov Keith Armentrout Presentation #3 : Portable GUI in Ada and GtkAda 2005 March 12Keith Armentrout1.
Creating Graphical User Interfaces (GUI’s) with MATLAB By Jeffrey A. Webb OSU Gateway Coalition Member.
Microsoft Visual Basic 2005 BASICS Lesson 1 A First Look at Microsoft Visual Basic.
1 © 2001 John Urrutia. All rights reserved. Chapter 6 Graphical User Interfaces GUI’s.
CS324e - Elements of Graphics and Visualization Java GUIs - Event Handling.
Performance of New the ACL Cesar Cavazos Accounting Information Technology (AIT)
Computer Graphics: Programming, Problem Solving, and Visual Communication Steve Cunningham California State University Stanislaus and Grinnell College.
Chapter Eleven The X Window System. 2 Lesson A Starting and Navigating an X Window System.
Define and describe operating systems which contain a Command Line Interface (CLI) Define and describe operating systems which contain a Graphical User.
9-Nov-97Tri-Ada '971 TASH An Alternative to the Windows API TRI-Ada ‘97 Terry J. Westley
Creating visual interfaces in python
 2002 Prentice Hall. All rights reserved. 1 Chapter 2 – Introduction to the Visual Studio.NET IDE Outline 2.1Introduction 2.2Visual Studio.NET Integrated.
Chapter 5 Introduction To Form Builder. Lesson A Objectives  Display Forms Builder forms in a Web browser  Use a data block form to view, insert, update,
1 Lecture 5: Interactive Tools: Prototypers (HyperCard, Director, Visual Basic), Interface Builders Brad Myers Advanced User Interface Software.
Understanding Desktop Applications Lesson 5. Objective Domain Matrix Skills/ConceptsMTA Exam Objectives Understanding Windows Forms Applications Understand.
Systems Analysis and Design in a Changing World, 6th Edition 1 Chapter 7 - Designing the User and System Interfaces.
COMPUTER III. Fundamental Concepts of Programming Control Structures Sequence Selection Iteration Flowchart Construction Introduction to Visual Basic.
Programming Logic and Design Fourth Edition, Comprehensive Chapter 14 Event-Driven Programming with Graphical User Interfaces.
The Development Process Compilation. Compilation - Dr. Craig A. Struble 2 Programming Process Problem Solving Phase We will spend significant time on.
Chapter – 8 Software Tools.
1 januari 2008 RIBASIM input data by Wil N.M. van der Krogt.
Understanding Desktop Applications Lesson 5. Understanding Windows Forms Applications Windows Forms applications are smart client applications consisting.
LCG AA Meeting 30 June 2004 Ilka Antcheva Graphics User Interface in ROOT.
Software Architecture for Multimodal Interactive Systems : Voice-enabled Graphical Notebook.
 2002 Prentice Hall. All rights reserved. 1 Introduction to the Visual Studio.NET IDE Outline Introduction Visual Studio.NET Integrated Development Environment.
Decision Support System by Simulation Model (Ajarn Chat Chuchuen) 1 Chapter 6 User Interface Management.
Development Environment
Topics Graphical User Interfaces Using the tkinter Module
GUI Design and Coding PPT By :Dr. R. Mall.
Chapter Topics 15.1 Graphical User Interfaces
GUI Using Python.
Fundamentals of Python: From First Programs Through Data Structures
Chapter 2 Visual Basic Interface
Chapter 2 – Introduction to the Visual Studio .NET IDE
GTK + Programming.
GRAPHICAL USER INTERFACE
Electronics II Physics 3620 / 6620
Event loops 17-Jan-19.
Lab 8: GUI testing Software Testing LTAT
Presentation transcript:

COMP 6703 Project A GUI Interface to the Gene Microarray Data Analysis Program SigMotif. Student: Ye Luo (u ) Clients: Professor Susan Wilson and Dr Kristine Hardy Supervisor: Dr Peter Strazdins Time: 2006 Semester One

Background 1. Microarray experiments generate huge data sets Microarray is an orderly arrangement of gene samples.

Gene Microarray "1"" Id""Score""Ratio""Human""Mouse""Rat" "Name" "2""305677_A"" "" " "ENSESTG ""NA""NA""NA" "3""813714_A"" "" " "ENSG ""ENSMUSG " "ENSRNOG ""CFLAR" "4""230261_A"" "" " "ENSG ""ENSMUSG " "ENSRNOG ""RALA" "5""488061_A"" "" " "ENSG ""ENSMUSG " "ENSRNOG ""PRSS3"

2. No available software that combines the visualization and analysis of microarray data with that of biochemical networks (regulatory, interaction, metabolic).

SigMotif Description A gene microarray data analysis program is developed by an escience student Kristine Hardy last year. It is built on the best of open-source analysis software R. why use R ? R is an open source statistical computing environment controlled by an interpreted programming language. R provides good method and functions for easy manipulation of statistical tests and graphs. Some extension packages such as widgetTools provide GUI interface to R program

SigMotif System Component R RWidgetTools SigMotif

Systems Component R a programming environment for data analysis and graphics R Widget Tools an useful package for R that develops a GUI interface. SigMotif a gene microarray data analysis program

Input and Output data of SigMotif INPUT 1. List of motifs with description 2. Rat motif lists (Up, Down, Unchanged) 3. Human motif lists (Up, Down, Unchanged) 4. Mouse motif lists (Up, Down, Unchanged) 5. Significance/Homology lists (Up, Down, Unchanged) 6. Significance/Homology lists for comparison treatment

OUTPUT 1. Lists of significant motifs for different conditions 2. Graph of the significance values of given motifs for different conditions 3. Graphs of the conservation values of given motifs for different conditions 4. Lists of the motifs with the highest conservation values for a comparison treatment

Drawbacks in SigMotif GUI Interface SigMotif program is unstable. SigMotif program often crashes. The main reason: GUI Interface is not robust. Other problems:. GUI Interface is not flexible and aesthetic.. Layout of GUI interface objects is unreasonable.. GUI Interface does not agree with users’ common customs

New GUI Requirement. Keeping the current design style GUI Interface is composed of several dialogues. Reasonable arrangement of different widget objects on GUI panel. Important Improvements The redundant dialogues

New GUI requirement cons The redundant widget objects The fixed buttons Error checking Feedback message The length of text entry ……

New GUI Interface Modeling There are two different methods to be used to develop new GUI Interface 1. WXPython under Python environment 2. R Tcl/Tk under R environment

SigMotif with WXPython Python WXPython RPy SigMotif

System Component 1. Python. a dynamic object-oriented programming language. strong support for integration with other language and tools 2. WXPython. a GUI toolkit for the Python programming language 3. RPy. a Python interface to the R programming language. manage all kinds of R objects and execute arbitrary R functions

SigMotif with R Tcl/Tk R R Tcl/Tk SigMotif

System Component 1.R. a statistical computing environment. provide good method and functions for easy manipulation of statistical tests and graphs 2. R Tcl/Tk. a extension package connecting R to graphical toolboxes that can be used for developing menus and dialog boxes

The flowchart of the New GUI interface Step0 Make or Load experiment Step1 Load gene or motif lists Step4 the Menu Step3 Save Exp Data Step5 Get Exp Step6 List significant motifs Step2 Make homolog tables Step10 Make Network Step7 Graph significant motifs Step8 List conserved motifs Step9 Graph conserved motifs

Program Implementation wxPython under Python environment Software Packages Installation. Python. wxPython. R. RPy. Extensions including NumPy and Mark Hommand’s Important the software version number matching

Program Implementation R Tcl/Tk under R environment Software packages installation. R. R Tcl/Tk The R Tcl/Tk can be built under the R library directory

Basic steps of building a GUI dialogue 1. Load the R Tcl/Tk package under R environment 2. Define an R environment object for saving all intermediate data files and final output data files 3. Create a new top-level window 4. Define widget objects 5. Use command tkgrid to specify the layout 6. Bind events to functions and generate events

Implementation Problems New program version with wxPython 1. The appearance is beautiful 2. calling complicated R functions from python is difficult. 3. the program is unstable different input data files stop and even crash! 4. RPy object conversion

Testing Expected Output Data. Using the standard input data files provided by former designer and client Dr. K Hardy. There are totally 13 different.txt files. The expected Output Data list of significant motifs list of conserved motifs graph of significant motifs graph of conserved motifs

Robustness Performance 1. only one single input data lists loading dialogue 2. freely transform among different GUI dialogues 3. delete the redundant widget objects 4. improved layout of widget objects on top-level window 5. feedback message 6. environment variable

Conclusion and Future Work 1. wxPython is a good toolkit for developing GUI interface 2. How to resolve the interaction between R and Python? RPy??? 3. R Tcl/Tk is good. But a huge multi-line R program the layout method 4. Requirement analysis Step10 GUI is too complicated too many widget objects text label of the widget objects