annotate variant_effect_predictor/Bio/Ontology/Term.pm @ 1:d6778b5d8382 draft default tip

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