diff variant_effect_predictor/Bio/Root/Xref.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/Root/Xref.pm	Thu Apr 11 02:01:53 2013 -0400
@@ -0,0 +1,197 @@
+#-----------------------------------------------------------------------------
+# PACKAGE : Bio::Root::Xref.pm
+# AUTHOR  : Steve Chervitz (sac@bioperl.org)
+# CREATED : 8 May 1997
+# REVISION: $Id: Xref.pm,v 1.9 2002/10/22 07:38:37 lapp Exp $
+# STATUS  : Pre-Alpha 
+#
+# WARNING: This is considered an experimental module.
+#
+# Copyright (c) 1997-8 Steve Chervitz. All Rights Reserved.
+#           This module is free software; you can redistribute it and/or 
+#           modify it under the same terms as Perl itself.
+#-----------------------------------------------------------------------------
+
+package Bio::Root::Xref;
+
+use Bio::Root::Global;
+use Bio::Root::Object ();
+use Bio::Root::Vector ();
+
+@Bio::Root::Xref::ISA = qw( Bio::Root::Vector Bio::Root::Object );
+
+use vars qw($ID $VERSION);
+$ID = 'Bio::Root::Xref';
+$VERSION = 0.01;
+
+## POD Documentation:
+
+=head1 NAME
+
+Bio::Root::Xref - A generic cross-reference object.
+
+B<WARNING: This module is still in the experimental phase and has not been tested.>
+
+=head1 SYNOPSIS
+
+=head2 Object Creation
+
+ use Bio::Root::Object;
+
+ $myObj->xref($object_ref);
+
+=head2 Object Manipulation
+
+ Accessors
+ ---------------------------------------------------------------------
+ obj()         - Get the cross-referenced object.
+ desc()        - Description of the nature of the cross-reference.
+ set_desc()    - Set description.
+ type()        - Symmetric or assymetric.
+
+ Methods
+ ---------------------------------------------------------------------
+ clear()       - remove all cross-references within the Xref object (not implemented).
+
+=head1 DESCRIPTION
+
+An instance of B<Bio::Root::Xref.pm> manages sets of objects not
+necessarily related by inheritance or composition, but by an arbitrary
+criterion defined by the client. Currently, Bio::Root::Xref inherits
+from both B<Bio::Root::Object.pm> and B<Bio::Root::Vector.pm>. An Xref
+object is an example of a heterogeneous Vector object since different
+objects in the vector need not all derive from the same base class.
+
+The two objects involved in the cross-reference typically involve a
+symmetrical relationship in which each will have a Xref object relating it
+to the other object. This relationship is not necessarily transitive,
+however: if A is an xref of B and B is an xref of C, A is not
+necessarily an xref of C. Assymetric Xrefs are also possible.
+
+The establishment of cross-references is managed by B<Bio::Root::Object.pm>.
+See the xref() method in that module.
+
+B<The API for this module is not complete since the module is under development. Caveat emptor.>
+
+
+=head1 SEE ALSO
+
+  Bio::Root::Object.pm       - Core object
+  Bio::Root::Global.pm       - Manages global variables/constants
+
+  http://bio.perl.org/Projects/modules.html  - Online module documentation
+  http://bio.perl.org/                       - Bioperl Project Homepage 
+
+=head1 FEEDBACK
+
+=head2 Mailing Lists 
+
+User feedback is an integral part of the evolution of this and other Bioperl modules.
+Send your comments and suggestions preferably to one of the Bioperl mailing lists.
+Your participation is much appreciated.
+
+  bioperl-l@bioperl.org             - General discussion
+  http://bioperl.org/MailList.shtml - About the mailing lists
+
+=head2 Reporting Bugs
+
+Report bugs to the Bioperl bug tracking system to help us keep track the bugs and 
+their resolution. Bug reports can be submitted via email or the web:
+
+    bioperl-bugs@bio.perl.org                   
+    http://bugzilla.bioperl.org/           
+
+=head1 AUTHOR 
+
+Steve Chervitz E<lt>sac@bioperl.orgE<gt>
+
+See L<the FEEDBACK section | FEEDBACK> for where to send bug reports and comments.
+
+=head1 VERSION
+
+Bio::Root::Xref.pm, 0.01 pre-alpha
+
+=head1 COPYRIGHT
+
+Copyright (c) 1997-8 Steve Chervitz. All Rights Reserved.
+This module is free software; you can redistribute it and/or 
+modify it under the same terms as Perl itself.
+
+
+=head1 TODO
+
+Update documentation to work with pod2html from Perl 5.004.
+
+=cut
+
+#
+##
+###
+#### END of main POD documentation.
+###
+##
+#
+
+
+
+#####################################################################################
+##                                 CONSTRUCTOR                                     ##
+#####################################################################################
+
+sub _initialize {
+    my( $self, %param ) = @_;
+
+    $self->SUPER::_initialize(%param);
+    
+    $self->{'_obj'} = ($param{-OBJ} || undef);
+
+    ## By default, all Xrefs are symmetric.
+    ## Create symmetric cross-reference in obj.
+    if(!$param{-ASYM}) {
+	$self->{'_obj'}->xref(-OBJ=>$param{-PARENT});
+	$self->{'_type'} = 'sym';
+    } else {
+	$self->{'_type'} = 'asym';
+    }	
+}
+
+
+#####################################################################################
+##                                  ACCESSORS                                      ##
+#####################################################################################
+
+sub obj {my ($self) = shift; return $self->{'_obj'}; }
+sub desc {my ($self) = shift; return $self->{'_desc'}; }
+sub type {my ($self) = shift; return $self->{'_type'}; }
+    
+sub set_desc {my ($self,$desc) = @_; 
+	     $self->{'_desc'} = $desc;
+	 }
+
+sub clear {
+## Not implemented. Need to do this carefully.
+## Not sure if this method is needed.    
+    my ($self) = @_;
+}
+
+1;
+__END__
+
+#####################################################################################
+#                                  END OF CLASS                                     #
+#####################################################################################
+
+=head1 DATA MEMBERS 
+
+ _obj   : The object being cross-referenced to the parent.
+ _type  : Symmetric or asymmetric
+ _desc  : Description associated with the cross-reference
+
+ INHERITED DATA MEMBERS (from Bio::Root::Object)
+
+ _parent : The object receiving the cross-reference.
+ _name   : Descriptive nature of the cross-reference.
+
+=cut
+
+