ChIP-Enrich: Gene Set Enrichment Testing for ChIP-Seq Data


ChIP-Enrich tests ChIP-seq peak data for enrichment of biological pathways, GO terms, and other types of gene sets. Using input peak regions (e.g., a bed file), ChIP-Enrich assigns peaks to genes based on one of several possible "locus definitions". The "locus" of a gene is the region from which the gene is predicted to be regulated. ChIP-Enrich uses a logistic regression model to test for association between the presence of at least one peak in a gene and gene set membership. It empirically adjusts for the relationship between the length of the loci (and optionally mappability) and the presence of least one peak in a gene using a binomial cubic smoothing spline term. Empirically modeling this relationship relaxes the explicit assumptions about the relationship underlying existing tests. For example, Fisher's exact test assumes that GO term membership is not related to the probability a gene will have at least one peak, which is satisfied when each gene has an equal probability of being assigned at least one peak. The binomial test (implemented in the GREAT software) assumes that the number of peaks assigned to a gene is proportional to its locus length and that no extra-variability over that expected for the binomial distribution exists in the dataset. Assumptions of both tests are violated in many ChIP-Seq datasets.

The chipenrich R package and web site can test for gene-set enrichment using 17 different annotation databases (such as KEGG pathways and GO biological processes), accepts either a BED file or R object as input. chipenrich creates summary plots and files describing peak to gene assignments and enrichment results.


Requirements: R >= v2.13, Bioconductor >= v2.8
Version 1.0.0 is currently available at Bioconductor. Version 1.1.2, the version that is available on this website, has several upgrades including additional locus definitions and multi-core capabilities for Linux and MAC operating systems. Please refer to the vignette for additional information.

Installation Instructions:

The zip file has the two tarballs (there's a data package and a code package), along with a script that should install them for you. Just extract the zip anywhere first, and then:

If you're on Windows:
and then select the install_chipenrich.R file from the zip file.

If you're on Linux:
change directory first to wherever you extracted the zip, and do:
./install_chipenrich.R # or can run R and do source("install_chipenrich.R")

After installation, run:

Description of gene set annotation sources:


Please reference the following publication when citing Chip-Enrich:
1 R.P. Welch, C. Lee, R.A. Smith, S. Patil, T. Weymouth, P. Imbriano, L.J. Scott, M.A. Sartor. "ChIP-Enrich: gene set enrichment testing for ChIP-seq data." (In revision)

Contact Info:
Ryan Welch ( package help/support, bug reports, feature requests
Maureen Sartor ( and Laura Scott ( research or methodology