Provided by: libtfbs-perl_0.5.svn.20100421-1build1_amd64 bug


       TFBS::Matrix::Alignment - 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

            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 <>


       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 repective 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'