Bio::Align::Graphics(3)

NAME
Bio::Align::Graphics - Graphic Rendering of Bio::Align::AlignI Objects

SYNOPSIS
  use Bio::Align::Graphics;

  #Get an AlignI object, usually by using Bio::AlignIO

  my $file=shift @ARGV;
  my $in=new Bio::AlignIO(-file=>$file, -format=>'clustalw');
  my $aln=$in->next_aln();

  #Create a new Graphics object
  my $print_align = new Bio::Align::Graphics(align => $aln);

  #Draw the alignment
  $print_align->draw();

DESCRIPTION
Bio::Align::Graphics is a module designed to create image files out of Bio::Align::AlignI objects. An alignment may be manipulated with various formatting and highlighting options.

An example:

        #!/usr/bin/perl -w

        use Bio::AlignIO;
        use Bio::Align::Graphics;
        use strict;

        #Get an alignment file
        my $file = shift @ARGV;

        #Create an AlignI object using AlignIO
        my $in=new Bio::AlignIO(-file=>$file, -format=>'clustalw');

        #Read the alignment
        my $aln=$in->next_aln();

        #Create some domains for highlighting
        my @domain_start = ( 25 , 50, 80 );
        my @domain_end = ( 40 , 60 , 100 );
        my @domain_color = ( 'red' , 'cyan' , 'green' );

        #Create Labels for the domains
        my @dml = ("CARD", "Proline Rich", "Transmembrane");
        my @dml_start = (25, 50, 80);
        my @dml_end = (40, 60, 100);
        my @dml_color = ("lightpink", "lightblue", "lightgreen");

        #Create individual labels
        my %labels = ( 145 => "Hep-c target");

        my $print_align = new Bio::Align::Graphics( align => $aln,
                                        pad_bottom => 5,
                                        domain_start => \@domain_start,
                                        domain_end => \@domain_end,
                                        dm_color => \@domain_color,
                                        dm_labels => \@dml,
                                        dm_label_start => \@dml_start,
                                        dm_label_end => \@dml_end,
                                        dm_label_color => \@dml_color,
                                        labels => \%labels,
                                        out_format => "png");

        $print_align->draw();

METHODS
This section describes the class and object methods for Bio::Align::Graphics.

Typically you will begin by creating a Bio::Align::Graphics object, passing it an alignment object created using Bio::AlignIO. The Bio::Align::Graphics->new() method has a number of configuration variables that allow you to control the appearance of the final image.

You will then call the draw() method to output the final image.

CONSTRUCTORS
new() is the constructor for Bio::Align::Graphics:

$print_align = Bio::Align::Graphics->new(@options)
    The new() method creates a new graphics object. The options are a set of tag/value pairs as follows:

      Option         Value                                  Default
      ------         -----                                  -------

      align          Bio::AlignI object                     None, must be
                                                            supplied to draw
                                                            an alignment

      output         Filename to print image to             STDOUT

      out_format     png, jpeg, gif, gd                     png

      font           Size of font, ranging from 1 to 5      2
                     and equal to the standard GD fonts
                     ranging from gdTinyFont to
                     gdGiantFont

      x_label        Draws a scale numbering alignment      true
                     bases along top of image, every x
                     bases are numbered, where x is the
                     block_size option

      y_label        Draws sequence ids of alignment        true
                     along left side of image

      bg_color       Background color of the image          white

      font_color     Color of the font used for drawing     black
                     the alignment characters

      x_label_color  Color of the font used for drawing     red
                     the base scale characters

      y_label_color  Color of the font used for drawing     blue
                     the sequence id characters

      p_color        Colors protein bases according to      false
                     a coloring scheme proposed by W.R.
                     Taylor(Protein Engineering, vol 10
                     no 7, 1997), only works with
                     protein alignments

      pad_top        Additional whitespace characters       5
                     between top of image and x-label

      pad_bottom     Additional whitespace characters       5
                     between bottom of image and
                     alignment

      pad_left       Additional whitespace characters       5
                     between left side of image and
                     y-label

      pad_right      Additional whitespace characters       5
                     between right side of image and
                     alignment

      x_label_space  Additional whitespace characters       1
                     between x_label and alignment

      y_label_space  Additional whitespace characters       1
                     between y_label and alignment

      reference      Characters which are identical to      false
                     the reference sequence are replaced
                     with the match character

      reference_id   Sequence id of the sequence to use     First sequence
                     as the reference                       supplied in alignment

      match_char     Character to replace identical bases   .
                     in aligned sequences

      block_size     Number of bases to group together      10
                     when printing alignment, groups are
                     separated by whitespace

      block_space    Amount of character whitespace to      2
                     separate groups of bases by

      labels         A hash containing labels to be         none
                     printed beneath the alignment,
                     where the keys are the bases to
                     print the values at

      dm_start       An array containing start bases        none
                     for highlighting of segments of
                     the alignment, paired with dm_end
                     option

      dm_end         An array containing end bases          none
                     for highlighting of segments of
                     the alignment, paired with dm_start
                     options

      dm_color       An array containing colors for         silver
                     highlighting segments of bases
                     denoted by the coordinates
                     located in the dm_start and dm_end
                     options

      dml_start      An array containing start bases        none
                     for addition of domain labels
                     underneath the alignment, paired
                     with dml_end

      dml_end        An array containing end bases          none
                     for addition of domain labels
                     underneath the alignment, paired
                     with dml_start

      dml_color      An array containing colors for         silver
                     the domain labels denoted by the
                     coordinates located in the
                     dml_start and dml_end options

      dm_labels      An array containing labels to be       none
                     printed underneath specified
                     domains, each label should
                     correspond with the base position
                     located in the dml_start option

      show_nonsynonymous  Boolean value to turn option      false
                     on or off. If 0 (or undef), option
                     is off. If 1 (or non-0), option is on.
                     Only valid for nucleotide alignments.
                     Output images are wider with this option on.

    Note that all arrays and hashes must be passed by reference.

OBJECT METHODS

$draw_align->draw();
    The draw() method draws the image with the options that were specified with new().

$draw_align->width();
    Get the width of the image created with new(), in pixels.

$draw_align->height();
    Get the height of the image created with new(), in pixels.

$draw_align->aln_length();
    Get the length of the alignment submitted to new().

$draw_align->aln_format();
    Get the format of the alignment submitted to new().

$draw_align->no_sequences();
    Get the number of sequences in the alignment submitted to new().

AUTHORS AND CONTRIBUTORS
William McCaig, <wmccaig@gmail.com>

Mikhail Bekarev, <mbekarev@hunter.cuny.edu>

Yoezen Hernandez, <yzhernand@gmail.com>

Weigang Qiu (Corresponding Developer), <weigang@genectr.hunter.cuny.edu>

COPYRIGHT AND LICENSE
Copyright (C) 2006-2008 by William McCaig

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.3 or, at your option, any later version of Perl 5 you may have available.

SEE ALSO
Bio::Align::AlignI, Bio::AlignIO, GD, GD::Simple