diff variant_effect_predictor/Bio/DB/GFF/Featname.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/DB/GFF/Featname.pm	Thu Apr 11 02:01:53 2013 -0400
@@ -0,0 +1,155 @@
+=head1 NAME
+
+Bio::DB::GFF::Featname -- The name of a feature
+
+=head1 SYNOPSIS
+
+  use Bio::DB::GFF;
+
+  my $db      = Bio::DB::GFF->new( -adaptor => 'dbi:mysql',
+                                   -dsn     => 'dbi:mysql:elegans42');
+
+  my $feature = Bio::DB::GFF::Featname->new(Locus => 'unc-19');
+  my $segment = $db->segment($feature);
+
+=head1 DESCRIPTION
+
+Bio::DB::GFF::Featname is the name of a feature.  It contains two
+fields: name and class.  It is typically used by the Bio::DB::GFF
+module to denote a group, and is accepted by
+Bio::DB::Relsegment-E<gt>new() and Bio::DB::GFF-E<gt>segment() as a
+replacement for the -name and -class arguments.
+
+=head1 METHODS
+
+=cut
+
+package Bio::DB::GFF::Featname;
+use strict;
+use vars '@ISA';
+use Bio::Root::RootI;
+@ISA = qw(Bio::Root::RootI);
+
+use overload 
+  '""' => 'asString',
+  fallback => 1;
+
+=head2 new
+
+ Title   : new
+ Usage   : $name = Bio::DB::GFF::Featname->new($class,$name)
+ Function: create a new Bio::DB::GFF::Featname object
+ Returns : a new Bio::DB::GFF::Featname object
+ Args    : class and ID
+ Status  : Public
+
+=cut
+
+sub new    {
+  # use a blessed array for speed
+  my $pack = shift;
+  bless [@_],$pack;  # class,name
+}
+
+sub _cleanup_methods { return; }
+
+=head2 id
+
+ Title   : id
+ Usage   : $id = $name->id
+ Function: return a unique ID for the combination of class and name
+ Returns : a string
+ Args    : none
+ Status  : Public
+
+This method returns a unique combination of the name and class in the
+form "class:name".  Coincidentally, this is the same format used
+by AceDB.
+
+=cut
+
+sub id     {
+  my $self = shift;
+  return join ':',@$self;
+}
+
+=head2 name
+
+ Title   : name
+ Usage   : $name = $name->name
+ Function: return the name of the Featname
+ Returns : a string
+ Args    : none
+ Status  : Public
+
+=cut
+
+sub name   { shift->[1] }
+
+=head2 class
+
+ Title   : class
+ Usage   : $class = $name->class
+ Function: return the name of the Featname
+ Returns : a string
+ Args    : none
+ Status  : Public
+
+=cut
+
+sub class  { shift->[0] }
+
+=head2 asString
+
+ Title   : asString
+ Usage   : $string = $name->asString
+ Function: same as name()
+ Returns : a string
+ Args    : none
+ Status  : Public
+
+This method is used to overload the "" operator.  It is equivalent to
+calling name().
+
+=cut
+
+sub asString { shift->name }
+
+=head2 clone
+
+ Title   : clone
+ Usage   : $new_clone = $type->clone;
+ Function: clone this object
+ Returns : a new Bio::DB::GFF::Featname object
+ Args    : none
+ Status  : Public
+
+This method creates an exact copy of the object.
+
+=cut
+
+sub clone {
+  my $self = shift;
+  return bless [@$self],ref $self;
+}
+
+=head1 BUGS
+
+This module is still under development.
+
+=head1 SEE ALSO
+
+L<bioperl>, L<Bio::DB::GFF>, L<Bio::DB::RelSegment>
+
+=head1 AUTHOR
+
+Lincoln Stein E<lt>lstein@cshl.orgE<gt>.
+
+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.
+
+=cut
+
+1;