annotate variant_effect_predictor/Bio/OntologyIO/Handlers/InterProHandler.pm @ 3:d30fa12e4cc5 default tip

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