Chipster – user friendly microarray analysis software
- CSC – The Finnish IT Center for Science
- Chipster, brief introduction
- System architecture and design
- Goal: Easy access to up-to-date analysis methods (R/Bioconductor)
- 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
- 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
System architecture ANALYSIS VISUALISATION internet brokers client SSL servers desktop user comp. nodes auth.
System architecture web services ANALYSIS VISUALISATION internet brokers client local resources SSL servers desktop user comp. 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
- Workflows are recorded as user analyses the data (“programming by example”) and can be saved as BeanShell scripts for reusing and extending
- Manages data transfers and caching in the messaging system
- Offers an high level API for visualisations
Application stack servers messaging data manager task executor selection feature plugins workflows user interface
- 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
- Petri Klemelä, Mikko Koski, Janne Käki, Mika Rissanen
- Department of Computer Science, University of Helsinki
- Tekes, the Finnish funding agency for technology and innovation
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
- 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?