0
|
1 # $Id: MappableI.pm,v 1.9 2002/10/22 07:45:15 lapp Exp $
|
|
2 #
|
|
3 # BioPerl module for Bio::Map::MappableI
|
|
4 #
|
|
5 # Cared for by Jason Stajich <jason@bioperl.org>
|
|
6 #
|
|
7 # Copyright Jason Stajich
|
|
8 #
|
|
9 # You may distribute this module under the same terms as perl itself
|
|
10
|
|
11 # POD documentation - main docs before the code
|
|
12
|
|
13 =head1 NAME
|
|
14
|
|
15 Bio::Map::MappableI - An object that can be placed in a map
|
|
16
|
|
17 =head1 SYNOPSIS
|
|
18
|
|
19 # get a Bio::Map::MappableI somehow
|
|
20 my $position = $element->map_position();
|
|
21 # these methods will be important for building sorted lists
|
|
22 if( $position->equals($p2) ) {
|
|
23 # do something
|
|
24 } elsif( $position->less_tha($p2) ) {}
|
|
25 elsif( $position->greater_than($p2) ) { }
|
|
26
|
|
27
|
|
28 =head1 DESCRIPTION
|
|
29
|
|
30 This object handles the generic notion of an element placed on a
|
|
31 (linear) Map. Elements can have multiple positions in a map such as
|
|
32 is the case of Restriction enzyme cut sites on a sequence map. For
|
|
33 exact information about an element's position in a map one must query
|
|
34 the associate PositionI object which is accessible through the
|
|
35 position() method.
|
|
36
|
|
37 =head1 FEEDBACK
|
|
38
|
|
39 =head2 Mailing Lists
|
|
40
|
|
41 User feedback is an integral part of the evolution of this and other
|
|
42 Bioperl modules. Send your comments and suggestions preferably to
|
|
43 the Bioperl mailing list. Your participation is much appreciated.
|
|
44
|
|
45 bioperl-l@bioperl.org - General discussion
|
|
46 http://bioperl.org/MailList.shtml - About the mailing lists
|
|
47
|
|
48 =head2 Reporting Bugs
|
|
49
|
|
50 Report bugs to the Bioperl bug tracking system to help us keep track
|
|
51 of the bugs and their resolution. Bug reports can be submitted via
|
|
52 email or the web:
|
|
53
|
|
54 bioperl-bugs@bioperl.org
|
|
55 http://bugzilla.bioperl.org/
|
|
56
|
|
57 =head1 AUTHOR - Jason Stajich
|
|
58
|
|
59 Email jason@bioperl.org
|
|
60
|
|
61 =head1 CONTRIBUTORS
|
|
62
|
|
63 Heikki Lehvaslaiho heikki@ebi.ac.uk
|
|
64 Lincoln Stein lstein@cshl.org
|
|
65
|
|
66 =head1 APPENDIX
|
|
67
|
|
68 The rest of the documentation details each of the object methods.
|
|
69 Internal methods are usually preceded with a _
|
|
70
|
|
71 =cut
|
|
72
|
|
73
|
|
74 # 'Let the code begin...
|
|
75
|
|
76
|
|
77 package Bio::Map::MappableI;
|
|
78 use vars qw(@ISA);
|
|
79 use strict;
|
|
80 use Bio::Root::RootI;
|
|
81 use Carp;
|
|
82
|
|
83 @ISA = qw(Bio::Root::RootI);
|
|
84
|
|
85 =head2 position
|
|
86
|
|
87 Title : position
|
|
88 Usage : my $position = $mappable->position();
|
|
89 Function: Get/Set the Bio::Map::PositionI for a mappable element
|
|
90 Returns : Bio::Map::PositionI
|
|
91 Args : (optional) Bio::Map::PositionI
|
|
92
|
|
93 =cut
|
|
94
|
|
95 sub position{
|
|
96 my ($self,@args) = @_;
|
|
97 $self->throw_not_implemented();
|
|
98 }
|
|
99
|
|
100 =head2 equals
|
|
101
|
|
102 Title : equals
|
|
103 Usage : if( $mappable->equals($mapable2)) ...
|
|
104 Function: Test if a position is equal to another position
|
|
105 Returns : boolean
|
|
106 Args : Bio::Map::MappableI or Bio::Map::PositionI
|
|
107
|
|
108 =cut
|
|
109
|
|
110 sub equals{
|
|
111 my ($self,@args) = @_;
|
|
112 $self->throw_not_implemented();
|
|
113 }
|
|
114
|
|
115 =head2 less_than
|
|
116
|
|
117 Title : less_than
|
|
118 Usage : if( $mappable->less_than($m2) ) ...
|
|
119 Function: Tests if a position is less than another position
|
|
120 Returns : boolean
|
|
121 Args : Bio::Map::MappableI or Bio::Map::PositionI
|
|
122
|
|
123 =cut
|
|
124
|
|
125 sub less_than{
|
|
126 my ($self,@args) = @_;
|
|
127 $self->throw_not_implemented();
|
|
128 }
|
|
129
|
|
130 =head2 greater_than
|
|
131
|
|
132 Title : greater_than
|
|
133 Usage : if( $mappable->greater_than($m2) ) ...
|
|
134 Function: Tests if position is greater than another position
|
|
135 Returns : boolean
|
|
136 Args : Bio::Map::MappableI or Bio::Map::PositionI
|
|
137
|
|
138 =cut
|
|
139
|
|
140 sub greater_than{
|
|
141 my ($self,@args) = @_;
|
|
142 $self->throw_not_implemented();
|
|
143 }
|
|
144
|
|
145 1;
|