Christopher Fields > BioPerl > Bio::Align::Graphics

Download:
BioPerl-1.6.924.tar.gz

Dependencies

Annotate this POD

CPAN RT

New  9
Open  4
View/Report Bugs
Module Version: 1.006924   Source  

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>

Yözen Hernández, <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

syntax highlighting: