Overview
Bioconductor is an open source and open development software project to provide tools for the analysis and comprehension of genomic data.
Bioconductor is based primarily on the R programming language, but does contain contributions in other programming languages. It has two releases each year that follow the biannual releases of R. At any one time there is a release version, which corresponds to the released version of R, and a development version, which corresponds to the development version of R. Most users will find the release version appropriate for their needs. In addition there are a large number of meta-data packages available that are mainly, but not solely, oriented towards different types of microarrays.
The Bioconductor project was started in the Fall of 2001 and is overseen by the Bioconductor core team, based primarily at the Fred Hutchinson Cancer Research Center with other members coming from various US and international institutions. It gained widespread exposure in the groundbreaking Genome Biology 2004 paper Bioconductor: open software development for computational biology and bioinformatics. More project details are available online in the Bioconductor annual reports.
Bioconductor Packages
Most Bioconductor components are distributed as R packages, which are add-on modules for R. Initially most of the Bioconductor software packages focused primarily on DNA microarray data analysis. As the project has matured, the functional scope of the software packages broadened to include the analysis of all types of genomic data, such as SAGE, sequence, or SNP data.
Goals of the Bioconductor Project
The broad goals of the Bioconductor project are:
- To provide widespread access to a broad range of powerful statistical and graphical methods for the analysis of genomic data.
- To facilitate the inclusion of biological metadata in the analysis of genomic data, e.g. literature data from PubMed, annotation data from LocusLink.
- To provide a common software platform that enables the rapid development and deployment of extensible, scalable, and interoperable software.
- To further scientific understanding by producing high-quality documentation and reproducible research.
- To train researchers on computational and statistical methods for the analysis of genomic data.
Main Features of the Bioconductor Project
- The R Project for Statistical Computing. R and the
R package system
provides a broad range of advantages to the Bioconductor project including:
- It contains a high-level interpreted language in which one can easily and quickly prototype new computational methods.
- It includes a well established system for packaging together software components and documentation.
- It can address the diversity and complexity of computational biology and bioinformatics problems in a common object-oriented framework.
- It provides to on-line computational biology and bioinformatics data sources.
- It supports a rich set of statistical simulation and modeling activities.
- It contains cutting edge data and model visualization capabilities.
- It has been the basis for pathbreaking research in parallel statistical computing.
- It is under very active development by a dedicated team of researchers with a strong commitment to good documentation and software design.
- Documentation and reproducible research. Each Bioconductor package contains at least one vignette, which is a document that provides a textual, task-oriented description of the package's functionality. These vignettes come in several forms. Many are simple "HowTo"s that are designed to demonstrate how a particular task can be accomplished with that package's software. Others provide a more thorough overview of the package or might even discuss general issues related to the package. In the future, we are looking towards providing vignettes that are not specifically tied to a package, but rather are demonstrating more complex concepts. As with all aspects of the Bioconductor project, users are encouraged to participate in this effort.
- Statistical and graphical methods. The Bioconductor project aims to provide access to a wide range of powerful statistical and graphical methods for the analysis of genomic data. Analysis packages are available for: pre-processing Affymetrix and cDNA array data; identifying differentially expressed genes; graph theoretical analyses; plotting genomic data. In addition, the R package system itself provides implementations for a broad range of state-of-the-art statistical and graphical techniques, including linear and non-linear modeling, cluster analysis, prediction, resampling, survival analysis, and time-series analysis.
- Annotation. The Bioconductor project provides software for
associating microarray and other genomic data in real time to biological
metadata from web databases such as GenBank, LocusLink and PubMed (annotate package).
Functions are also provided for incorporating the results of statistical
analysis in HTML reports with links to annotation WWW resources.
Software tools are available for assembling and processing genomic annotation data, from databases such as GenBank, the Gene Ontology Consortium, LocusLink, UniGene, the UCSC Human Genome Project (AnnotationDbi package).
Data packages are distributed to provide mappings between different probe identifiers (e.g. Affy IDs, LocusLink, PubMed). Customized annotation libraries can also be assembled. - Bioconductor short courses. The Bioconductor project has developed a program of short courses on software and statistical methods for the analysis of genomic data. Courses have been given for audiences with backgrounds in either biology or statistics. All course materials (lectures and computer labs) are available on the WWW. Customized short courses may also be designed for interested parties.
-
Open source. The Bioconductor project has a commitment to full open source
discipline, with distribution via a SourceForge-like platform. All contributions
are expected to exist under an open source license such as Artistic 2.0, GPL2, or BSD.
There are many different reasons why open--source software is beneficial to the analysis
of microarray data and to computational biology in general. The reasons include:
- To provide full access to algorithms and their implementation
- To facilitate software improvements through bug fixing and software extension
- To encourage good scientific computing and statistical practice by providing appropriate tools and instruction
- To provide a workbench of tools that allow researchers to explore and expand the methods used to analyze biological data
- To ensure that the international scientific community is the owner of the software tools needed to carry out research
- To lead and encourage commercial support and development of those tools that are successful
- To promote reproducible research by providing open and accessible tools with which to carry out that research (reproducible research is distinct from independent verification)
- Open development. Users are encouraged to become developers,
either by contributing Bioconductor
compliant packages or documentation.
Additionally Bioconductor provides a mechanism for linking together different groups with common goals to foster collaboration on software, possibly at the level of shared development. - New Users. If you are new to the Bioconductor project, you might consider buying Bioinformatics and Computational Biology Solutions Using R and Bioconductor.