NAME

Bio::DB::TFBS::transfac_pro - An implementation of Bio::DB::TFBS which uses local flat files for transfac pro

SYNOPSIS

use Bio::DB::Taxonomy;

my $db = new Bio::DB::Taxonomy(-source => 'transfac_pro'
                               -dat_dir => $directory);

# we're interested in the gene P5
my ($gene_id) = $db->get_gene_ids(-name => 'P5'); # G000001

# we want all the transcription factors that bind to our gene
my @factor_ids = $db->get_factor_ids(-gene => $gene_id);

# get info about those TFs
foreach my $factor_id (@factor_ids) {
  my $factor = $db->get_factor($factor_id);
  my $name = $factor->universal_name;
  # etc. - see Bio::Map::TranscriptionFactor, eg. find out where it binds
}

# get a matrix
my $matrix = $db->get_matrix('M00001');

# get a binding site sequence
my $seq = $db->get_site('R00001');

DESCRIPTION

This is an implementation which uses local flat files and the DB_File module RECNO data structures to manage a local copy of the Transfac Pro TFBS database.

Required database files require a license which can be obtained via http://www.biobase-international.com/pages/index.php?id=170

Within the linux installation tarball you will find a cgibin tar ball, and inside that is a data directory containing the .dat files needed by this module. Point to that data directory with -dat_dir

FEEDBACK

Mailing Lists

User feedback is an integral part of the evolution of this and other Bioperl modules. Send your comments and suggestions preferably to the Bioperl mailing list. Your participation is much appreciated.

bioperl-l@bioperl.org                  - General discussion
http://bioperl.org/wiki/Mailing_lists  - About the mailing lists

Support

Please direct usage questions or support issues to the mailing list:

bioperl-l@bioperl.org

rather than to the module maintainer directly. Many experienced and reponsive experts will be able look at the problem and quickly address it. Please include a thorough description of the problem with code and data examples if at all possible.

Reporting Bugs

Report bugs to the Bioperl bug tracking system to help us keep track of the bugs and their resolution. Bug reports can be submitted via the web:

https://github.com/bioperl/bioperl-live/issues

AUTHOR - Sendu Bala

Email bix@sendu.me.uk

CONTRIBUTORS

Based on Bio::DB::Taxonomy::flatfile by Jason Stajich

APPENDIX

The rest of the documentation details each of the object methods. Internal methods are usually preceded with a _

new

Title   : new
Usage   : my $obj = new Bio::DB::TFBS::transfac_pro();
Function: Builds a new Bio::DB::TFBS::transfac_pro object 
Returns : an instance of Bio::DB::TTFBS::transfac_pro
Args    : -dat_dir   => name of directory where Transfac Pro .dat files
                        (required to initially build indexes)
          -tax_db    => Bio::DB::Taxonomy object, used when initially building
                        indexes, gives better results for species information
                        but not required.
          -index_dir => name of directory where index files should be created
                        or already exist. (defaults to -dat_dir, required if
                        -dat_dir not supplied)
          -force     => 1 replace current indexes even if they exist

Bio::DB::TFBS Interface implementation

get_reference

Title   : get_reference
Usage   : my $ref = $obj->get_reference($id);
Function: Get a literature reference.
Returns : Bio::Annotation::Reference
Args    : string - a reference id ('RE...')

get_genemap

Title   : get_genemap
Usage   : my $map = $obj->get_genemap($id);
Function: Get a GeneMap for a gene.
Returns : Bio::Map::GeneMap
Args    : string - a gene id ('G...'), and optionally int (number of bp
          upstream)

get_seq

Title   : get_seq
Usage   : my $seq = $obj->get_seq($id);
Function: Get the sequence of a site. The sequence will be annotated with the
          the tags 'relative_start', 'relative_end', 'relative_type' and
          'relative_to'.
Returns : Bio::Seq
Args    : string - a site id ('R...')

get_fragment

Title   : get_fragment
Usage   : my $seq = $obj->get_fragment($id);
Function: Get the sequence of a fragment.
Returns : Bio::Seq
Args    : string - a site id ('FR...')

get_matrix

Title   : get_matrix
Usage   : my $matrix = $obj->get_matrix($id);
Function: Get a matrix that describes a binding site.
Returns : Bio::Matrix::PSM::SiteMatrix
Args    : string - a matrix id ('M...'), optionally a sequence string from
          which base frequencies will be calcualted for the matrix model
          (default 0.25 each)

get_aln

Title   : get_aln
Usage   : my $aln = $obj->get_aln($id);
Function: Get the alignment that was used to generate a matrix. Each sequence
          in the alignment will have an accession_number corresponding to the
          Transfac site id, and id() based on that but unique within the
          alignment.
Returns : Bio::SimpleAlign
Args    : string - a matrix id ('M...'), optionally true to, when a matrix
          lists no sequences, search for sequences via the matrix's factors,
          picking the sites that best match the matrix

get_factor

Title   : get_factor
Usage   : my $factor = $obj->get_factor($id);
Function: Get the details of a transcription factor.
Returns : Bio::Map::TranscriptionFactor
Args    : string - a factor id ('T...')

get_reference_ids

Title   : get_reference_ids
Usage   : my @ids = $obj->get_reference_ids(-key => $value);
Function: Get all the reference ids that are associated with the supplied
          args.
Returns : list of strings (ids)
Args    : -key => value, where value is a string id, and key is one of:
          -pubmed -site -gene -matrix -factor

get_site_ids

Title   : get_site_ids
Usage   : my @ids = $obj->get_site_ids(-key => $value);
Function: Get all the site ids that are associated with the supplied
          args.
Returns : list of strings (ids)
Args    : -key => value, where value is a string id, and key is one of:
          -id -species -gene -matrix -factor -reference

get_matrix_ids

Title   : get_matrix_ids
Usage   : my @ids = $obj->get_matrix_ids(-key => $value);
Function: Get all the matrix ids that are associated with the supplied
          args.
Returns : list of strings (ids)
Args    : -key => value, where value is a string id, and key is one of:
          -id -name -site -factor -reference

get_factor_ids

Title   : get_factor_ids
Usage   : my @ids = $obj->get_factor_ids(-key => $value);
Function: Get all the factor ids that are associated with the supplied
          args.
Returns : list of strings (ids)
Args    : -key => value, where value is a string id, and key is one of:
          -id -name -species -interactors -gene -matrix -site -reference
          NB: -gene only gets factor ids for genes that encode factors

get_fragment_ids

Title   : get_fragment_ids
Usage   : my @ids = $obj->get_fragment_ids(-key => $value);
Function: Get all the fragment ids that are associated with the supplied
          args.
Returns : list of strings (ids)
Args    : -key => value, where value is a string id, and key is one of:
          -id -species -gene -factor -reference

Helper methods

index_directory

Title   : index_directory
Funtion : Get/set the location that index files are stored. (this module
          will index the supplied database)
Usage   : $obj->index_directory($newval)
Returns : value of index_directory (a scalar)
Args    : on set, new value (a scalar or undef, optional)