annotate variant_effect_predictor/Bio/Ontology/GOterm.pm @ 0:1f6dce3d34e0

Uploaded
author mahtabm
date Thu, 11 Apr 2013 02:01:53 -0400
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1 # $Id: GOterm.pm,v 1.12.2.4 2003/07/03 00:41:40 lapp Exp $
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
2 #
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
3 # BioPerl module for Bio::Ontology::GOterm
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
4 #
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
5 # Cared for by Christian M. Zmasek <czmasek@gnf.org> or <cmzmasek@yahoo.com>
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
6 #
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
7 # (c) Christian M. Zmasek, czmasek@gnf.org, 2002.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
8 # (c) GNF, Genomics Institute of the Novartis Research Foundation, 2002.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
9 #
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
10 # You may distribute this module under the same terms as perl itself.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
11 # Refer to the Perl Artistic License (see the license accompanying this
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
12 # software package, or see http://www.perl.com/language/misc/Artistic.html)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
13 # for the terms under which you may use, modify, and redistribute this module.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
14 #
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
15 # THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
16 # WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
17 # MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
18 #
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
19 # You may distribute this module under the same terms as perl itself
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
20
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
21 # POD documentation - main docs before the code
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
22
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
23
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
24 =head1 NAME
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
25
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
26 GOterm - representation of GO terms
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
27
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
28 =head1 SYNOPSIS
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
29
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
30 $term = Bio::Ontology::GOterm->new
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
31 ( -go_id => "GO:0016847",
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
32 -name => "1-aminocyclopropane-1-carboxylate synthase",
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
33 -definition => "Catalysis of ...",
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
34 -is_obsolete => 0,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
35 -comment => "" );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
36
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
37 $term->add_definition_references( @refs );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
38 $term->add_secondary_GO_ids( @ids );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
39 $term->add_aliases( @aliases );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
40
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
41 foreach my $dr ( $term->each_definition_reference() ) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
42 print $dr, "\n";
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
43 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
44
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
45 # etc.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
46
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
47 =head1 DESCRIPTION
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
48
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
49 This is "dumb" class for GO terms (it provides no functionality related to graphs).
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
50 Implements Bio::Ontology::TermI.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
51
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
52 =head1 FEEDBACK
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
53
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
54 =head2 Mailing Lists
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
55
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
56 User feedback is an integral part of the evolution of this and other
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
57 Bioperl modules. Send your comments and suggestions preferably to one
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
58 of the Bioperl mailing lists. Your participation is much appreciated.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
59
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
60 bioperl-l@bioperl.org - General discussion
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
61 http://bio.perl.org/MailList.html - About the mailing lists
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
62
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
63 =head2 Reporting Bugs
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
64
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
65 Report bugs to the Bioperl bug tracking system to help us keep track
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
66 the bugs and their resolution. Bug reports can be submitted via email
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
67 or the web:
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
68
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
69 bioperl-bugs@bio.perl.org
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
70 http://bugzilla.bioperl.org/
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
71
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
72 =head1 AUTHOR
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
73
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
74 Christian M. Zmasek
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
75
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
76 Email: czmasek@gnf.org or cmzmasek@yahoo.com
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
77
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
78 WWW: http://www.genetics.wustl.edu/eddy/people/zmasek/
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
79
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
80 Address:
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
81
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
82 Genomics Institute of the Novartis Research Foundation
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
83 10675 John Jay Hopkins Drive
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
84 San Diego, CA 92121
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
85
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
86 =head1 APPENDIX
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
87
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
88 The rest of the documentation details each of the object
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
89 methods.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
90
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
91 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
92
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
93
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
94 # Let the code begin...
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
95
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
96 package Bio::Ontology::GOterm;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
97 use vars qw( @ISA );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
98 use strict;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
99 use Bio::Ontology::Term;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
100
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
101 use constant GOID_DEFAULT => "GO:0000000";
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
102 use constant TRUE => 1;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
103 use constant FALSE => 0;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
104
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
105 @ISA = qw( Bio::Ontology::Term );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
106
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
107
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
108
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
109
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
110 =head2 new
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
111
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
112 Title : new
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
113 Usage : $term = Bio::Ontology::GOterm->new( -go_id => "GO:0016847",
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
114 -name => "1-aminocyclopropane-1-carboxylate synthase",
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
115 -definition => "Catalysis of ...",
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
116 -is_obsolete => 0,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
117 -comment => "" );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
118 Function: Creates a new Bio::Ontology::GOterm.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
119 Returns : A new Bio::Ontology::GOterm object.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
120 Args : -go_id => the goid of this GO term [GO:nnnnnnn]
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
121 or [nnnnnnn] (nnnnnnn is a zero-padded
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
122 integer of seven digits)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
123 -name => the name of this GO term [scalar]
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
124 -definition => the definition of this GO term [scalar]
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
125 -ontology => the ontology for this term (a
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
126 Bio::Ontology::OntologyI compliant object)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
127 -version => version information [scalar]
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
128 -is_obsolete => the obsoleteness of this GO term [0 or 1]
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
129 -comment => a comment [scalar]
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
130
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
131 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
132
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
133 sub new {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
134
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
135 my( $class,@args ) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
136
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
137 my $self = $class->SUPER::new( @args );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
138
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
139 my ( $GO_id )
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
140 = $self->_rearrange( [ qw( GO_ID ) ], @args );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
141
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
142 $GO_id && $self->GO_id( $GO_id );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
143
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
144
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
145 return $self;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
146
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
147 } # new
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
148
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
149
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
150 =head2 init
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
151
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
152 Title : init()
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
153 Usage : $term->init();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
154 Function: Initializes this GOterm to all "" and empty lists.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
155 Returns :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
156 Args :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
157
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
158 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
159
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
160 sub init {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
161
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
162 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
163
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
164 # first call the inherited version to properly chain up the hierarchy
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
165 $self->SUPER::init(@_);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
166
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
167 # then only initialize what we implement ourselves here
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
168 #$self->GO_id( GOID_DEFAULT );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
169
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
170 } # init
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
171
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
172
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
173
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
174
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
175 =head2 GO_id
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
176
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
177 Title : GO_id
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
178 Usage : $term->GO_id( "GO:0003947" );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
179 or
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
180 print $term->GO_id();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
181 Function: Set/get for the goid of this GO term.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
182
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
183 This is essentially an alias to identifier(), with added
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
184 format checking.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
185
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
186 Returns : The goid [GO:nnnnnnn].
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
187 Args : The goid [GO:nnnnnnn] or [nnnnnnn] (nnnnnnn is a
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
188 zero-padded integer of seven digits) (optional).
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
189
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
190 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
191
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
192 sub GO_id {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
193 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
194 my $value;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
195
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
196 if ( @_ ) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
197 $value = $self->_check_go_id( shift );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
198 unshift(@_, $value);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
199 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
200
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
201 return $self->identifier( @_ );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
202
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
203 } # GO_id
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
204
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
205
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
206 =head2 get_secondary_GO_ids
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
207
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
208 Title : get_secondary_GO_ids
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
209 Usage : @ids = $term->get_secondary_GO_ids();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
210 Function: Returns a list of secondary goids of this Term.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
211
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
212 This is aliased to remove_secondary_ids().
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
213
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
214 Returns : A list of secondary goids [array of [GO:nnnnnnn]]
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
215 (nnnnnnn is a zero-padded integer of seven digits).
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
216 Args :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
217
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
218 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
219
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
220 sub get_secondary_GO_ids {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
221 return shift->get_secondary_ids(@_);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
222 } # get_secondary_GO_ids
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
223
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
224
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
225 =head2 add_secondary_GO_id
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
226
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
227 Title : add_secondary_GO_id
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
228 Usage : $term->add_secondary_GO_id( @ids );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
229 or
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
230 $term->add_secondary_GO_id( $id );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
231 Function: Pushes one or more secondary goids into
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
232 the list of secondary goids.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
233
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
234 This is aliased to remove_secondary_ids().
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
235
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
236 Returns :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
237 Args : One secondary goid [GO:nnnnnnn or nnnnnnn] or a list
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
238 of secondary goids [array of [GO:nnnnnnn or nnnnnnn]]
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
239 (nnnnnnn is a zero-padded integer of seven digits).
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
240
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
241 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
242
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
243 sub add_secondary_GO_id {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
244 return shift->add_secondary_id(@_);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
245 } # add_secondary_GO_id
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
246
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
247
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
248 =head2 remove_secondary_GO_ids
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
249
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
250 Title : remove_secondary_GO_ids()
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
251 Usage : $term->remove_secondary_GO_ids();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
252 Function: Deletes (and returns) the secondary goids of this Term.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
253
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
254 This is aliased to remove_secondary_ids().
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
255
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
256 Returns : A list of secondary goids [array of [GO:nnnnnnn]]
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
257 (nnnnnnn is a zero-padded integer of seven digits).
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
258 Args :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
259
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
260 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
261
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
262 sub remove_secondary_GO_ids {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
263 return shift->remove_secondary_ids(@_);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
264 } # remove_secondary_GO_ids
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
265
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
266
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
267
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
268
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
269 =head2 to_string
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
270
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
271 Title : to_string()
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
272 Usage : print $term->to_string();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
273 Function: to_string method for GO terms.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
274 Returns : A string representation of this GOterm.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
275 Args :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
276
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
277 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
278
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
279 sub to_string {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
280 my( $self ) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
281
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
282 my $s = "";
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
283
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
284 $s .= "-- GO id:\n";
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
285 $s .= ($self->GO_id() || '')."\n";
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
286 $s .= "-- Name:\n";
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
287 $s .= ($self->name() || '') ."\n";
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
288 $s .= "-- Definition:\n";
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
289 $s .= ($self->definition() || '') ."\n";
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
290 $s .= "-- Category:\n";
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
291 if ( defined( $self->ontology() ) ) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
292 $s .= $self->ontology()->name()."\n";
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
293 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
294 else {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
295 $s .= "\n";
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
296 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
297 $s .= "-- Version:\n";
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
298 $s .= ($self->version() || '') ."\n";
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
299 $s .= "-- Is obsolete:\n";
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
300 $s .= $self->is_obsolete()."\n";
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
301 $s .= "-- Comment:\n";
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
302 $s .= ($self->comment() || '') ."\n";
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
303 $s .= "-- Definition references:\n";
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
304 $s .= $self->_array_to_string( $self->get_dblinks() )."\n";
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
305 $s .= "-- Secondary GO ids:\n";
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
306 $s .= $self->_array_to_string( $self->get_secondary_GO_ids() )."\n";
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
307 $s .= "-- Aliases:\n";
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
308 $s .= $self->_array_to_string( $self->get_synonyms() );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
309
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
310 return $s;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
311
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
312 } # to_string
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
313
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
314
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
315
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
316
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
317 # Title : _check_go_id
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
318 # Function: Checks whether the argument is [GO:nnnnnnn].
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
319 # If "GO:" is not present, it adds it.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
320 # Returns : The canonical GO id.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
321 # Args : The value to be checked.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
322 sub _check_go_id {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
323 my ( $self, $value ) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
324 unless ( $value =~ /^(GO:)?\d{7}$/ || $value eq GOID_DEFAULT ) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
325 $self->throw( "Found [" . $value
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
326 . "] where [GO:nnnnnnn] or [nnnnnnn] expected" );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
327 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
328 unless ( $value =~ /^GO:/ ) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
329 $value = "GO:".$value;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
330 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
331 return $value;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
332 } # _check_go_id
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
333
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
334
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
335
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
336 # Title : _array_to_string
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
337 # Function:
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
338 # Returns :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
339 # Args :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
340 sub _array_to_string {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
341 my( $self, @value ) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
342
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
343 my $s = "";
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
344
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
345 for ( my $i = 0; $i < scalar( @value ); ++$i ) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
346 if ( ! ref( $value[ $i ] ) ) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
347 $s .= "#" . $i . "\n-- " . $value[ $i ] . "\n";
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
348 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
349 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
350
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
351 return $s;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
352
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
353 } # _array_to_string
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
354
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
355 #################################################################
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
356 # aliases or forwards to maintain backward compatibility
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
357 #################################################################
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
358
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
359 *each_secondary_GO_id = \&get_secondary_GO_ids;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
360 *add_secondary_GO_ids = \&add_secondary_GO_id;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
361
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
362 1;