Kallio Chipster Bosc2008

13
Chipster – user friendly microarray analysis software Aleksi Kallio CSC – The Finnish IT Center for Science July 19, BOSC 2008

Transcript of Kallio Chipster Bosc2008

Page 1: Kallio Chipster Bosc2008

Chipster – user friendly microarray analysis software

Aleksi KallioCSC – The Finnish IT Center for Science

July 19, BOSC 2008

Page 2: Kallio Chipster Bosc2008

Contents

Chipster, brief introduction System architecture and design Two paradigm approach Discussion

Page 3: Kallio Chipster Bosc2008

Chipster

Goal: Easy access to up-to-date analysis methods (R/Bioconductor) Features

• Intuitive graphical user interface• Comprehensive selection of analysis tools and visualizations• Possibility to construct (and share) automatic analysis workflows

• Support for different array types (Affymetrix, Agilent, Illumina, cDNA)• Compatible with Windows, Linux and Mac OS X• The graphical client program is easy to install and update• Analysis jobs are run on central computing servers

• Available for local installations, open source. Covered in more detail in

• Technology Track presentation TT22 on Monday 3:45 pm

• Poster A13 on Sunday 5:45 pm

Page 4: Kallio Chipster Bosc2008

Technical overview

A distributed system implemented with Java and JMS messaging architecture

Generic platform and user oriented functional layer on top of that Connected to different external analysis tools Used via graphical user interface User is the king!

Page 5: Kallio Chipster Bosc2008

System architecture

internet

brokers

client

SSL

ANALYSIS VISUALISATION

servers desktop

usercomp. nodes

auth.

Page 6: Kallio Chipster Bosc2008

System architecture

internet

brokers

client

localresources

SSL

web servicesANALYSIS VISUALISATION

servers desktop

usercomp. nodes

auth.

Page 7: Kallio Chipster Bosc2008

Our development approach

User oriented development• A lot of effort to keep development team in contact with the rest

of the world

• Agile methodology: release early, release often

• Communication and espionage needed The minimalist principle: You Are Not Going To Need It

• Features built only when and if needed

• Same applies for the development process itself Moving from concrete to abstract, not vice versa

What happens when you isolate a programmer from the rest of the world? It starts to write software frameworks.

Page 8: Kallio Chipster Bosc2008

Combining two paradigms

Most end user applications are data (document) centric Scientific data analysis calls for workflow orientation Chipster combines the two paradigms Workflow system

• Workflows are recorded as user analyses the data (“programming by example”) and can be saved as BeanShell scripts for reusing and extending

Data management system• Manages data transfers and caching in the messaging system

• Offers an high level API for visualisations

Page 9: Kallio Chipster Bosc2008

Application stack

messaging

data manager task executor

selectionfeatureplugins

workflows

user interface

servers

Page 10: Kallio Chipster Bosc2008

Extending Chipster

Own analysis tools can be added (on fly)• Currently R, command line and Java supported

New type of components can be added to system Web Services interfaces being developed (EMBRACE) All microarray related functionality in an own layer at client side =>

system can be adapted for other type of data by implementing a new layer

Page 11: Kallio Chipster Bosc2008

Eija Korpelainen Jarno Tuimala Taavi Hupponen Petri Klemelä, Mikko Koski, Janne Käki, Mika Rissanen

All the pilot users Department of Computer Science, University of Helsinki Tekes, the Finnish funding agency for technology and innovation

Acknowledgements

Page 12: Kallio Chipster Bosc2008

For more information

Main web page at chipster.csc.fi Code available under GPL at chipster.sourceforge.net

• In future probably somewhere else than SourceForge Note! User oriented Technology Track presentation on Monday at 3:45

in room 701B Note! Poster A13 on Sunday poster session at 5:45 – 8:30 in hall E We can be contacted via chipster @ csc.fi

Page 13: Kallio Chipster Bosc2008

For discussion

How to deal with dependency?• In modern bioinformatics software development, you are always

depending on others for major parts of your functionality

• Example: Chipster is depending on R/Bioconductor and some other external analysis tools, and some Web Services

How to make dependency related issues easier in future?• Web Services? Semantic Web?

• Grids? Cloud computing? Virtual machines?

• Common programming languages? Common runtimes?