NAME

Bio::Graphics::Glyph::generic - The "generic" glyph

SYNOPSIS

See L<Bio::Graphics::Panel> and L<Bio::Graphics::Glyph>.

DESCRIPTION

This is identical to the "box" glyph except that it will draw the subparts of features that contain subfeatures. The subparts are not connected -- use the "segments" glyph for that. "Generic" is the default glyph used when not otherwise specified.

METHODS

This module overrides the maxdepth() method to return 0 unless the -maxdepth option is provided explicitly. This means that any module that inherits from generic will need to override maxdepth() again in order to draw subfeatures. In general, those implementing multi-segmented feature glyphs should inherit from Bio::Graphics::Glyph::segments, which allows for one level of descent.

In addition, the following new methods are implemented:

labelfont(), descfont(), labelwidth(), descriptionwidth()

Return the font, width for the label or description.

label()

Return the glyph label text (printed above the glyph).

description()

Return the glyph description text (printed below the glyph).

draw_translation()

Draw the protein translation of the feature (assumes that the feature is attached to a DNA sequence).

draw_sequence()

Draw the sequence of the feature (either DNA or protein).

OPTIONS

The following options are standard among all Glyphs. See Bio::Graphics::Glyph for a full explanation.

Option      Description                      Default
------      -----------                      -------

-fgcolor      Foreground color	       black

-bgcolor      Background color               turquoise

-fillcolor    Synonym for -bgcolor

-linewidth    Line width                     1

-height       Height of glyph		       10

-font         Default font                   gdSmallFont

-label_font   Font used for label	       gdSmallFont

-desc_font    Font used for description      gdSmallFont

-connector    Connector type                 0 (false)

-connector_color
              Connector color                black

-pad_top      Top padding                    0

-pad_bottom   Bottom padding                 0

-label        Whether to draw a label	       0 (false)

-label_position Where to draw the label      "top" (default) or "left"

-description  Whether to draw a description  0 (false)

-strand_arrow Whether to indicate            0 (false)
               strandedness

-hilite       Highlight color                undef (no color)

-draw_dna     If true, draw the dna residues        0 (false)
               when magnification level
               allows.

-canonical_strand If true, draw the dna residues        0 (false)
               as they appear on the plus strand
               even if the feature is on the minus
               strand.

-pad_top and -pad_bottom allow you to insert some blank space between the glyph's boundary and its contents. This is useful if you are changing the glyph's height dynamically based on its feature's score.

BUGS

Please report them.

SEE ALSO

Bio::Graphics::Panel, Bio::Graphics::Glyph, Bio::Graphics::Glyph::arrow, Bio::Graphics::Glyph::cds, Bio::Graphics::Glyph::crossbox, Bio::Graphics::Glyph::diamond, Bio::Graphics::Glyph::dna, Bio::Graphics::Glyph::dot, Bio::Graphics::Glyph::ellipse, Bio::Graphics::Glyph::extending_arrow, Bio::Graphics::Glyph::generic, Bio::Graphics::Glyph::graded_segments, Bio::Graphics::Glyph::heterogeneous_segments, Bio::Graphics::Glyph::line, Bio::Graphics::Glyph::pinsertion, Bio::Graphics::Glyph::primers, Bio::Graphics::Glyph::rndrect, Bio::Graphics::Glyph::segments, Bio::Graphics::Glyph::ruler_arrow, Bio::Graphics::Glyph::toomany, Bio::Graphics::Glyph::transcript, Bio::Graphics::Glyph::transcript2, Bio::Graphics::Glyph::translation, Bio::Graphics::Glyph::triangle, Bio::Graphics::Glyph::xyplot, Bio::DB::GFF, Bio::SeqI, Bio::SeqFeatureI, Bio::Das, GD

AUTHOR

Allen Day <day@cshl.org>, Lincoln Stein <lincoln.stein@gmail.com>

Copyright (c) 2001 Cold Spring Harbor Laboratory Copyright (c) 2010 Ontario Institute for Cancer Research

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.