Kallio Chipster Bosc2008
Transcript of Kallio Chipster Bosc2008
Chipster – user friendly microarray analysis software
Aleksi KallioCSC – The Finnish IT Center for Science
July 19, BOSC 2008
Contents
Chipster, brief introduction System architecture and design Two paradigm approach Discussion
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
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!
System architecture
internet
brokers
client
SSL
ANALYSIS VISUALISATION
servers desktop
usercomp. nodes
auth.
System architecture
internet
brokers
client
localresources
SSL
web servicesANALYSIS VISUALISATION
servers desktop
usercomp. nodes
auth.
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.
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
Application stack
messaging
data manager task executor
selectionfeatureplugins
workflows
user interface
servers
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
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
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
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?