annotate variant_effect_predictor/Bio/OntologyIO/Handlers/InterProHandler.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: InterProHandler.pm,v 1.7.2.2 2003/03/27 10:07:57 lapp Exp $
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
2 #
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
3 # BioPerl module for InterProHandler
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
4 #
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
5 # Cared for by Peter Dimitrov <dimitrov@gnf.org>
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
6 #
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
7 # Copyright Peter Dimitrov
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
8 # (c) Peter Dimitrov, dimitrov@gnf.org, 2003.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
9 # (c) GNF, Genomics Institute of the Novartis Research Foundation, 2003.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
10 #
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
11 # You may distribute this module under the same terms as perl itself.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
12 # Refer to the Perl Artistic License (see the license accompanying this
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
13 # software package, or see http://www.perl.com/language/misc/Artistic.html)
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
14 # for the terms under which you may use, modify, and redistribute this module.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
15 #
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
16 # THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
17 # WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
18 # MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
19 #
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
20 # POD documentation - main docs before the code
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
21
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
22 =head1 NAME
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
23
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
24 InterProHandler - XML handler class for InterProParser
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
25
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
26 =head1 SYNOPSIS
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
27
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
28 # do not use directly - used and instantiated by InterProParser
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
29
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
30 =head1 DESCRIPTION
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
31
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
32 Handles xml events generated by InterProParser when parsing InterPro
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
33 xml files.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
34
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
35 =head1 FEEDBACK
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
36
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
37 =head2 Mailing Lists
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
38
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
39 User feedback is an integral part of the evolution of this and other
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
40 Bioperl modules. Send your comments and suggestions preferably to
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
41 the Bioperl mailing list. Your participation is much appreciated.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
42
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
43 bioperl-l@bioperl.org - General discussion
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
44 http://bioperl.org/MailList.shtml - About the mailing lists
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
45
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
46 =head2 Reporting Bugs
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
47
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
48 Report bugs to the Bioperl bug tracking system to help us keep track
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
49 of the bugs and their resolution. Bug reports can be submitted via
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
50 email or the web:
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
51
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
52 bioperl-bugs@bioperl.org
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
53 http://bugzilla.bioperl.org/
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
54
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
55 =head1 AUTHOR - Peter Dimitrov
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
56
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
57 Email dimitrov@gnf.org
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
58
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
59 =head1 CONTRIBUTORS
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
60
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
61 Additional contributors names and emails here
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
62
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
63 =head1 APPENDIX
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
64
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
65 The rest of the documentation details each of the object methods.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
66 Internal methods are usually preceded with a _
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
67
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
68 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
69
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
70
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
71 # Let the code begin...
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
72
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
73
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
74 package Bio::OntologyIO::Handlers::InterProHandler;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
75 use vars qw(@ISA);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
76 use strict;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
77 use Carp;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
78 use Bio::Root::Root;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
79 use Bio::Ontology::Ontology;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
80 use Bio::Ontology::RelationshipType;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
81 use Bio::Ontology::SimpleOntologyEngine;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
82 use Bio::Annotation::Reference;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
83 use Data::Dumper;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
84
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
85 @ISA = qw(Bio::Root::Root);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
86
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
87 my ($record_count, $processed_count, $is_a_rel, $contains_rel, $found_in_rel);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
88
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
89 =head2 new
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
90
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
91 Title : new
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
92 Usage : $h = Bio::OntologyIO::Handlers::InterProHandler->new;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
93 Function: Initializes global variables
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
94 Example :
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
95 Returns : an InterProHandler object
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
96 Args :
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
97
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
98
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
99 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
100
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
101 sub new{
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
102 my ($class, @args) = @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
103 my $self = $class->SUPER::new(@args);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
104
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
105 my ($eng,$ont,$name,$fact) =
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
106 $self->_rearrange([qw(ENGINE
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
107 ONTOLOGY
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
108 ONTOLOGY_NAME
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
109 TERM_FACTORY)
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
110 ],@args);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
111
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
112 if(defined($ont)) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
113 $self->ontology($ont);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
114 } else {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
115 $name = "InterPro" unless $name;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
116 $self->ontology(Bio::Ontology::Ontology->new(-name => $name));
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
117 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
118 $self->ontology_engine($eng) if $eng;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
119
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
120 $self->term_factory($fact) if $fact;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
121
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
122 $is_a_rel = Bio::Ontology::RelationshipType->get_instance( "IS_A" );
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
123 $contains_rel = Bio::Ontology::RelationshipType->get_instance( "CONTAINS" );
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
124 $found_in_rel = Bio::Ontology::RelationshipType->get_instance( "FOUND_IN" );
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
125 $self->_cite_skip(0);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
126 $self->secondary_accessions_map( {} );
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
127
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
128 return $self;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
129 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
130
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
131 =head2 ontology_engine
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
132
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
133 Title : ontology_engine
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
134 Usage : $obj->ontology_engine($newval)
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
135 Function: Get/set ontology engine. Can be initialized only once.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
136 Example :
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
137 Returns : value of ontology_engine (a scalar)
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
138 Args : new value (a scalar, optional)
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
139
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
140
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
141 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
142
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
143 sub ontology_engine{
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
144 my ($self, $value) = @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
145
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
146 if( defined $value) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
147 if ( defined $self->{'ontology_engine'}) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
148 $self->throw("ontology_engine already defined");
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
149 } else {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
150 $self->throw(ref($value)." does not implement ".
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
151 "Bio::Ontology::OntologyEngineI. Bummer.")
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
152 unless $value->isa("Bio::Ontology::OntologyEngineI");
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
153 $self->{'ontology_engine'} = $value;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
154
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
155 # don't forget to set this as the engine of the ontology, otherwise
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
156 # those two might not point to the same object
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
157 my $ont = $self->ontology();
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
158 if($ont && $ont->can("engine") && (!$ont->engine())) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
159 $ont->engine($value);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
160 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
161
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
162 $self->debug(ref($self) .
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
163 "::ontology_engine: registering ontology engine (".
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
164 ref($value)."):\n".
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
165 $value->to_string."\n");
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
166 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
167 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
168
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
169 return $self->{'ontology_engine'};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
170 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
171
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
172 =head2 ontology
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
173
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
174 Title : ontology
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
175 Usage :
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
176 Function: Get the ontology to add the InterPro terms to.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
177
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
178 The value is determined automatically once ontology_engine
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
179 has been set and if it hasn't been set before.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
180
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
181 Example :
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
182 Returns : A L<Bio::Ontology::OntologyI> implementing object.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
183 Args : On set, a L<Bio::Ontology::OntologyI> implementing object.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
184
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
185 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
186
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
187 sub ontology{
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
188 my ($self,$ont) = @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
189
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
190 if(defined($ont)) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
191 $self->throw(ref($ont)." does not implement Bio::Ontology::OntologyI".
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
192 ". Bummer.")
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
193 unless $ont->isa("Bio::Ontology::OntologyI");
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
194 $self->{'_ontology'} = $ont;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
195 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
196 return $self->{'_ontology'};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
197 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
198
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
199 =head2 term_factory
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
200
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
201 Title : term_factory
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
202 Usage : $obj->term_factory($newval)
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
203 Function: Get/set the ontology term object factory
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
204 Example :
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
205 Returns : value of term_factory (a Bio::Factory::ObjectFactory instance)
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
206 Args : on set, new value (a Bio::Factory::ObjectFactory instance
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
207 or undef, optional)
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
208
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
209
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
210 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
211
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
212 sub term_factory{
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
213 my $self = shift;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
214
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
215 return $self->{'term_factory'} = shift if @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
216 return $self->{'term_factory'};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
217 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
218
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
219 =head2 _cite_skip
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
220
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
221 Title : _cite_skip
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
222 Usage : $obj->_cite_skip($newval)
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
223 Function:
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
224 Example :
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
225 Returns : value of _cite_skip (a scalar)
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
226 Args : new value (a scalar, optional)
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
227
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
228
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
229 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
230
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
231 sub _cite_skip{
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
232 my ($self, $value) = @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
233
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
234 if( defined $value) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
235 $self->{'_cite_skip'} = $value;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
236 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
237
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
238 return $self->{'_cite_skip'};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
239 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
240
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
241 =head2 _hash
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
242
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
243 Title : _hash
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
244 Usage : $obj->_hash($newval)
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
245 Function:
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
246 Example :
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
247 Returns : value of _hash (a scalar)
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
248 Args : new value (a scalar, optional)
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
249
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
250
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
251 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
252
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
253 sub _hash{
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
254 my ($self, $value) = @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
255
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
256 if( defined $value) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
257 $self->{'_hash'} = $value;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
258 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
259
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
260 return $self->{'_hash'};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
261 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
262
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
263 =head2 _stack
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
264
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
265 Title : _stack
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
266 Usage : $obj->_stack($newval)
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
267 Function:
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
268 Example :
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
269 Returns : value of _stack (a scalar)
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
270 Args : new value (a scalar, optional)
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
271
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
272
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
273 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
274
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
275 sub _stack{
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
276 my ($self, $value) = @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
277
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
278 if( defined $value) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
279 $self->{'_stack'} = $value;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
280 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
281 return $self->{'_stack'};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
282 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
283
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
284 =head2 _top
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
285
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
286 Title : _top
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
287 Usage :
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
288 Function:
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
289 Example :
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
290 Returns :
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
291 Args :
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
292
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
293
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
294 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
295
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
296 sub _top{
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
297 my ($self, $_stack) = @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
298 my @stack = @{$_stack};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
299
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
300 return (@stack >= 1) ? $stack[@stack - 1] : undef;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
301 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
302
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
303 =head2 _term
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
304
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
305 Title : _term
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
306 Usage : $obj->_term($newval)
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
307 Function: Get/set method for the term currently processed.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
308 Example :
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
309 Returns : value of term (a scalar)
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
310 Args : new value (a scalar, optional)
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
311
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
312
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
313 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
314
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
315 sub _term{
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
316 my ($self, $value) = @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
317
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
318 if(defined $value) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
319 $self->{'_term'} = $value;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
320 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
321
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
322 return $self->{'_term'};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
323 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
324
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
325 =head2 _clear_term
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
326
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
327 Title : _clear_term
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
328 Usage :
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
329 Function: Removes the current term from the handler
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
330 Example :
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
331 Returns :
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
332 Args :
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
333
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
334
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
335 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
336
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
337 sub _clear_term{
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
338 my ($self) = @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
339
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
340 delete $self->{'_term'};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
341 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
342
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
343 =head2 _names
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
344
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
345 Title : _names
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
346 Usage : $obj->_names($newval)
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
347 Function:
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
348 Example :
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
349 Returns : value of _names (a scalar)
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
350 Args : new value (a scalar, optional)
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
351
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
352
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
353 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
354
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
355 sub _names{
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
356 my ($self, $value) = @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
357
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
358 if( defined $value) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
359 $self->{'_names'} = $value;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
360 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
361
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
362 return $self->{'_names'};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
363 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
364
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
365 =head2 _create_relationship
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
366
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
367 Title : _create_relationship
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
368 Usage :
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
369 Function: Helper function. Adds relationships to one of the relationship stores.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
370 Example :
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
371 Returns :
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
372 Args :
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
373
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 _create_relationship{
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
378 my ($self, $ref_id, $rel_type_term) = @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
379 my $ont = $self->ontology();
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
380 my $fact = $self->term_factory();
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
381 my $term_temp = ($ont->engine->get_term_by_identifier($ref_id))[0];
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
382
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
383 my $rel = Bio::Ontology::Relationship->new( -predicate_term => $rel_type_term );
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
384
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
385 if (!defined $term_temp) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
386 $term_temp = $ont->engine->add_term( $fact->create_object( -InterPro_id => $ref_id ) );
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
387 $ont->engine->mark_uninstantiated($term_temp);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
388 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
389 my $rel_type_name = $self->_top($self->_names);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
390
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
391 if ($rel_type_name eq 'parent_list' || $rel_type_name eq 'found_in') {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
392 $rel->object_term( $term_temp );
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
393 $rel->subject_term( $self->_term );
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
394 } else {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
395 $rel->object_term( $self->_term );
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
396 $rel->subject_term( $term_temp );
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
397 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
398 $rel->ontology($ont);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
399 $ont->add_relationship($rel);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
400 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
401
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
402 =head2 start_element
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
403
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
404 Title : start_element
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
405 Usage :
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
406 Function: This is a method that is derived from XML::SAX::Base and
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
407 has to be overridden for processing start of xml element
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
408 events. Used internally only.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
409
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
410 Example :
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
411 Returns :
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
412 Args :
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
413
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
414
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
415 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
416
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
417 sub start_element {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
418 my ($self, $element) = @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
419 my $ont = $self->ontology();
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
420 my $fact = $self->term_factory();
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
421
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
422 if ($element->{Name} eq 'interprodb') {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
423 $ont->add_term($fact->create_object(-identifier => "Family",
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
424 -name => "Family") );
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
425 $ont->add_term($fact->create_object(-identifier => "Domain",
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
426 -name => "Domain") );
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
427 $ont->add_term($fact->create_object(-identifier => "Repeat",
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
428 -name => "Repeat") );
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
429 $ont->add_term($fact->create_object(-identifier => "PTM",
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
430 -name => "post-translational modification"));
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
431 } elsif ($element->{Name} eq 'interpro') {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
432 my %record_args = %{$element->{Attributes}};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
433 my $id = $record_args{"id"};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
434 my $term_temp = ($ont->engine->get_term_by_identifier($id))[0];
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
435
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
436 $self->_term(
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
437 (!defined $term_temp)
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
438 ? $ont->add_term( $fact->create_object(-InterPro_id => $id) )
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
439 : $term_temp
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
440 );
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
441
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
442 $self->_term->ontology( $ont );
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
443 $self->_term->short_name( $record_args{"short_name"} );
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
444 $self->_term->protein_count( $record_args{"protein_count"} );
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
445 $self->_increment_record_count();
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
446 $self->_stack([{ interpro => undef }]);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
447 $self->_names(["interpro"]);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
448
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
449 ## Adding a relationship between the newly created InterPro term
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
450 ## and the term describing its type
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
451
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
452 my $rel = Bio::Ontology::Relationship->new( -predicate_term => $is_a_rel );
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
453 $rel->object_term( ($ont->engine->get_term_by_identifier($record_args{"type"}))[0] );
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
454 $rel->subject_term( $self->_term );
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
455 $rel->ontology($ont);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
456 $ont->add_relationship($rel);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
457 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
458 elsif (defined $self->_stack) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
459 my %hash = ();
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
460
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
461 if (keys %{$element->{Attributes}} > 0) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
462 foreach my $key (keys %{$element->{Attributes}}) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
463 $hash{$key} = $element->{Attributes}->{$key};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
464 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
465 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
466 push @{$self->_stack}, \%hash;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
467 if ($element->{Name} eq 'rel_ref') {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
468 my $ref_id = $element->{Attributes}->{"ipr_ref"};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
469 my $parent = $self->_top($self->_names);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
470
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
471 if ($parent eq 'parent_list' || $parent eq 'child_list') {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
472 $self->_create_relationship($ref_id, $is_a_rel);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
473 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
474 if ($parent eq 'contains' ) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
475 $self->_create_relationship($ref_id, $contains_rel);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
476 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
477 if ($parent eq 'found_in' ) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
478 $self->_create_relationship($ref_id, $found_in_rel);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
479 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
480 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
481 elsif ($element->{Name} eq 'abstract') {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
482 $self->_cite_skip(1);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
483 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
484 push @{$self->_names}, $element->{Name};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
485 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
486
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
487 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
488
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
489 =head2 _char_storage
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
490
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
491 Title : _char_storage
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
492 Usage : $obj->_char_storage($newval)
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
493 Function:
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
494 Example :
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
495 Returns : value of _char_storage (a scalar)
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
496 Args : new value (a scalar, optional)
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
497
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
498
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
499 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
500
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
501 sub _char_storage{
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
502 my ($self, $value) = @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
503
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
504 if( defined $value) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
505 $self->{'_char_storage'} = $value;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
506 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
507
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
508 return $self->{'_char_storage'};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
509 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
510
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
511 =head2 characters
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
512
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
513 Title : characters
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
514 Usage :
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
515 Function: This is a method that is derived from XML::SAX::Base and has to be overridden for processing xml characters events. Used internally only.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
516 Example :
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
517 Returns :
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
518 Args :
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
519
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
520
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
521 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
522
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
523 sub characters {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
524 my ($self, $characters) = @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
525 my $text = $characters->{Data};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
526
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
527 chomp $text;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
528 $text =~ s/^(\s+)//;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
529 $self->{_char_storage} .= $text;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
530
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
531 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
532
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
533 =head2 end_element
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
534
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
535 Title : end_element
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
536 Usage :
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
537 Function: This is a method that is derived from XML::SAX::Base and has to be overridden for processing end of xml element events. Used internally only.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
538 Example :
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
539 Returns :
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
540 Args :
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
541
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
542
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
543 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
544
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
545 sub end_element {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
546 my ($self, $element) = @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
547
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
548 if ($element->{Name} eq 'interprodb') {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
549 $self->debug("Interpro DB Parser Finished: $record_count read, $processed_count processed\n");
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
550 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
551 elsif ($element->{Name} eq 'interpro') {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
552 $self->_clear_term;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
553 $self->_increment_processed_count();
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
554 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
555 elsif ($element->{Name} ne 'cite') {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
556 $self->{_char_storage} =~ s/<\/?p>//g;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
557 if ((defined $self->_stack)) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
558 my $current_hash = pop @{$self->_stack};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
559 my $parent_hash = $self->_top($self->_stack);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
560 my $current_hash_key = pop @{$self->_names};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
561
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
562 if (keys %{$current_hash} > 0 && $self->_char_storage ne "") {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
563 $current_hash->{comment} = $self->_char_storage;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
564 push @{ $parent_hash->{$current_hash_key} }, $current_hash
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
565 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
566 elsif ($self->_char_storage ne ""){
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
567 push @{ $parent_hash->{$current_hash_key} }, { 'accumulated_text_12345' => $self->_char_storage };
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
568 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
569 elsif (keys %{$current_hash} > 0) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
570 push @{ $parent_hash->{$current_hash_key} }, $current_hash;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
571 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
572 if ($element->{Name} eq 'pub_list') {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
573 my @refs = ();
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
574
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
575 foreach my $pub_record ( @{ $current_hash->{publication} } ) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
576 my $ref = Bio::Annotation::Reference->new;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
577 my $loc = $pub_record->{location}->[0];
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
578
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
579 $ref->location( $pub_record->{journal}->[0]->{accumulated_text_12345}.", ".$loc->{firstpage}."-".$loc->{lastpage}.", ".$loc->{volume}.", ".$pub_record->{year}->[0]->{accumulated_text_12345});
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
580 $ref->title( $pub_record->{title}->[0]->{accumulated_text_12345} );
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
581 my $ttt = $pub_record->{author_list}->[0];
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
582
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
583 $ref->authors( $ttt->{accumulated_text_12345} );
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
584 $ref->medline( scalar($ttt->{dbkey}) )
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
585 if exists($ttt->{db}) && $ttt->{db} eq "MEDLINE";
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
586 push @refs, $ref;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
587 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
588 $self->_term->add_reference(@refs);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
589 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
590 elsif ($element->{Name} eq 'name') {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
591 $self->_term->name( $self->_char_storage );
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
592 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
593 elsif ($element->{Name} eq 'abstract') {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
594 $self->_term->definition( $self->_char_storage );
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
595 $self->_cite_skip(0);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
596 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
597 elsif ($element->{Name} eq 'member_list') {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
598 my @refs = ();
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
599
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
600 foreach my $db_xref ( @{ $current_hash->{db_xref} } ) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
601 push @refs, Bio::Annotation::DBLink->new( -database => $db_xref->{db},
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
602 -primary_id => $db_xref->{dbkey}
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
603 );
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
604 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
605 $self->_term->add_member(@refs);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
606 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
607 elsif ($element->{Name} eq 'sec_list') {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
608 my @refs = ();
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
609
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
610 foreach my $sec_ac ( @{ $current_hash->{sec_ac} } ) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
611 push @refs, $sec_ac->{sec_ac};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
612 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
613 $self->_term->add_secondary_id(@refs);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
614 $self->secondary_accessions_map->{$self->_term->identifier} = \@refs;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
615 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
616 elsif ($element->{Name} eq 'example_list') {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
617 my @refs = ();
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
618
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
619 foreach my $example ( @{ $current_hash->{example} } ) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
620 push @refs, Bio::Annotation::DBLink->new( -database => $example->{db_xref}->[0]->{db},
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
621 -primary_id => $example->{db_xref}->[0]->{dbkey},
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
622 -comment => $example->{comment}
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
623 );
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
624 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
625 $self->_term->add_example(@refs);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
626 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
627 elsif ($element->{Name} eq 'external_doc_list') {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
628 my @refs = ();
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
629
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
630 foreach my $db_xref ( @{ $current_hash->{db_xref} } ) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
631 push @refs, Bio::Annotation::DBLink->new( -database => $db_xref->{db},
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
632 -primary_id => $db_xref->{dbkey}
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
633 );
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
634 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
635 $self->_term->add_external_document(@refs);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
636 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
637 elsif ($element->{Name} eq 'class_list') {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
638 my @refs = ();
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
639
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
640 foreach my $classification ( @{ $current_hash->{classification} } ) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
641 push @refs, Bio::Annotation::DBLink->new( -database => $classification->{class_type},
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
642 -primary_id => $classification->{id}
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
643 );
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
644 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
645 $self->_term->class_list(\@refs);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
646 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
647 elsif ($element->{Name} eq 'deleted_entries') {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
648 my @refs = ();
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
649
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
650 foreach my $del_ref ( @{ $current_hash->{del_ref} } ) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
651 my $term = ($self->ontology_engine->get_term_by_identifier( $del_ref->{id} ))[0];
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
652
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
653 $term->is_obsolete(1) if defined $term;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
654 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
655 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
656 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
657 $self->_char_storage( '' ) if !$self->_cite_skip;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
658 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
659 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
660
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
661 =head2 secondary_accessions_map
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
662
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
663 Title : secondary_accessions_map
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
664 Usage : $obj->secondary_accessions_map($newval)
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
665 Function:
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
666 Example : $map = $interpro_handler->secondary_accessions_map();
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
667 Returns : Reference to a hash that maps InterPro identifier to an
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
668 array reference of secondary accessions following the InterPro
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
669 xml schema.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
670 Args : Empty hash reference
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
671
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
672
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
673 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
674
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
675 sub secondary_accessions_map{
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
676 my ($self, $value) = @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
677
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
678 if( defined $value) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
679 $self->{'secondary_accessions_map'} = $value;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
680 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
681
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
682 return $self->{'secondary_accessions_map'};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
683 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
684
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
685 =head2 _increment_record_count
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
686
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
687 Title : _increment_record_count
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
688 Usage :
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
689 Function:
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
690 Example :
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
691 Returns :
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
692 Args :
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
693
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
694
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
695 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
696
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
697 sub _increment_record_count{
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
698 $record_count++;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
699 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
700
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
701 =head2 _increment_processed_count
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
702
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
703 Title : _increment_processed_count
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
704 Usage :
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
705 Function:
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
706 Example :
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
707 Returns :
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
708 Args :
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
709
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
710
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
711 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
712
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
713 sub _increment_processed_count{
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
714 $processed_count++;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
715 print $processed_count."\n" if $processed_count % 100 == 0;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
716 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
717
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
718 1;