Chemo- and bioinformatics are important and active research areas with an ever-increasing number of algorithms and software implementations. Numerous applications provide functionality for highly specific tasks, but very few provide a complete one-package solution where all functionality is integrated into a user-friendly workbench. Commercial software like MOE (Chemical Computing Group) and Discovery Suite (Accelrys) contains a lot of features, but are expensive applications, and generally do not allow unlimited extensibility, or have restricted access to source code.
Existing open source projects in bioinformatics that try to solve this problem are usually focused on integrating existing software applications. Jemboss  wraps around the EMBOSS  collection of open source bioinformatics tools using loose coupling; for example, users can extend functionality by adding shell commands. ISYS  is another example of a loosely coupled system that integrates pre-installed applications with a general approach. Gaggle  also integrates existing software tools and data sources by wrapping them in code to interchange data between components.
The applications described above are focused on the frameworks for integration rather than providing intuitive interfaces, and are often complex to install, configure, and extend. Few open source projects try to provide an integrated workbench with the possibility for users to add and/or modify functionality without the need to recompile the entire application. Strap  is an application for protein alignments that has a workbench with a simple plugin architecture for extension of functionality using the HotSwap  mechanism. TOUCAN  is a client-server workbench for regulatory sequence analysis using web services, where users can set up and invoke their own algorithmic web services. Taverna  is a workbench for dataflow composition and execution where nodes can be web services or components on the local machine which are adapted for use in Taverna. Successful attempts to integrate chemoinformatics and bioinformatics into a single open source framework have not yet been reported.
Bioclipse is a software project that solves the requirements mentioned above by providing an open source platform for integrating chemo- and bioinformatics into a single framework with an intuitive user interface. Several mature life science frameworks and components are integrated in Bioclipse, and the project actively aims to conform to available standards. The use of an open source license means that anyone can download the source code and make changes, promoting global collaborative development efforts, as well as quick and responsive bug fixing. Bioclipse is part of the Blue Obelisk movement , a diverse Internet group that promotes reusable chemistry via open source software development, consistent and complimentary chemoinformatics research, open data, and open standards.
Bioclipse is built on Eclipse , a universal tool platform that was originally built as an integrated development environment (IDE), that has evolved over years into a general framework for application development and integration. In Eclipse, all code is split up into plugins, even the core modules. A plugin is a collection of functionality (Java-classes) that can be seamlessly integrated with other plugins, such as algorithms, visualizations, and menu options. This architecture allows for components to be used as building blocks; the minimal set of plugins needed to form a complete application is collectively known as the Rich Client Platform (RCP) . RCP enables software developers to focus on the actual application functionality without concern for standard functionalities, since much of the basic functionality – such as the integration framework and common components – is inherited from Eclipse.
The plugin-architecture of Eclipse is powerful and versatile, and gives developers the ability to add custom functionality to virtually any point in an application. This is a major difference from other plugin architectures, where the user often can only add a pre-compiled class, with limited flexibility, to a pre-determined structure. In Eclipse, it is possible to add views, editors, menus, actions, properties, dialogs, wizards, preferences, help contexts, specify conditions when a certain feature should be available, and even extend the domain object model. That is, the possibilities are endless for extending the program and adapting it to user needs. To define what can be extended, Eclipse utilizes Extension points, which exist for almost anything that developers would like to extend, and it is straightforward to create new extension points tailored to user needs.