Package Submission

This page gives an overview of the submission process along with key principles to follow. See also Package Guidelines for package specific guidelines and requirement and the Bioconductor new package submission tracker.


Bioconductor Packages should

[ Back to top ]

Types of Packages

Bioconductor packages are broadly defined by three main package types: Software, Experiment Data, and Annotation. Most packages contributed by users are software packages that perform analytic calculations. Users also contribute annotation and experiment data packages.

Annotation packages are database-like packages that provide information linking identifiers (e.g., Entrez gene names or Affymetrix probe ids) to other information (e.g., chromosomal location, Gene Ontology category). It is also encouraged to utilize AnnotationHub for storage and access to large raw data files and their conversion to standard R formats. Instructions for adding data to AnnotationHub and designing a annotaiton package to use AnnotationHub can be found here: Creating AnnotationHub Packages.

Experiment data packages provide data sets that are used, often by software packages, to illustrate particular analyses. These packages contain curated data from an experiment, teaching course or publication and in most cases contain a single data set. It is also encouraged to utilize ExperimentHub for storage and access to larger data files. ExperimentHub is also particularly useful for hosting collections of related data sets. Instructions for adding data to ExperimentHub and designing an experiment data package to use ExperimentHub can be found here: Creating ExperimentHub Packages.

See Package Guidelines for details on package format and syntax.

[ Back to top ]

Author / Maintainer Expectations

Acceptance of packages into Bioconductor brings with it ongoing responsibility for package maintenance. These responsibilities include:

[ Back to top ]


Experiment Data Packages

Experimental data packages contain data specific to a particular analysis or experiment. They often accompany a software package for use in the examples and vignettes and in general are not updated regularly. If you need a general subset of data for workflows or examples first check the AnnotationHub resource for available files (e.g., BAM, FASTA, BigWig, etc.).

If you have an associated data package for your software package, please do NOT create a separate issue in the our tracker repository for that. Instead, please add the data package repository to the same issue as the software package. The process for doing this is documented here.

Annotation Packages

Annotation packages contain lightly or non-curated data from a public source and are updated with each Bioconductor release (every 6 months). They are a source of general annotation for one or many organisms and are not specific to a particular experiment. When possible, they should support the select() interface from AnnotationDbi.

Annotation packages should NOT be posted to the tracker repository. Instead send an email to with a description of the proposed annotation package and futher instructions of where to send the package will be provided.

[ Back to top ]

Review Process

[ Back to top ]

Following Acceptance

Following acceptance of a package:

[ Back to top ]

Additional Support

We are eager to enhance the quality and interoperability of Bioconductor software and will provide additional support when requested by package developers. Example areas of assistance include use of appropriate S4 structures, specific guidance on efficient implementation, guidance on code structure, and critical assessment of package documentation and structure. Use the bioc-devel mailing list or email to obtain additional support.

[ Back to top ]

Source Code & Build Reports »

Source code is stored in Git.

Software packages are built and checked nightly. Build reports:


Development Version »

Bioconductor packages under development:

Developer Resources: