Mercurial > repos > mahtabm > ensembl
diff variant_effect_predictor/Bio/Graphics/Glyph/splice_site.pm @ 0:1f6dce3d34e0
Uploaded
author | mahtabm |
---|---|
date | Thu, 11 Apr 2013 02:01:53 -0400 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/variant_effect_predictor/Bio/Graphics/Glyph/splice_site.pm Thu Apr 11 02:01:53 2013 -0400 @@ -0,0 +1,115 @@ +package Bio::Graphics::Glyph::splice_site; + +use strict; +use vars '@ISA'; +@ISA = 'Bio::Graphics::Glyph::generic'; +use Bio::Graphics::Glyph::generic; + +use constant PWIDTH => 3; + +sub draw_component { + my $self = shift; + my $gd = shift; + my ($left,$top) = @_; + my($x1,$y1,$x2,$y2) = $self->bounds(@_); + + my $center = int(0.5+($x1+$x2)/2); + my $direction = $self->option('direction'); + + my $height = $y2 - $y1; + my $fraction = $self->option('height_fraction') || 1.0; + my $bottom = $y2; + $top = $y2 - $fraction * $height; + + # draw the base + my $fgcolor = $self->fgcolor; + $gd->line($center,$bottom,$center,$top,$fgcolor); + + if ($direction eq 'right') { + $gd->line($center,$top,$center + PWIDTH,$top,$fgcolor); + } elsif ($direction eq 'left') { + $gd->line($center,$top,$center - PWIDTH,$top,$fgcolor); + } + +} + +1; + + +=head1 NAME + +Bio::Graphics::Glyph::splice_site - The "splice_site" glyph + +=head1 SYNOPSIS + + See L<Bio::Graphics::Panel> and L<Bio::Graphics::Glyph>. + +=head1 DESCRIPTION + +This glyph was designed to show an inverted "L" representing splice +donors and acceptors. The vertical part of the L points downwards and +is positioned in the center of the range (even if the range is quite +large). + +In addition to the usual glyph options, this glyph recognizes: + + Option Value Description + ------ ----- ----------- + + direction "left" or "right" direction the short part of the L + points + + height_fraction 0.0 - 1.0 fractional height of the glyph, + usually a callback that uses the + feature's score to determine its + height + +=head1 BUGS + +Please report them. + +=head1 SEE ALSO + + +L<Bio::Graphics::Panel>, +L<Bio::Graphics::Glyph>, +L<Bio::Graphics::Glyph::arrow>, +L<Bio::Graphics::Glyph::cds>, +L<Bio::Graphics::Glyph::crossbox>, +L<Bio::Graphics::Glyph::diamond>, +L<Bio::Graphics::Glyph::dna>, +L<Bio::Graphics::Glyph::dot>, +L<Bio::Graphics::Glyph::ellipse>, +L<Bio::Graphics::Glyph::extending_arrow>, +L<Bio::Graphics::Glyph::generic>, +L<Bio::Graphics::Glyph::graded_segments>, +L<Bio::Graphics::Glyph::heterogeneous_segments>, +L<Bio::Graphics::Glyph::line>, +L<Bio::Graphics::Glyph::pinsertion>, +L<Bio::Graphics::Glyph::primers>, +L<Bio::Graphics::Glyph::rndrect>, +L<Bio::Graphics::Glyph::chromosome>, +L<Bio::Graphics::Glyph::segments>, +L<Bio::Graphics::Glyph::ruler_arrow>, +L<Bio::Graphics::Glyph::toomany>, +L<Bio::Graphics::Glyph::transcript>, +L<Bio::Graphics::Glyph::transcript2>, +L<Bio::Graphics::Glyph::translation>, +L<Bio::Graphics::Glyph::triangle>, +L<Bio::DB::GFF>, +L<Bio::SeqI>, +L<Bio::SeqFeatureI>, +L<Bio::Das>, +L<GD> + +=head1 AUTHOR + +Xiaokang Pan E<lt>pan@cshl.orgE<gt> + +Copyright (c) 2001 BDGP + +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. + +=cut