Ace::Graphics::Track(3pm)
NAME
Ace::Graphics::Track - PNG graphics of Ace::Sequence::Feature objects
SYNOPSIS
use Ace::Sequence;
use Ace::Graphics::Panel;
my $db = Ace->connect(-host=>'brie2.cshl.org',-port=>2005) or die;
my $cosmid = Ace::Sequence->new(-seq=>'Y16B4A',
-db=>$db,-start=>-15000,-end=>15000) or die;
my @transcripts = $cosmid->transcripts;
my $panel = Ace::Graphics::Panel->new(
-segment => $cosmid,
-width => 800
);
my $track = $panel->add_track('transcript'
-fillcolor => 'wheat',
-fgcolor => 'black',
-bump => +1,
-height => 10,
-label => 1);
foreach (@transcripts) {
$track->add_feature($_);
}
my $boxes = $panel->boxes;
print $panel->png;
DESCRIPTION
The Ace::Graphics::Track class is used by Ace::Graphics::Panel to lay
out a set of sequence features using a uniform glyph type. You will
ordinarily work with panels rather than directly with tracks.
METHODS
- This section describes the class and object methods for
Ace::Graphics::Panel. - CONSTRUCTORS
- There is only one constructor, the new() method. It is ordinarily called by Ace::Graphics::Panel, and not in end-developer code.
- $track = Ace::Graphics::Track->new($glyph_name,$features,@options)
The new() method creates a new track object from the provided glyph name and list of features. The arguments are similar to those in
Ace::Graphics::Panel->new().If successful new() will return a new Ace::Graphics::Track. Otherwise, it will return undef.If the specified glyph name is not a valid one, new() will throw an exception. - OBJECT METHODS
- Once a track is created, the following methods can be invoked.
- $track->add_feature($feature)
This adds a new feature to the track. The feature can either be a single object that implements the Bio::SeqFeatureI interface (such as an Ace::Sequence::Feature or Das::Segment::Feature), or can be
an anonymous array containing a set of related features. In the
latter case, the track will attempt to keep the features in the
same horizontal band and will not allow any other features to
overlap. - $track->add_group($group)
This behaves the same as add_feature(), but requires that its argument be an array reference containing a list of grouped
features. - $track->draw($gd,$left,$top)
Render the track on a previously-created GD::Image object. The
$left and $top arguments indicate the position at which to start
rendering. - $boxes = $track->boxes($left,$top)
@boxes = $track->boxes($left,$top)Return an array of array references indicating glyph coordinates
for each of the render features. $left and $top indicate the
offset for the track on the image plane. In a scalar context, this method returns an array reference of glyph coordinates. In a list context, it returns the list itself.See Ace::Graphics::Panel->boxes() for the format of the result. - ACCESSORS
- The following accessor methods provide access to various attributes of
the track object. Called with no arguments, they each return the
current value of the attribute. Called with a single argument, they
set the attribute and return its previous value. - Note that in most cases you must change attributes before the track's
layout() method is called.
Accessor Name Description
------------- -----------scale() Get/set the track scale, measured in pixels/bp
lineheight() Get/set the height of each glyph, pixels
width() Get/set the width of the track
bump() Get/set the bump direction - INTERNAL METHODS
- The following methods are used internally, but may be useful for those implementing new glyph types.
- $glyphs = $track->layout
Layout the features, and return an anonymous array of
Ace::Graphics::Glyph objects that have been created and correctly
positioned.Because layout is an expensive operation, calling this method
several times will return the previously-cached result, ignoring
any changes to track attributes. - $height = $track->height
Invokes layout() and returns the height of the track.
- $glyphs = $track->glyphs
Returns the glyph cache. Returns undef before layout() and a reference to an array of glyphs after layout().
- $factory = $track->make_factory(@options)
Given a set of options (argument/value pairs), returns a
Ace::Graphics::GlyphFactory for use in creating the glyphs with the desired settings.
BUGS
Please report them.
SEE ALSO
Ace::Sequence,Ace::Sequence::Feature,Ace::Graphics::Panel,
Ace::Graphics::GlyphFactory,Ace::Graphics::Glyph
AUTHOR
Lincoln Stein <lstein@cshl.org>.
Copyright (c) 2001 Cold Spring Harbor Laboratory
- This library is free software; you can redistribute it and/or modify it
under the same terms as Perl itself. See DISCLAIMER.txt for
disclaimers of warranty.