NAME

Bio::DOOP::Graphics::Feature - graphical representation of the features

SYNOPSIS

VERSION

Version 0.06

DESCRIPTION

This object is represent a picture that is contain all the sequence features in the subset.
This module is enough quick to use it in your CGI scripts. You can also use it to visualize
the subset.

AUTHOR

Tibor Nagy, Godollo, Hungary

METHODS

create

$pic = Bio::DOOP::Graphics::Feature->create($db,"1234");

Create new picture. Later you can add your own graphics element to this.
Arguments: 
1. Bio::DOOP::DBSQL object
2. Subset primary id.
Return type: Bio::DOOP::Graphics::Feature

add_color

Add an RGB color to the specified drawing element.
$image->add_color("background",200,200,200);
$image->set_colors;
The available drawing elements are the following: background, label, strip, utr, motif, tss

set_colors

Set all the usage colors. Preveously allocate colors with add_color. Use this method only ONCE after you set
all the colors.
If you use it more than one, the results will be strange.

add_scale

Draws scale on the picture

add_bck_lines

Draws scale lines through the whole image background

add_seq

Draws a specified seq on the picture. This is an internal code, so do not use it directly

add_all_seq

Draws all seq from subset on the picture.

get_png

open IMAGE,">picture.png";
binmode IMAGE;
print IMAGE $image->get_png;
close IMAGE;

Returns the png image. Use this when you finish the work and would like to see the results.

get_image

Returns the drawed image pointer. Useful for add your own GD methods for uniq picture manipulating.

get_map

Returns a hash of arrays of hash of arrays reference that is contain the map information.
Here is a real world example of how to handle this method:

use Bio::DOOP::DOOP;

$db      = Bio::DOOP::DBSQL->connect($user,$passwd,"doop-plant-1_5","localhost");
$cluster = Bio::DOOP::Cluster->new($db,'81001110','500');
$image   = Bio::DOOP::Graphics::Feature->create($db,$cluster);

for $motif (@{$image->get_map->{motif}}){ # You can use 
  for $motif_id (keys %{$motif}){
     @coords = @{$$motif{$motif_id}};
     # Print out the motif primary id and the four coordinates in the picture
     #        id        x1         y1         x2         y2
     print "$motif_id $coords[0] $coords[1] $coords[2] $coords[3]\n";
  }
}

It is a little bit difficult, but if you familiar with references and hash of array, you
will be understand.

get_motif_map

Returns only the arrayref of motif hashes

get_motif_id_by_coord

$motifi = $image->get_motif_id_by_coord(100,200);

Maybe this is the most useful method. You can get a motif id, if you specify a coordinate of a point.
Return type: string