I am interested in determining if any transcription factor binding site motifs are enriched in some BED files from a DNA methylation experiment.

I am looking for a database that has BED Files containing regions enriched for specific transcription factor binding motifs in homo sapiens.

I know that JASPAR contains TFBS motifs, but I can't find a download for regions of hg19 that are enriched with those motifs.

EDIT: I suppose I could determine TF motif enriched regions using HOMER if there are no curated databases with this information, but I would rather not. Your help is appreciated!


1 Answer 1


You could make your own such file with FIMO, the JASPAR MEME files available via the MEME download site, and your genome build of interest (per-chromosome FASTA files from UCSC goldenpath, say), e.g., for assembly hg19 and UCSC chromosome naming scheme:

$ for chr in `seq 1 22` X Y; do echo ${chr}; wget -qO- http://hgdownload.cse.ucsc.edu/goldenpath/hg19/chromosomes/chr${chr}.fa.gz | gunzip -c - > hg19.chr${chr}.fa; done

For each chromosome (omitting the for loop code for brevity), you can use the fasta-get-markov in the MEME suite to generate a 5th-order Markov model of kmer frequencies (why 5th order?):

$ fasta-get-markov -m 5 hg19.chr${chr}.fa > hg19.chr${chr}.5th_order_background_model.txt

Here is one way to download a non-redundant, vertebrate JASPAR database (MEME-formatted):

$ wget http://jaspar.genereg.net/download/CORE/JASPAR2020_CORE_vertebrates_non-redundant_pfms_meme.txt

To run a FIMO query with the 5th-order background model and JASPAR database, using a p-value threshold of 1e-4:

$ fimo --verbosity 1 --bgfile hg19.chr${chr}.5th_order_background_model.txt --thresh 1e-4 --text JASPAR2018_CORE_vertebrates_non-redundant_pfms_meme.txt hg19.chr${chr}.fa \
  | tail -n+2 \
  | awk -vOFS="\t" -vFS="\t" '{ print $3, $4, $5, $1":"$2">"$10, $8, $6 }' \
  | sort-bed - \
  | starch --omit-signature - \
  > hg19.chr${chr}.bed.starch

The output of a FIMO search is a text file which can be modified into a sorted BED file via sort-bed, an example of which is shown above.

To get a faster answer, each per-chromosome query can be put onto its own node on a computational cluster.

Using a p-value threshold of 1e-4 will result in very large files (when uncompressed). Using tools to compress BED files is useful here, as is using a more stringent threshold (1e-5, etc.).

Use of BEDOPS starch to compress BED files (as shown above, for instance) will give better compression performance than bgzip with per-chromosome random access and integration with BEDOPS bedops and bedmap CLI tools. The bgzip option offers integration with tabix and offers finer-grained random access, but it will use more disk space and doesn't integrate with BEDOPS tools.

  • $\begingroup$ This is a decent answer, so I am accepting it. If you ever hear of these files being added to a database or of a database of this type of data please let me know :) $\endgroup$
    – Reilstein
    Sep 16, 2017 at 23:10
  • $\begingroup$ I can't presume to speak for groups like UCSC or Ensembl, but I'd guess that each analysis of this kind is short-lived, based on the fact that it really comes down to what motif models are used (which get updated), what statistical parameters get used (which are down to the experimenter), and the reference genomes involved. It's perhaps not something unique enough that you'd generate once in a blue moon, that it could be efficiently made available in a genome browser or via a biomart-like interface. It is basically something you make to meet your particular experimental needs, I think. $\endgroup$ Sep 16, 2017 at 23:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.