Boris Lenhard

Computational Regulatory Genomics, MRC Clinical Sciences Centre, United Kingdom
b.lenhard at

TFBS Perl OO modules implement classes for the representation of objects encountered in analysis of protein-binding sites in DNA sequences.The objects defined by TFBS classes include:

The modules within the TFBS set are fully integrated and compatible with Bioperl.


The current release of TFBS is 0.6.1 (January 24, 2014). It has been tested on Linux 2.4 (i686 and alpha) and 2.6 (i686) with perl 5.6.1 and 5.8.5, and on Sun Solaris with perl 5.8.3. The tarball is here:

Citing TFBS

If you use TFBS in your work, please cite :

Lenhard B., Wasserman W.W. (2002) TFBS: Computational framework for transcription factor binding site analysis. Bioinformatics 18:1135-1136 [View Abstract]

Git repository

To check out the latest development snapshot of TFBS, do

git clone

Recent changes

Changes in 0.6.1:

Changes in 0.6.0:

Changes in 0.5.0:

Changes in 0.4.1:

Changes in 0.4.0:


The installation procedure is fairly standard:

        $ tar xvfz TFBS-0.6.0.tar.gz
$ cd TFBS-0.6.0
$ perl Makefile.PL

At this point you will be asked for MySQL server acces information, which is needed for testing the TFBS::DB::JASPAR6 module. If you do not have write access to a MySQL server, just answer 'no' to the first question.

        $ make

TFBS contains a perlxs extension which is a (at present quick and dirty) adaptation of a short C program pwm_search by James Fickett and Wyeth Wasserman, used for searching a DNA sequence against a position weight matrix. It is included for performance reasons. (For developers: there is also a currently undocumented way to make TFBS::Matrix::PWM's search methods work without the extension. For details, contact the author (or wait for the more extensive documentation of TFBS guts to appear. The latter is not recommended :) )

        $ make test

The test suite is not omnipotent. For access to TRANSFAC, the TFBS::DB::TRANSFAC assumes that Internet connection is present and no proxy is required. Test of TFBS::PatternGen::Gibbs is skipped if Gibbs executable is not found in the PATH.

        $ su
# make install

Any questions? Write to boris.lenhard at


Absolutely required


Bioperl, GD, DBI, DBD::mysql and PDL are also available from CPAN.

Example scripts

Here are two very simple code snippets that demonstrate some of the TFBS functionality.

The following two somewhat longer scripts have a fully functional command-line interface and annotated source code. Those who want to learn how to use TFBS are advised to study their code:

And finally, a simple CGI script:

Documentation (POD)

From here you can access  POD  documentation for the modules. It is still far from perfect, but I think it is enough for start.
(Internal modules and internal methods are not yet documented.)