# Bioconductor

Bioconductor is a free, open source and open development software project for the analysis and comprehension of genomic data generated by wet lab experiments in molecular biology.
Bioconductor is based primarily on the statistical R programming language, but does contain contributions in other programming languages. It has two releases each year that follow the semiannual 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 many genome annotation packages available that are mainly, but not solely, oriented towards different types of microarrays.
The 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 international institutions.

## Packages

Most Bioconductor components are distributed as R packages, which are add-on modules for R. Initially most of the Bioconductor software packages focused on the analysis of single channel Affymetrix and two or more channel cDNA/Oligo microarrays. 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

The broad goals of the projects are to:
* Provide widespread access to a broad range of powerful statistical and graphical methods for the analysis of genomic data.
* Facilitate the inclusion of biological metadata in the analysis of genomic data, e.g. literature data from PubMed, annotation data from LocusLink/Entrez.
* Provide a common software platform that enables the rapid development and deployment of plug-able, scalable, and interoperable software.
* Further scientific understanding by producing high-quality documentation and reproducible research.
* Train researchers on computational and statistical methods for the analysis of genomic data.

## Main features

* 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 "How-to"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, the Bioconductor project is 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 Illumina, 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.
* Genome 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 and others with the 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.This project also contain several functions for genomic analysis and phylogenetic (e.g. ggtree, phytools packages ..).
* Open source. The Bioconductor project has a commitment to full open source discipline, with distribution via a SourceForge.net-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 plug-ins
** 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.

## Milestones

Each release of Bioconductor is developed to work best with a chosen version of R. In addition to bugfixes and updates, a new release typically adds packages. The table below maps a Bioconductor release to a R version and shows the number of available Bioconductor software packages for that release.
| Version | Release date | Package count | R dependency |
| 3.20 | 30 Oct 2024 | 2289 | R 4.4 |
| 3.19 | 1 May 2024 | 2300 | R 4.4 |
| 3.18 | 25 Oct 2023 | 2266 | R 4.3 |
| 3.16 | 2 Nov 2022 | 2183 | R 4.2 |
| 3.14 | 27 Oct 2021 | 2083 | R 4.1 |
| 3.11 | 28 Apr 2020 | 1903 | R 4.0 |
| 3.10 | 30 Oct 2019 | 1823 | R 3.6 |
| 3.8 | 31 Oct 2018 | 1649 | R 3.5 |
| 3.6 | 31 Oct 2017 | 1473 | R 3.4 |
| 3.4 | 18 Oct 2016 | 1296 | R 3.3 |
| 3.2 | 14 Oct 2015 | 1104 | R 3.2 |
| 3.0 | 14 Oct 2014 | 934 | R 3.1 |
| 2.13 | 15 Oct 2013 | 749 | R 3.0 |
| 2.11 | 3 Oct 2012 | 610 | R 2.15 |
| 2.9 | 1 Nov 2011 | 517 | R 2.14 |
| 2.8 | 14 Apr 2011 | 466 | R 2.13 |
| 2.7 | 18 Nov 2010 | 418 | R 2.12 |
| 2.6 | 23 Apr 2010 | 389 | R 2.11 |
| 2.5 | 28 Oct 2009 | 352 | R 2.10 |
| 2.4 | 21 Apr 2009 | 320 | R 2.9 |
| 2.3 | 22 Oct 2008 | 294 | R 2.8 |
| 2.2 | 1 May 2008 | 260 | R 2.7 |
| 2.1 | 8 Oct 2007 | 233 | R 2.6 |
| 2.0 | 26 Apr 2007 | 214 | R 2.5 |
| 1.9 | 4 Oct 2006 | 188 | R 2.4 |
| 1.8 | 27 Apr 2006 | 172 | R 2.3 |
| 1.7 | 14 Oct 2005 | 141 | R 2.2 |
| 1.6 | 18 May 2005 | 123 | R 2.1 |
| 1.5 | 25 Oct 2004 | 100 | R 2.0 |
| 1.4 | 17 May 2004 | 81 | R 1.9 |
| 1.3 | 30 Oct 2003 | 49 | R 1.8 |
| 1.2 | 29 May 2003 | 30 | R 1.7 |
| 1.1 | 19 Oct 2002 | 20 | R 1.6 |
| 1.0 | 1 May 2002 | 15 | R 1.5 |

## Resources

* Gentleman, R.; Carey, V.; Huber, W.; Irizarry, R.; Dudoit, S. (2005). Bioinformatics and Computational Biology Solutions Using R and Bioconductor. Springer. ISBN 978-0-387-25146-2.
* Gentleman, R. (2008). R Programming for Bioinformatics. Chapman & Hall/CRC. ISBN 978-1-4200-6367-7.
* Hahne, F.; Huber, W.; Gentleman, R.; Falcon, S. (2008). Bioconductor Case Studies. Springer. ISBN 978-0-387-77239-4.
* Gentleman, Robert C.; Carey, Vincent J.; Bates, Douglas M.; Bolstad, Ben; Dettling, Marcel; Dudoit, Sandrine; Ellis, Byron; Gautier, Laurent; Ge, Yongchao; Gentry, Jeff; Hornik, Kurt; Hothorn, Torsten; Huber, Wolfgang; Iacus, Stefano; Irizarry, Rafael; Leisch, Friedrich; Li, Cheng; Maechler, Martin; Rossini, Anthony J.; Sawitzki, Gunther; Smith, Colin; Smyth, Gordon; Tierney, Luke; Yang, Jean Y. H.; Zhang, Jianhua (2004). "Bioconductor: open software development for computational biology and bioinformatics". Genome Biology. 5 (10): R80. doi:10.1186/gb-2004-5-10-r80. PMC 545600. PMID 15461798.