annotate variant_effect_predictor/Bio/Ontology/Term.pm @ 0:2bc9b66ada89 draft default tip

Uploaded
author mahtabm
date Thu, 11 Apr 2013 06:29:17 -0400
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
1 # $Id: Term.pm,v 1.8.2.3 2003/05/27 22:00:52 lapp Exp $
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
2 #
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
3 # BioPerl module for Bio::Ontology::Term
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
4 #
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
5 # Cared for by Christian M. Zmasek <czmasek@gnf.org> or <cmzmasek@yahoo.com>
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
6 #
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
7 # (c) Christian M. Zmasek, czmasek@gnf.org, 2002.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
8 # (c) GNF, Genomics Institute of the Novartis Research Foundation, 2002.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
9 #
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
10 # You may distribute this module under the same terms as perl itself.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
11 # Refer to the Perl Artistic License (see the license accompanying this
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
12 # software package, or see http://www.perl.com/language/misc/Artistic.html)
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
13 # for the terms under which you may use, modify, and redistribute this module.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
14 #
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
15 # THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
16 # WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
17 # MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
18 #
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
19 # You may distribute this module under the same terms as perl itself
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
20
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
21 # POD documentation - main docs before the code
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
22
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
23
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
24 =head1 NAME
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
25
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
26 Term - interface for ontology terms
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
27
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
28 =head1 SYNOPSIS
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
29
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
30 #get Bio::Ontology::TermI somehow.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
31
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
32 print $term->identifier(), "\n";
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
33 print $term->name(), "\n";
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
34 print $term->definition(), "\n";
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
35 print $term->is_obsolete(), "\n";
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
36 print $term->comment(), "\n";
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
37
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
38 foreach my $synonym ( $term->each_synonym() ) {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
39 print $synonym, "\n";
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
40 }
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
41
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
42 =head1 DESCRIPTION
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
43
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
44 This is "dumb" interface for ontology terms providing basic methods
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
45 (it provides no functionality related to graphs). It implements the
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
46 L<Bio::Ontology::TermI> interface.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
47
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
48 This class also implements L<Bio::IdentifiableI> and
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
49 L<Bio::DescribableI>.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
50
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
51 =head1 FEEDBACK
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
52
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
53 =head2 Mailing Lists
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
54
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
55 User feedback is an integral part of the evolution of this and other
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
56 Bioperl modules. Send your comments and suggestions preferably to one
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
57 of the Bioperl mailing lists. Your participation is much appreciated.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
58
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
59 bioperl-l@bioperl.org - General discussion
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
60 http://bio.perl.org/MailList.html - About the mailing lists
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
61
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
62 =head2 Reporting Bugs
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
63
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
64 Report bugs to the Bioperl bug tracking system to help us keep track
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
65 the bugs and their resolution. Bug reports can be submitted via email
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
66 or the web:
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
67
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
68 bioperl-bugs@bio.perl.org
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
69 http://bugzilla.bioperl.org/
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
70
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
71 =head1 AUTHOR
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
72
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
73 Christian M. Zmasek
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
74
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
75 Email: czmasek@gnf.org or cmzmasek@yahoo.com
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
76
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
77 WWW: http://www.genetics.wustl.edu/eddy/people/zmasek/
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
78
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
79 Address:
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
80
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
81 Genomics Institute of the Novartis Research Foundation
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
82 10675 John Jay Hopkins Drive
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
83 San Diego, CA 92121
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
84
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
85 =head1 APPENDIX
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
86
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
87 The rest of the documentation details each of the object
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
88 methods.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
89
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
90 =cut
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
91
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
92
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
93 # Let the code begin...
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
94
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
95 package Bio::Ontology::Term;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
96 use vars qw( @ISA );
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
97 use strict;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
98 use Bio::Root::Object;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
99 use Bio::Ontology::TermI;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
100 use Bio::Ontology::Ontology;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
101 use Bio::Ontology::OntologyStore;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
102 use Bio::IdentifiableI;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
103 use Bio::DescribableI;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
104
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
105 use constant TRUE => 1;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
106 use constant FALSE => 0;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
107
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
108 @ISA = qw( Bio::Root::Root
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
109 Bio::Ontology::TermI
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
110 Bio::IdentifiableI
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
111 Bio::DescribableI
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
112 );
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
113
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
114
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
115
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
116 =head2 new
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
117
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
118 Title : new
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
119 Usage : $term = Bio::Ontology::Term->new( -identifier => "16847",
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
120 -name => "1-aminocyclopropane-1-carboxylate synthase",
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
121 -definition => "Catalysis of ...",
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
122 -is_obsolete => 0,
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
123 -comment => "" );
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
124 Function: Creates a new Bio::Ontology::Term.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
125 Returns : A new Bio::Ontology::Term object.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
126 Args : -identifier => the identifier of this term [scalar]
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
127 -name => the name of this term [scalar]
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
128 -definition => the definition of this term [scalar]
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
129 -ontology => the ontology this term lives in
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
130 (a L<Bio::Ontology::OntologyI> object)
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
131 -version => version information [scalar]
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
132 -is_obsolete => the obsoleteness of this term [0 or 1]
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
133 -comment => a comment [scalar]
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
134
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
135 =cut
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
136
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
137 sub new {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
138
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
139 my( $class,@args ) = @_;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
140
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
141 my $self = $class->SUPER::new( @args );
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
142
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
143 my ( $identifier,
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
144 $name,
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
145 $definition,
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
146 $category,
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
147 $ont,
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
148 $version,
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
149 $is_obsolete,
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
150 $comment,
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
151 $dblinks)
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
152 = $self->_rearrange( [ qw( IDENTIFIER
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
153 NAME
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
154 DEFINITION
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
155 CATEGORY
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
156 ONTOLOGY
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
157 VERSION
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
158 IS_OBSOLETE
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
159 COMMENT
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
160 DBLINKS
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
161 ) ], @args );
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
162
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
163 $self->init();
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
164
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
165 $identifier && $self->identifier( $identifier );
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
166 $name && $self->name( $name );
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
167 $definition && $self->definition( $definition );
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
168 $category && $self->category( $category );
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
169 $ont && $self->ontology( $ont );
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
170 defined($version) && $self->version( $version );
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
171 defined($is_obsolete) && $self->is_obsolete( $is_obsolete );
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
172 $comment && $self->comment( $comment );
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
173 ref($dblinks) && $self->add_dblink(@$dblinks);
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
174
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
175 return $self;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
176
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
177 } # new
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
178
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
179
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
180
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
181 sub init {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
182
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
183 my $self = shift;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
184
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
185 $self->identifier(undef);
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
186 $self->name(undef);
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
187 $self->comment(undef);
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
188 $self->definition(undef);
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
189 $self->ontology(undef);
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
190 $self->is_obsolete(0);
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
191 $self->remove_synonyms();
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
192 $self->remove_dblinks();
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
193 $self->remove_secondary_ids();
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
194
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
195 } # init
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
196
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
197
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
198
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
199 =head2 identifier
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
200
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
201 Title : identifier
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
202 Usage : $term->identifier( "0003947" );
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
203 or
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
204 print $term->identifier();
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
205 Function: Set/get for the identifier of this Term.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
206 Returns : The identifier [scalar].
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
207 Args : The identifier [scalar] (optional).
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
208
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
209 =cut
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
210
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
211 sub identifier {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
212 my $self = shift;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
213
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
214 return $self->{'identifier'} = shift if @_;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
215 return $self->{'identifier'};
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
216 } # identifier
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
217
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
218
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
219
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
220
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
221 =head2 name
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
222
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
223 Title : name
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
224 Usage : $term->name( "N-acetylgalactosaminyltransferase" );
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
225 or
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
226 print $term->name();
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
227 Function: Set/get for the name of this Term.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
228 Returns : The name [scalar].
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
229 Args : The name [scalar] (optional).
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
230
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
231 =cut
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
232
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
233 sub name {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
234 my $self = shift;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
235
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
236 return $self->{'name'} = shift if @_;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
237 return $self->{'name'};
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
238 } # name
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
239
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
240
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
241
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
242
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
243
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
244 =head2 definition
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
245
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
246 Title : definition
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
247 Usage : $term->definition( "Catalysis of ..." );
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
248 or
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
249 print $term->definition();
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
250 Function: Set/get for the definition of this Term.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
251 Returns : The definition [scalar].
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
252 Args : The definition [scalar] (optional).
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
253
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
254 =cut
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
255
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
256 sub definition {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
257 my $self = shift;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
258
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
259 return $self->{'definition'} = shift if @_;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
260 return $self->{'definition'};
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
261 } # definition
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
262
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
263
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
264 =head2 ontology
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
265
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
266 Title : ontology
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
267 Usage : $ont = $term->ontology();
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
268 or
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
269 $term->ontology( $ont );
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
270 Function: Get the ontology this term is in.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
271
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
272 Note that with the ontology in hand you can query for all
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
273 related terms etc. See L<Bio::Ontology::OntologyI>.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
274
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
275 Returns : The ontology of this Term as a L<Bio::Ontology::OntologyI>
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
276 implementing object.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
277 Args : On set, the ontology of this Term as a L<Bio::Ontology::OntologyI>
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
278 implementing object or a string representing its name.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
279
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
280 =cut
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
281
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
282 sub ontology {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
283 my $self = shift;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
284 my $ont;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
285
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
286 if(@_) {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
287 $ont = shift;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
288 if($ont) {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
289 $ont = Bio::Ontology::Ontology->new(-name => $ont) if ! ref($ont);
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
290 if(! $ont->isa("Bio::Ontology::OntologyI")) {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
291 $self->throw(ref($ont)." does not implement ".
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
292 "Bio::Ontology::OntologyI. Bummer.");
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
293 }
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
294 }
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
295 return $self->{"_ontology"} = $ont;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
296 }
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
297 return $self->{"_ontology"};
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
298 } # ontology
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
299
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
300
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
301 =head2 version
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
302
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
303 Title : version
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
304 Usage : $term->version( "1.00" );
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
305 or
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
306 print $term->version();
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
307 Function: Set/get for version information.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
308 Returns : The version [scalar].
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
309 Args : The version [scalar] (optional).
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
310
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
311 =cut
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
312
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
313 sub version {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
314 my $self = shift;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
315
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
316 return $self->{'version'} = shift if @_;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
317 return $self->{'version'};
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
318 } # version
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
319
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
320
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
321
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
322 =head2 is_obsolete
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
323
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
324 Title : is_obsolete
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
325 Usage : $term->is_obsolete( 1 );
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
326 or
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
327 if ( $term->is_obsolete() )
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
328 Function: Set/get for the obsoleteness of this Term.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
329 Returns : the obsoleteness [0 or 1].
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
330 Args : the obsoleteness [0 or 1] (optional).
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
331
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
332 =cut
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
333
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
334 sub is_obsolete{
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
335 my $self = shift;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
336
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
337 return $self->{'is_obsolete'} = shift if @_;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
338 return $self->{'is_obsolete'};
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
339 } # is_obsolete
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
340
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
341
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
342
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
343
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
344
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
345 =head2 comment
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
346
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
347 Title : comment
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
348 Usage : $term->comment( "Consider the term ..." );
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
349 or
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
350 print $term->comment();
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
351 Function: Set/get for an arbitrary comment about this Term.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
352 Returns : A comment.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
353 Args : A comment (optional).
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
354
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
355 =cut
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
356
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
357 sub comment{
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
358 my $self = shift;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
359
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
360 return $self->{'comment'} = shift if @_;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
361 return $self->{'comment'};
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
362 } # comment
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
363
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
364
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
365
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
366
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
367 =head2 get_synonyms
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
368
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
369 Title : get_synonyms
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
370 Usage : @aliases = $term->get_synonyms;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
371 Function: Returns a list of aliases of this Term.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
372 Returns : A list of aliases [array of [scalar]].
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
373 Args :
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
374
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
375 =cut
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
376
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
377 sub get_synonyms {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
378 my $self = shift;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
379
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
380 return @{ $self->{ "_synonyms" } } if exists($self->{ "_synonyms" });
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
381 return ();
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
382 } # get_synonyms
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
383
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
384
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
385 =head2 add_synonym
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
386
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
387 Title : add_synonym
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
388 Usage : $term->add_synonym( @asynonyms );
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
389 or
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
390 $term->add_synonym( $synonym );
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
391 Function: Pushes one or more synonyms into the list of synonyms.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
392 Returns :
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
393 Args : One synonym [scalar] or a list of synonyms [array of [scalar]].
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
394
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
395 =cut
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
396
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
397 sub add_synonym {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
398 my ( $self, @values ) = @_;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
399
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
400 return unless( @values );
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
401
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
402 # avoid duplicates
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
403 foreach my $syn (@values) {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
404 next if grep { $_ eq $syn; } @{$self->{ "_synonyms" }};
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
405 push( @{ $self->{ "_synonyms" } }, $syn );
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
406 }
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
407
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
408 } # add_synonym
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
409
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
410
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
411 =head2 remove_synonyms
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
412
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
413 Title : remove_synonyms()
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
414 Usage : $term->remove_synonyms();
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
415 Function: Deletes (and returns) the synonyms of this Term.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
416 Returns : A list of synonyms [array of [scalar]].
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
417 Args :
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
418
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
419 =cut
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
420
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
421 sub remove_synonyms {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
422 my ( $self ) = @_;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
423
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
424 my @a = $self->get_synonyms();
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
425 $self->{ "_synonyms" } = [];
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
426 return @a;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
427
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
428 } # remove_synonyms
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
429
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
430 =head2 get_dblinks
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
431
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
432 Title : get_dblinks()
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
433 Usage : @ds = $term->get_dblinks();
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
434 Function: Returns a list of each dblinks of this GO term.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
435 Returns : A list of dblinks [array of [scalars]].
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
436 Args :
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
437
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
438 =cut
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
439
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
440 sub get_dblinks {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
441 my $self = shift;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
442
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
443 return @{$self->{ "_dblinks" }} if exists($self->{ "_dblinks" });
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
444 return ();
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
445 } # get_dblinks
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
446
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
447
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
448 =head2 add_dblink
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
449
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
450 Title : add_dblink
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
451 Usage : $term->add_dblink( @dbls );
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
452 or
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
453 $term->add_dblink( $dbl );
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
454 Function: Pushes one or more dblinks onto the list of dblinks.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
455 Returns :
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
456 Args : One dblink [scalar] or a list of
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
457 dblinks [array of [scalars]].
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
458
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
459 =cut
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
460
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
461 sub add_dblink {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
462 my ( $self, @values ) = @_;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
463
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
464 return unless( @values );
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
465
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
466 # avoid duplicates
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
467 foreach my $dbl (@values) {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
468 next if grep { $_ eq $dbl; } @{$self->{ "_dblinks" }};
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
469 push( @{ $self->{ "_dblinks" } }, $dbl );
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
470 }
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
471
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
472 } # add_dblink
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
473
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
474
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
475 =head2 remove_dblinks
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
476
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
477 Title : remove_dblinks()
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
478 Usage : $term->remove_dblinks();
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
479 Function: Deletes (and returns) the definition references of this GO term.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
480 Returns : A list of definition references [array of [scalars]].
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
481 Args :
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
482
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
483 =cut
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
484
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
485 sub remove_dblinks {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
486 my ( $self ) = @_;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
487
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
488 my @a = $self->get_dblinks();
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
489 $self->{ "_dblinks" } = [];
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
490 return @a;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
491
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
492 } # remove_dblinks
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
493
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
494 =head2 get_secondary_ids
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
495
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
496 Title : get_secondary_ids
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
497 Usage : @ids = $term->get_secondary_ids();
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
498 Function: Returns a list of secondary identifiers of this Term.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
499
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
500 Secondary identifiers mostly originate from merging terms,
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
501 or possibly also from splitting terms.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
502
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
503 Returns : A list of secondary identifiers [array of [scalar]]
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
504 Args :
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
505
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
506 =cut
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
507
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
508 sub get_secondary_ids {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
509 my $self = shift;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
510
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
511 return @{$self->{"_secondary_ids"}} if exists($self->{"_secondary_ids"});
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
512 return ();
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
513 } # get_secondary_ids
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
514
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
515
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
516 =head2 add_secondary_id
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
517
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
518 Title : add_secondary_id
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
519 Usage : $term->add_secondary_id( @ids );
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
520 or
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
521 $term->add_secondary_id( $id );
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
522 Function: Adds one or more secondary identifiers to this term.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
523 Returns :
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
524 Args : One or more secondary identifiers [scalars]
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
525
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
526 =cut
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
527
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
528 sub add_secondary_id {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
529 my $self = shift;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
530
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
531 return unless @_;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
532
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
533 # avoid duplicates
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
534 foreach my $id (@_) {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
535 next if grep { $_ eq $id; } @{$self->{ "_secondary_ids" }};
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
536 push( @{ $self->{ "_secondary_ids" } }, $id );
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
537 }
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
538
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
539 } # add_secondary_id
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
540
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
541
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
542 =head2 remove_secondary_ids
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
543
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
544 Title : remove_secondary_ids
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
545 Usage : $term->remove_secondary_ids();
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
546 Function: Deletes (and returns) the secondary identifiers of this Term.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
547 Returns : The previous list of secondary identifiers [array of [scalars]]
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
548 Args :
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
549
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
550 =cut
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
551
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
552 sub remove_secondary_ids {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
553 my $self = shift;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
554
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
555 my @a = $self->get_secondary_ids();
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
556 $self->{ "_secondary_ids" } = [];
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
557 return @a;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
558
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
559 } # remove_secondary_ids
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
560
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
561
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
562 # Title :_is_true_or_false
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
563 # Function: Checks whether the argument is TRUE or FALSE.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
564 # Returns :
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
565 # Args : The value to be checked.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
566 sub _is_true_or_false {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
567 my ( $self, $value ) = @_;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
568 unless ( $value !~ /\D/ && ( $value == TRUE || $value == FALSE ) ) {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
569 $self->throw( "Found [" . $value
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
570 . "] where " . TRUE . " or " . FALSE . " expected" );
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
571 }
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
572 } # _is_true_or_false
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
573
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
574 =head1 Methods implementing L<Bio::IdentifiableI> and L<Bio::DescribableI>
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
575
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
576 =cut
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
577
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
578 =head2 object_id
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
579
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
580 Title : object_id
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
581 Usage : $string = $obj->object_id()
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
582 Function: a string which represents the stable primary identifier
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
583 in this namespace of this object.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
584
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
585 This is a synonym for identifier().
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
586
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
587 Returns : A scalar
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
588
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
589 =cut
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
590
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
591 sub object_id {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
592 return shift->identifier(@_);
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
593 }
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
594
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
595 =head2 authority
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
596
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
597 Title : authority
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
598 Usage : $authority = $obj->authority()
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
599 Function: a string which represents the organisation which
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
600 granted the namespace, written as the DNS name for
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
601 organisation (eg, wormbase.org)
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
602
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
603 This forwards to ontology()->authority(). Note that you
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
604 cannot set the authority before having set the ontology or
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
605 the namespace (which will set the ontology).
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
606
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
607 Returns : A scalar
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
608 Args : on set, the new value (a scalar)
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
609
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
610 =cut
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
611
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
612 sub authority {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
613 my $self = shift;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
614 my $ont = $self->ontology();
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
615
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
616 return $ont->authority(@_) if $ont;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
617 $self->throw("cannot manipulate authority prior to ".
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
618 "setting the namespace or ontology") if @_;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
619 return undef;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
620 }
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
621
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
622
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
623 =head2 namespace
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
624
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
625 Title : namespace
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
626 Usage : $string = $obj->namespace()
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
627 Function: A string representing the name space this identifier
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
628 is valid in, often the database name or the name
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
629 describing the collection.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
630
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
631 This forwards to ontology() (set mode) and
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
632 ontology()->name() (get mode). I.e., setting the namespace
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
633 will set the ontology to one matching that name in the
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
634 ontology store, or to one newly created.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
635
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
636 Returns : A scalar
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
637 Args : on set, the new value (a scalar)
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
638
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
639 =cut
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
640
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
641 sub namespace {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
642 my $self = shift;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
643
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
644 $self->ontology(@_) if(@_);
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
645 my $ont = $self->ontology();
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
646 return defined($ont) ? $ont->name() : undef;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
647 }
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
648
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
649 =head2 display_name
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
650
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
651 Title : display_name
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
652 Usage : $string = $obj->display_name()
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
653 Function: A string which is what should be displayed to the user.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
654
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
655 The definition in L<Bio::DescribableI> states that the
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
656 string should not contain spaces. As this isn't very
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
657 sensible for ontology terms, we relax this here. The
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
658 implementation just forwards to name().
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
659
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
660 Returns : A scalar
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
661 Args : on set, the new value (a scalar)
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
662
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
663 =cut
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
664
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
665 sub display_name {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
666 return shift->name(@_);
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
667 }
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
668
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
669
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
670 =head2 description
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
671
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
672 Title : description
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
673 Usage : $string = $obj->description()
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
674 Function: A text string suitable for displaying to the user a
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
675 description. This string is likely to have spaces, but
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
676 should not have any newlines or formatting - just plain
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
677 text.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
678
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
679 This forwards to definition(). The caveat is that the text
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
680 will often be longer for ontology term definitions than the
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
681 255 characters stated in the definition in
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
682 L<Bio::DescribableI>.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
683
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
684 Returns : A scalar
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
685 Args : on set, the new value (a scalar)
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
686
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
687 =cut
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
688
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
689 sub description {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
690 return shift->definition(@_);
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
691 }
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
692
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
693 #################################################################
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
694 # aliases or forwards to maintain backward compatibility
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
695 #################################################################
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
696
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
697 =head1 Deprecated methods
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
698
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
699 Used for looking up the methods that supercedes them.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
700
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
701 =cut
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
702
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
703 =head2 category
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
704
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
705 Title : category
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
706 Usage :
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
707 Function: This method is deprecated. Use ontology() instead.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
708 Example :
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
709 Returns :
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
710 Args :
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
711
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
712
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
713 =cut
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
714
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
715 sub category {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
716 my $self = shift;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
717
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
718 $self->warn("TermI::category is deprecated and being phased out. ".
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
719 "Use TermI::ontology instead.");
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
720
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
721 # called in set mode?
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
722 if(@_) {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
723 # yes; what is incompatible with ontology() is if we were given
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
724 # a TermI object
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
725 my $arg = shift;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
726 $arg = $arg->name() if ref($arg) && $arg->isa("Bio::Ontology::TermI");
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
727 return $self->ontology($arg,@_);
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
728 } else {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
729 # No, called in get mode. This is always incompatible with ontology()
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
730 # since category is supposed to return a TermI.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
731 my $ont = $self->ontology();
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
732 my $term;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
733 if(defined($ont)) {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
734 $term = Bio::Ontology::Term->new(-name => $ont->name(),
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
735 -identifier =>$ont->identifier());
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
736 }
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
737 return $term;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
738 }
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
739 } # category
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
740
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
741 *each_synonym = \&get_synonyms;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
742 *add_synonyms = \&add_synonym;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
743 *each_dblink = \&get_dblinks;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
744 *add_dblinks = \&add_dblink;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
745
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
746 1;