160 likes | 294 Views
Eija Korpelainen, Aleksi Kallio. Chipster Analysis Software for DNA Microarray Data. Introduction to Chipster. Platform where different analysis tools can be integrated and served through an easy to use graphical interface Comprehensive selection of tools (R/Bioconductor, others)
E N D
Eija Korpelainen, Aleksi Kallio Chipster Analysis Software for DNA Microarray Data
Introduction to Chipster • Platform where different analysis tools can be integrated and served through an easy to use graphical interface • Comprehensive selection of tools (R/Bioconductor, others) • Easy to install and update • Rich graphics • Tracking of performed analyses • Possibility to view the analysis scripts at the source code level • Workflows • Compatible with Windows, Linux and MacOS
System Goals • User's point of view • Usability • Functionality • Efficiency • Developer's point of view • Manageability • Code quality
CSC internet desktop front end SSL JWS client analyser Architecture overview = message broker third party Web services VISUALISATION ANALYSIS
Technical aspects • A full-blown graphical user interface • Implemented using Java / Swing • For visualisation and data presentation custom and third party components are used (JFreeChart, SwingLabs…) • Usability oriented development approach • Analysis backend gathers a variety of analysis tools • R / Bioconductor and others • Deployed on heavy duty computing environment • Connections to external Web Services (such as annotations from GeneCruiser at Broad Institute / MIT) • Components are connected using messaging fabric • Java JMS / ActiveMQ • Authentication managed by the messaging fabric • Asynchronous communication for responsive user interface
Technical Solutions: Session Management • Motivation: when doing authentication, how to combine usability with security andscalability? • Answer: a lot of complicated programming to integrate authentication into inter-component messaging fabric • All significant state information is managed on the server side, while the GUI-related information stays at the client side • Data sessions and login sessions are separated, so you don't lose your work after a session time-out
Technical Solutions: Easy Management • Motivation: make complicated system easy to deploy and manage • Everything is packed inside a one JAR-file • No library dependencies (except for JRE) • Manageable server components • Can be run side-by-side • Monitored using Nagios • Fault-tolerant messaging • Clients are implemented with Java Web Start • Client software is automatically installed and updated
Technical Solutions: Efficient Analysis Execution • Motivation: how to serve users fast without wasting computational resources • Datasets are kept at the analysis server (”keep data and execution close together”) • A dynamic pool of execution environments is managed • Starting an instance of R statistical environment is slow • Running analyses at server side allows enough computing power for larger jobs, but also small jobs run fast
Summary • Integrated, graphical analysis environment with a sustainable technical implementation