Chip-seq data analysis: from quality check to motif discovery and more

Lausanne, 27 April - 1 May 2015

Data reproduction exercise: Peak list evaluation - motif enrichment test

Author: Philipp Bucher


This exercise is based on the following paper: As the title indicates, the paper presents a performance evaluation of Chick-seq peak-finder software. The authors use various statistical plots for this purpose. Note that all these tests require as input a ranked peak list and a reference set of bona fide true binding sites.

Figure 5 compares peak lists obtained with different peak finders with so-called sensitivity plots.

These plots show the total number of true positive among the N highest ranking peaks as a function of N. True positives are either defined by a given set of experimentally validated binding sites or by the presence of a binding motif of the corresponding transcription factor.

Figure 6 shows the ranking accuracy obtained with different peak finders for NRSF.

In principle, one would expect the top-ranked peaks to be the most highly enriched in the NRSF binding sites. As you can see, this is not the case for all Peak finders.


Generate peak lists for NRSF and GABP with ChIP-Peak. Then generate sensitivity and ranking accuracy plots for the resulting peak lists. Next, compute the same types of curves for other NRSF and GABP peak lists available at our server. At the end, superpose the curves obtained with different peak lists in single graphics.

Hints and recipes

Input data

ChIP-seq and ChIP-seq-peak data from hg18:

    Valouev 2008, Jurkat cells, GABP SRF NRSF
       Sample: Jurkat GABP
       Sample: Jurkat NRSF(polyclonal)
       Sample: Jurkat NRSF(monoclonal)
Additional peak lists for GABP and NRSF from hg19 can be found in:
   ENCODE ChIP-seq-peak -> Uniform TFBS from UCSC
qPCR-validated binding site lists:

These lists are avaible in a Excel file named "Dataset S1" posted on the publisher's website under "Supporting Information". The Excel file contains two sheets, one for GABP and one for NSRF, which you have to export seperately in Text CSV format (field delimiter tab, text delimiter none). The exported files are posted below:

The binding site coordinates are given for human genome assembly hg18. The above files can be converted into server-compatible BED files with R:
   GABP = read.table("wilbanks_DS1_GABP.txt")
   GABP = GABP[-1,]
      row.names=F, col.names=F, sep="\t", quote=F)
The binding site table for NRSF has an additional column filled with the enrichment factor. According to Mortazavi et al. (PMID: 16963704) only sites with enrichment values higher than 2.44 should be considered as positives. This is taken into account with the following conversion recipe.
   NRSF = read.table("wilbanks_DS1_NRSF.txt",
   NRSF = NRSF[-1,]
   pos=which(as.numeric(NRSF[,4]) > 2.44)
      row.names=F, col.names=F, sep="\t", quote=F)
The BED files can be uploaded to ChIP-Convert for convervsion into SGA format (Compress output off, centered SGA on, Unoriented SGA on). We recommend to liftOver the resulting files to hg19 and to save SGA files for both assemblies.

All files resulting from the conversion procedure are posted below for your convenience. We recommend to use the same file names if you do the conversion yourself.

Finding peaks with ChIP-peak.

Use the standard procedure proposed in the tutorial of day one. The peak lists below

were both obtained with the following parameters.
   strand:        any   Window Width :  200   Count Cut-off:          1
   centering:      50   Vicinity Range: 200   Refine Peak Positions: on
   Repeat Masker: off   Peak Threshold:  10
Making sensitivity plots with qPCR-validated binding sites

Go to ChIP-Cor. Upload a peak list as reference feature and the corresponding qPCR-validated binding site list as target feature (strand option any, Count Cut-off 999, other parameters are not relevant at this stage). The high cut-off value preserves the numbers in the count field which will later be used for peak ranking. Use the "Enriched Feature Extraction Option" to annotate the ChIP-Seq peak list for colocalization with the qPCR-based binding site list (range -250 to +250, threshold 0, Cut-off 999).

The resulting annotated peak files are posted below:

The PCR-validation status is indicated in the sixth field, see the following example lines.
   NC_000001.9   ChIP_R   110751869   0   17   ChIP_T=0
   NC_000001.9   ChIP_R   110887050   0   66   ChIP_T=1
   NC_000001.9   ChIP_R   110960004   0   10   ChIP_T=0
the R code for making the sensitivity plots is shown below: You can now generate sensitivity plots for other GABP peaks list provided by the ENCODE consortium in the same way. Keep in mind that in the peak lists provided as serverr-resident files, the peak ranking score is given in the sixth rather than fifth field. Once you have computed all curves, you can superpose them in one Figure. This will tell you how well ChIP-peak performs as compared to the peak finders that were used for generating the published peak lists.

Making sensitivity plots based on motif enrichment

You can do this in two alternative ways, one using FindM and the other one using PWMScan. We will present the recipe based on PWMScan.

Open the PWMScan input form. Select human genome assembly hg18. On the right side, select "MA0062.2 GABPA" from the MEME-derived JASPAR CORE 2014 menu. Additional options:

   Cut-off P-value:         0.00001     
   Search Strand:              both
   Non-overlapping matches: checked
Note that the authors of the paper use 10-7 as P-value cut-off. This seems to low. However, they used a different program called FIMO to search for PWM matches, and P-values computed by different programs may not be comparable. For NRSF, use the JASPAR matrix named "MA0138.2 REST" (REST is a a synomym of NRSF) and save the match list under the name: From here you can essentially follow the previous recipe for making the sensitivity plots for qPCR-validated binding sites. The next step will be to generate peak lists with motif status annotations using ChIP-Cor with the "Enriched Feature Extraction Option". Annotated peak lists are posted below for your convenience. Ranking accuracy plots

Ranking accuracy plots of the kind shown in Figure 6 of the paper can be generated with the following R recipe: