TFBS::Matrix::Alignment(3) class for alignment of PFM objects


  • Making an alignment: (See documentation of individual TFBS::DB::* modules to learn how to connect to different types of pattern databases and retrieve TFBS::Matrix::* objects from them.)

    my $db_obj = TFBS::DB::JASPAR2->new
    (-connect => ["dbi:mysql:JASPAR2:myhost",
    "myusername", "mypassword"]);
    my $pfm1 = $db_obj->get_Matrix_by_ID("M0001", "PFM");
    my $pfm2 = $db_obj->get_Matrix_by_ID("M0002", "PFM");

    my $alignment= new TFBS::Matrix::Alignment(


TFBS::Matrix::Alignment is a class for representing and performing pairwise alignments of profiles (in the form of TFBS::PFM objects) Alignments are preformed using a semi-global variant of the Needleman-Wunsch algorithm that only permits the opening of one internal gap. Fore reference, the algorithm is described in Sandelin et al Funct Integr Genomics. 2003 Jun 25


Please send bug reports and other comments to the author.

AUTHOR - Boris Lenhard

Boris Lenhard <[email protected]>


The rest of the documentation details each of the object methods. Internal methods are preceded with an underscore.


 Title   : new
 Usage   : my $alignment = TFBS::Matrix::Alignment->new(%args)
 Function: constructor for the TFBS::Matrix::Alignment object
 Returns : a new TFBS::Matrix::Alignment object
 Args    : # you must specify:
           -pfm1,      # a TFBS::Matrix::PFM object
           -pfm2,      # another TFBS::Matrix::PFM object
            -binary,  # a valid path to the comparison algorithm (matrixalign)
           -ext_penalty            #OPTIONAL gap extension penalty in Needleman-Wunsch
                                    algorithmstring. Default 0.01
           -open_penalty,          #OPTIONAL gap opening penalty in Needleman-Wunsch
                                    algorithmstring. Default 3.0


 Title   : score
 Usage   : my $score = $alignmentobject->score();
 Function: access an alignment score (where each aligned position can contribute max 2)
 Returns : a floating point number
 Args    : none


 Title   : gaps
 Usage   : my $nr_of_gaps = $alignmentobject->gaps();
 Function: access the number of gaps in an alignment
 Returns : an integer
 Args    : none


 Title   : length
 Usage   : my $length = $alignmentobject->length();
 Function: access the length of an alignment (ie thenumber of aligned positions)
 Returns : an integer
 Args    : none


 Title   : strand
 Usage   : my $strand = $alignmentobject->strand();
 Function: access the oriantation of the aligned patterns:
           ++= oriented as input
           +-= second pattern is reverse-complemented    
 Returns : a string
 Args    : none


 Title   : alignment
 Usage   : my $alignment_string = $alignmentobject->alignment();
 Function: access a string describing the alignment
 Returns : an string, where each number refers to a position in respective PFM.
 Position numbering is according to orientation: ie if the second profile is
 reversed, position 1 corresponds to the last position in the input profile.
 Gaps are denoted as - .
 RXR-VDR           -       1       2       3       -     4      5     -
 PPARgamma-RXRal   1       2       3       4       5     6      7     8
 Args    : none


Hey! The above document had some coding errors, which are explained below:
Around line 39:
You forgot a '=back' before '=head1'