Bio::Graphics::Glyph::pairplot - The "pairwise plot" glyph

- NAME
- SYNOPSIS
- DESCRIPTION

- OPTIONS

- BUGS
- SEE ALSO
- AUTHOR

# NAME

Bio::Graphics::Glyph::pairplot - The "pairwise plot" glyph

# SYNOPSIS

     use Bio::Graphics;

     # create the panel, etc.  See Bio::Graphics::Panel
     # for the synopsis

     # Create one big feature using the PairFeature
     # glyph (see end of synopsis for an implementation)
     my $block = PairFeature->new(-start=>  2001,
                                  -end  => 10000);

     # It will contain a series of subfeatures.
     my $start = 2001;
     while ($start < 10000) {
       my $end = $start+120;
       $block->add_SeqFeature($bsg->new(-start=>$start,
                                        -end  =>$end
                                       ),'EXPAND');
       $start += 200;
     }

     $panel->add_track($block,
                       -glyph => 'pairplot',
                       -angle => 45,
                       -bgcolor => 'red',
                       -point => 1,
                      );

     print $panel->png;

     package PairFeature;
     use base 'Bio::SeqFeature::Generic';

     sub pair_score {
       my $self = shift;
       my ($sf1,$sf2) = @_;
       # simple distance function
       my $dist  = $sf2->end    - $sf1->start;
       my $total = $self->end   - $self->start;
       return sprintf('%2.2f',1-$dist/$total);
     }

# DESCRIPTION

This glyph draws a "triangle plot" similar to the ones used to show linkage disequilibrium between a series of genetic markers. It is basically a dotplot drawn at a 45 degree angle, with each diamond-shaped region colored with an intensity proportional to an arbitrary scoring value relating one feature to another (typically a D' value in LD studies).

This glyph requires more preparation than other glyphs. First, you must create a subclass of Bio::SeqFeature::Generic (or Bio::Graphics::Feature, if you prefer) that has a `pair_score()` method. The `pair_score()` method will take two features and return a numeric value between 0.0 and 1.0, where higher values mean more intense.

You should then create a feature of this new type and use `add_SeqFeature()` to add to it all the genomic features that you wish to compare.

Then add this feature to a track using the pairplot glyph. When the glyph renders the feature, it will interrogate the `pair_score()` method for each pair of subfeatures.

## OPTIONS

In addition to the common options, the following glyph-specific options are recognized:

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

      -point      If true, the plot will be         0
                  drawn relative to the
                  midpoint between each adjacent
                  subfeature.  This is appropriate
                  for point-like subfeatures, such
                  as SNPs.

      -angle      Angle to draw the plot.  Values   45
                  between 1 degree and 89 degrees
                  are valid.  Higher angles give
                  a more vertical plot.

      -bgcolor    The color of the plot.            cyan

# BUGS

Please report them.

# SEE ALSO

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

# AUTHOR

Lincoln Stein <lstein@cshl.edu.

Copyright (c) 2004 Cold Spring Harbor Laboratory

This package and its accompanying libraries is free software; you can redistribute it and/or modify it under the terms of the GPL (either version 1, or at your option, any later version) or the Artistic License 2.0. Refer to LICENSE for the full license text. In addition, please see DISCLAIMER.txt for disclaimers of warranty.

Bio::Graphics::Glyph::pairplot - The "pairwise plot" glyph