NAME
Bio::Phylo::Treedrawer - Visualizer of tree shapes
SYNOPSIS
use Bio::Phylo::IO 'parse';
use Bio::Phylo::Treedrawer;
my $string = '((A:1,B:2)n1:3,C:4)n2:0;';
my $tree = parse( -format => 'newick', -string => $string )->first;
my $treedrawer = Bio::Phylo::Treedrawer->new(
-width => 800,
-height => 600,
-shape => 'CURVY', # curvogram
-mode => 'PHYLO', # cladogram
-format => 'SVG'
);
$treedrawer->set_scale_options(
-width => '100%',
-major => '10%', # major cross hatch interval
-minor => '2%', # minor cross hatch interval
-label => 'MYA',
);
$treedrawer->set_tree($tree);
print $treedrawer->draw;
DESCRIPTION
This module prepares a tree object for drawing (calculating coordinates for nodes) and calls the appropriate format-specific drawer.
METHODS
CONSTRUCTOR
- new()
-
Treedrawer constructor.
Type : Constructor Title : new Usage : my $treedrawer = Bio::Phylo::Treedrawer->new( %args ); Function: Initializes a Bio::Phylo::Treedrawer object. Alias : Returns : A Bio::Phylo::Treedrawer object. Args : none.
MUTATORS
- set_format()
-
Sets image format.
Type : Mutator Title : set_format Usage : $treedrawer->set_format('Svg'); Function: Sets the drawer submodule. Returns : Args : Name of an image format
- set_width()
-
Sets image width.
Type : Mutator Title : set_width Usage : $treedrawer->set_width(1000); Function: sets the width of the drawer canvas. Returns : Args : Integer width in pixels.
- set_height()
-
Sets image height.
Type : Mutator Title : set_height Usage : $treedrawer->set_height(1000); Function: sets the height of the canvas. Returns : Args : Integer height in pixels.
- set_mode()
-
Sets tree drawing mode.
Type : Mutator Title : set_mode Usage : $treedrawer->set_mode('clado'); Function: Sets the tree mode, i.e. cladogram or phylogram. Returns : Invocant. Args : String, [clado|phylo]
- set_shape()
-
Sets tree drawing shape.
Type : Mutator Title : set_shape Usage : $treedrawer->set_shape('rect'); Function: Sets the tree shape, i.e. rectangular, diagonal or curvy. Returns : Invocant. Args : String, [rect|diag|curvy]
- set_padding()
-
Sets image padding.
Type : Mutator Title : set_padding Usage : $treedrawer->set_padding(100); Function: Sets the canvas padding. Returns : Args : Integer value in pixels.
- set_text_horiz_offset()
-
Sets text horizontal offset.
Type : Mutator Title : set_text_horiz_offset Usage : $treedrawer->set_text_horiz_offset(5); Function: Sets the distance between tips and text, in pixels. Returns : Args : Integer value in pixels.
- set_text_vert_offset()
-
Sets text vertical offset.
Type : Mutator Title : set_text_vert_offset Usage : $treedrawer->set_text_vert_offset(3); Function: Sets the text baseline relative to the tips, in pixels. Returns : Args : Integer value in pixels.
- set_text_width()
-
Sets text width.
Type : Mutator Title : set_text_width Usage : $treedrawer->set_text_width(150); Function: Sets the canvas width for terminal taxon names. Returns : Args : Integer value in pixels.
- set_tree()
-
Sets tree to draw.
Type : Mutator Title : set_tree Usage : $treedrawer->set_tree($tree); Function: Sets the Bio::Phylo::Forest::Tree object to unparse. Returns : Args : A Bio::Phylo::Forest::Tree object.
- set_scale_options()
-
Sets time scale options.
Type : Mutator Title : set_scale_options Usage : $treedrawer->set_scale_options( -width => 400, -major => '10%', # major cross hatch interval -minor => '2%', # minor cross hatch interval -label => 'MYA', ); Function: Sets the options for time (distance) scale Returns : Args : -width => (if a number, like 100, pixel width is assumed, if a percentage, scale width relative to longest root to tip path) -major => ( ditto, value for major tick marks ) -minor => ( ditto, value for minor tick marks ) -label => ( text string displayed next to scale )
CASCADING MUTATORS
- set_branch_width()
-
Sets branch width.
Type : Mutator Title : set_branch_width Usage : $treedrawer->set_branch_width(1); Function: sets the width of branch lines Returns : Args : Integer width in pixels.
- set_node_radius()
-
Sets node radius.
Type : Mutator Title : set_node_radius Usage : $treedrawer->set_node_radius(20); Function: Sets the node radius in pixels. Returns : Args : Integer value in pixels.
- set_collapsed_clade_width()
-
Sets collapsed clade width.
Type : Mutator Title : set_collapsed_clade_width Usage : $treedrawer->set_collapsed_clade_width(6); Function: sets the width of collapsed clade triangles relative to uncollapsed tips Returns : Args : Positive number
- set_tip_radius()
-
Sets tip radius.
Type : Mutator Title : set_tip_radius Usage : $treedrawer->set_tip_radius(20); Function: Sets the tip radius in pixels. Returns : Args : Integer value in pixels.
ACCESSORS
- get_format()
-
Gets image format.
Type : Accessor Title : get_format Usage : my $format = $treedrawer->get_format; Function: Gets the image format. Returns : Args : None.
- get_width()
-
Gets image width.
Type : Accessor Title : get_width Usage : my $width = $treedrawer->get_width; Function: Gets the width of the drawer canvas. Returns : Args : None.
- get_height()
-
Gets image height.
Type : Accessor Title : get_height Usage : my $height = $treedrawer->get_height; Function: Gets the height of the canvas. Returns : Args : None.
- get_mode()
-
Gets tree drawing mode.
Type : Accessor Title : get_mode Usage : my $mode = $treedrawer->get_mode('clado'); Function: Gets the tree mode, i.e. cladogram or phylogram. Returns : Args : None.
- get_shape()
-
Gets tree drawing shape.
Type : Accessor Title : get_shape Usage : my $shape = $treedrawer->get_shape; Function: Gets the tree shape, i.e. rectangular, diagonal or curvy. Returns : Args : None.
- get_padding()
-
Gets image padding.
Type : Accessor Title : get_padding Usage : my $padding = $treedrawer->get_padding; Function: Gets the canvas padding. Returns : Args : None.
- get_text_horiz_offset()
-
Gets text horizontal offset.
Type : Accessor Title : get_text_horiz_offset Usage : my $text_horiz_offset = $treedrawer->get_text_horiz_offset; Function: Gets the distance between tips and text, in pixels. Returns : SCALAR Args : None.
- get_text_vert_offset()
-
Gets text vertical offset.
Type : Accessor Title : get_text_vert_offset Usage : my $text_vert_offset = $treedrawer->get_text_vert_offset; Function: Gets the text baseline relative to the tips, in pixels. Returns : Args : None.
- get_text_width()
-
Gets text width.
Type : Accessor Title : get_text_width Usage : my $textwidth = $treedrawer->get_text_width; Function: Returns the canvas width for terminal taxon names. Returns : Args : None.
- get_tree()
-
Gets tree to draw.
Type : Accessor Title : get_tree Usage : my $tree = $treedrawer->get_tree; Function: Returns the Bio::Phylo::Forest::Tree object to unparse. Returns : A Bio::Phylo::Forest::Tree object. Args : None.
- get_scale_options()
-
Gets time scale option.
Type : Accessor Title : get_scale_options Usage : my %options = %{ $treedrawer->get_scale_options }; Function: Returns the time/distance scale options. Returns : A hash ref. Args : None.
CASCADING ACCESSORS
- get_branch_width()
-
Gets branch width.
Type : Accessor Title : get_branch_width Usage : my $w = $treedrawer->get_branch_width(); Function: gets the width of branch lines Returns : Args : Integer width in pixels.
- get_collapsed_clade_width()
-
Gets collapsed clade width.
Type : Mutator Title : get_collapsed_clade_width Usage : $w = $treedrawer->get_collapsed_clade_width(); Function: gets the width of collapsed clade triangles relative to uncollapsed tips Returns : Positive number Args : None
- get_node_radius()
-
Gets node radius.
Type : Accessor Title : get_node_radius Usage : my $node_radius = $treedrawer->get_node_radius; Function: Gets the node radius in pixels. Returns : SCALAR Args : None.
- get_tip_radius()
-
Gets tip radius.
Type : Accessor Title : get_tip_radius Usage : my $tip_radius = $treedrawer->get_tip_radius; Function: Gets the tip radius in pixels. Returns : SCALAR Args : None.
TREE DRAWING
- draw()
-
Creates tree drawing. Requires SVG;
Type : Unparsers Title : draw Usage : my $drawing = $treedrawer->draw; Function: Unparses a Bio::Phylo::Forest::Tree object into a drawing. Returns : SCALAR Args : Notes : This will only work if you have the SVG module from CPAN installed on your system.
- render()
-
Renders tree based on pre-computed node coordinates. You would typically use this method if you have passed a Bio::Phylo::Forest::DrawTree on which you have already calculated the node coordinates separately.
Type : Unparsers Title : render Usage : my $drawing = $treedrawer->render; Function: Unparses a Bio::Phylo::Forest::DrawTree object into a drawing. Returns : SCALAR Args : Notes : This will only work if you have the SVG module from CPAN installed on your system.
SEE ALSO
- Bio::Phylo
-
The Bio::Phylo::Treedrawer object inherits from the Bio::Phylo object. Look there for more methods applicable to the treedrawer object.
- Bio::Phylo::Manual
-
Also see the manual: Bio::Phylo::Manual and http://rutgervos.blogspot.com.
REVISION
$Id: Treedrawer.pm 1290 2010-04-01 13:37:56Z rvos $