SYNOPSIS
# creation of a TFBS::MatrixSet object
# let @list_of_matrix_objects be a list of TFBS::Matrix::* objects
###################################
# Create a TFBS::MatrixSet object:
my $matrixset = TFBS::MatrixSet->new(); # creates an empty set
$matrixset->add_Matrix(@list_of_matrix_objects); #add matrix objects to set
$matrixset->add_Matrix($matrixobj); # adds a single matrix object to set
# or, same as above:
my $matrixset = TFBS::MatrixSet->new(@list_of_matrix_objects, $matrixobj);
###################################
#
DESCRIPTION
TFBS::MatrixSet is an aggregate class storing a set of TFBS::Matrix::* subclass objects, and providing methods form manipulating those sets as a whole. TFBS::MatrixSet objects are created <I>de novo<I> or returned by some database (TFBS::DB::*) retrieval methods.FEEDBACK
Please send bug reports and other comments to the author.APPENDIX
The rest of the documentation details each of the object methods. Internal methods are preceded with an underscore.new
new2
add_matrix
Title : add_matrix Usage : $matrixset->add_matrix(@list_of_matrix_objects); Function: Adds matrix objects to matrixset Returns : object reference (usually ignored) Args : one or more TFBS::Matrix::* objects
add_matrix_set
Title : add_matrix
Usage : $matrixset->add_matrix(@list_of_matrixset_objects);
Function: Adds to the matrixset matrix objects contained in one or
more other matrixsets
Returns : object reference (usually ignored)
Args : one or more TFBS::MatrixSet objects
search_seq
Title : search_seq
Usage : my $siteset = $matrixset->search_seq(%args)
Function: scans a nucleotide sequence with all patterns represented
stored in $matrixset;
It works only if all matrix objects in $matrixset understand
search_seq method (currently only TFBS::Matrix::PWM objects do)
Returns : a TFBS::SiteSet object
Args : # you must specify either one of the following three:
-file, # the name od a fasta file (single sequence)
#or
-seqobj # a Bio::Seq object
# (more accurately, a Bio::PrimarySeqobject or a
# subclass thereof)
#or
-seqstring # a string containing the sequence
-threshold, # minimum score for the hit, either absolute
# (e.g. 11.2) or relative (e.g. "75%")
# OPTIONAL: default "80%"
search_aln
Title : search_aln
Usage : my $site_pair_set = $matrixset->search_aln(%args)
Function: Scans a pairwise alignment of nucleotide sequences
with the pattern represented by the PWM: it reports only
those hits that are present in equivalent positions of both
sequences and exceed a specified threshold score in both, AND
are found in regions of the alignment above the specified
conservation cutoff value.
It works only if all matrix object in $matrixset understand
search_aln method (currently only TFBS::Matrix::PWM objects do)
Returns : a TFBS::SitePairSet object
Args : # you must specify either one of the following three:
-file, # the name of the alignment file in Clustal
format
#or
-alignobj # a Bio::SimpleAlign object
# (more accurately, a Bio::PrimarySeqobject or a
# subclass thereof)
#or
-alignstring # a multi-line string containing the alignment
# in clustal format
#############
-threshold, # minimum score for the hit, either absolute
# (e.g. 11.2) or relative (e.g. "75%")
# OPTIONAL: default "80%"
-window, # size of the sliding window (inn nucleotides)
# for calculating local conservation in the
# alignment
# OPTIONAL: default 50
-cutoff # conservation cutoff (%) for including the
# region in the results of the pattern search
# OPTIONAL: default "70%"
-subpart # subpart of the alignment to search, given as e.g.
# -subpart => { relative_to => 1,
# start => 140,
# end => 180 }
# where start and end are coordinates in the
# sequence indicated by relative_to (1 for the
# 1st sequence in the alignment, 2 for the 2nd)
# OPTIONAL: by default searches entire alignment
-conservation
# conservation profile, a TFBS::ConservationProfile
# OPTIONAL: by default the conservation profile is
# computed internally on the fly (less efficient)
size
Title : size
Usage : my $number_of_matrices = $matrixset->size;
Function: gets the number of matrix objects in the $matrixset
(i.e. the size of the set)
Returns : a number
Args : none
Iterator
Title : Iterator
Usage : my $matrixset_iterator =
$matrixset->Iterator(-sort_by =>'total_ic');
while (my $matrix_object = $matrix_iterator->next) {
# do whatever you want with individual matrix objects
}
Function: Returns an iterator object that can be used to go through
all members of the set
Returns : an iterator object (currently undocumentened in TFBS -
but understands the 'next' method)
Args : -sort_by # optional - currently it accepts
# 'ID' (alphabetically)
# 'name' (alphabetically)
# 'class' (alphabetically)
# 'total_ic' (numerically, decreasing order)
-reverse # optional - reverses the default sorting order if true
randomize_columns
Title : randomize_columns Usage : $matrixset->randomize_columns(); Function: Randomizes the columns between all the matrices in the set (in place). Returns : nothing Args : none
remove_Matrix_by_ID
Title : remove_Matrix_by_ID Usage : $matrixset->remove_Matrix_by_ID($id); Function: Removes a matrix from the set Returns : Nothing Args : None
cluster
Title : cluster
Usage : $matrixset->cluster(%args)
Function: Clusters the matrices in the set
Returns : The root node of the hierarchical clustering tree.
An integer specifying the optimal number of clusters.
An array of TFBS::MatrixSets, one for each cluster.
Args : Many:
-stampdir Directory where stamp is located. Not necessary if it is in the PATH.
-tempdir Directory to put temporary files. Defaults to "/tmp"
-noclean 1 to clean up temporary files, 0 otherwise
-tree Method for constructing tree (UPGMA/SOTA). Def:UPGMA
fbp
Title : fbp
Usage : $matrixset->fbp(%args);
Function: Creates a familial binding profile (FBP) for the set
Returns : A familial binding profile represented as a TFBS::Matrix::PFM
Args : Many
-stampdir Directory where stamp is located. Not necessary if it is in the PATH.
-tempdir Directory to put temporary files. Defaults to "/tmp"
-noclean 1 to clean up temporary files, 0 otherwise
-align Alignment method

