Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Kallio Chipster Bosc2008


Published on

Published in: Business, Technology
  • Be the first to comment

Kallio Chipster Bosc2008

  1. 1. Chipster – user friendly microarray analysis software <ul><ul><li>Aleksi Kallio </li></ul></ul><ul><ul><li>CSC – The Finnish IT Center for Science </li></ul></ul><ul><ul><li>July 19, BOSC 2008 </li></ul></ul>
  2. 2. Contents <ul><li>Chipster, brief introduction </li></ul><ul><li>System architecture and design </li></ul><ul><li>Two paradigm approach </li></ul><ul><li>Discussion </li></ul>
  3. 3. Chipster <ul><li>Goal: Easy access to up-to-date analysis methods (R/Bioconductor) </li></ul><ul><li>Features </li></ul><ul><ul><li>Intuitive graphical user interface </li></ul></ul><ul><ul><li>Comprehensive selection of analysis tools and visualizations </li></ul></ul><ul><ul><li>Possibility to construct (and share) automatic analysis workflows </li></ul></ul><ul><ul><li>Support for different array types (Affymetrix, Agilent, Illumina, cDNA) </li></ul></ul><ul><ul><li>Compatible with Windows, Linux and Mac OS X </li></ul></ul><ul><ul><li>The graphical client program is easy to install and update </li></ul></ul><ul><ul><li>Analysis jobs are run on central computing servers </li></ul></ul><ul><ul><li>Available for local installations, open source. </li></ul></ul><ul><li>Covered in more detail in </li></ul><ul><ul><li>Technology Track presentation TT22 on Monday 3:45 pm </li></ul></ul><ul><ul><li>Poster A13 on Sunday 5:45 pm </li></ul></ul>
  4. 4. Technical overview <ul><li>A distributed system implemented with Java and JMS messaging architecture </li></ul><ul><li>Generic platform and user oriented functional layer on top of that </li></ul><ul><li>Connected to different external analysis tools </li></ul><ul><li>Used via graphical user interface </li></ul><ul><li>User is the king! </li></ul>
  5. 5. System architecture ANALYSIS VISUALISATION internet brokers client SSL servers desktop user comp. nodes auth.
  6. 6. System architecture web services ANALYSIS VISUALISATION internet brokers client local resources SSL servers desktop user comp. nodes auth.
  7. 7. Our development approach <ul><li>User oriented development </li></ul><ul><ul><li>A lot of effort to keep development team in contact with the rest of the world </li></ul></ul><ul><ul><li>Agile methodology: release early, release often </li></ul></ul><ul><ul><li>Communication and espionage needed </li></ul></ul><ul><li>The minimalist principle: You Are Not Going To Need It </li></ul><ul><ul><li>Features built only when and if needed </li></ul></ul><ul><ul><li>Same applies for the development process itself </li></ul></ul><ul><li>Moving from concrete to abstract, not vice versa </li></ul><ul><ul><li>What happens when you isolate a programmer from the rest </li></ul></ul><ul><ul><li>of the world? It starts to write software frameworks. </li></ul></ul>
  8. 8. Combining two paradigms <ul><li>Most end user applications are data (document) centric </li></ul><ul><li>Scientific data analysis calls for workflow orientation </li></ul><ul><li>Chipster combines the two paradigms </li></ul><ul><li>Workflow system </li></ul><ul><ul><li>Workflows are recorded as user analyses the data (“programming by example”) and can be saved as BeanShell scripts for reusing and extending </li></ul></ul><ul><li>Data management system </li></ul><ul><ul><li>Manages data transfers and caching in the messaging system </li></ul></ul><ul><ul><li>Offers an high level API for visualisations </li></ul></ul>
  9. 9. Application stack servers messaging data manager task executor selection feature plugins workflows user interface
  10. 10. Extending Chipster <ul><li>Own analysis tools can be added (on fly) </li></ul><ul><ul><li>Currently R, command line and Java supported </li></ul></ul><ul><li>New type of components can be added to system </li></ul><ul><li>Web Services interfaces being developed (EMBRACE) </li></ul><ul><li>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 </li></ul>
  11. 11. <ul><li>Eija Korpelainen </li></ul><ul><li>Jarno Tuimala </li></ul><ul><li>Taavi Hupponen </li></ul><ul><li>Petri Klemelä, Mikko Koski, Janne Käki, Mika Rissanen </li></ul><ul><li>All the pilot users </li></ul><ul><li>Department of Computer Science, University of Helsinki </li></ul><ul><li>Tekes, the Finnish funding agency for technology and innovation </li></ul>Acknowledgements
  12. 12. For more information <ul><li>Main web page at </li></ul><ul><li>Code available under GPL at </li></ul><ul><ul><li>In future probably somewhere else than SourceForge </li></ul></ul><ul><li>Note! User oriented Technology Track presentation on Monday at 3:45 in room 701B </li></ul><ul><li>Note! Poster A13 on Sunday poster session at 5:45 – 8:30 in hall E </li></ul><ul><li>We can be contacted via chipster @ </li></ul>
  13. 13. For discussion <ul><li>How to deal with dependency? </li></ul><ul><ul><li>In modern bioinformatics software development, you are always depending on others for major parts of your functionality </li></ul></ul><ul><ul><li>Example: Chipster is depending on R/Bioconductor and some other external analysis tools, and some Web Services </li></ul></ul><ul><li>How to make dependency related issues easier in future? </li></ul><ul><ul><li>Web Services? Semantic Web? </li></ul></ul><ul><ul><li>Grids? Cloud computing? Virtual machines? </li></ul></ul><ul><ul><li>Common programming languages? Common runtimes? </li></ul></ul>