Mercurial > repos > willmclaren > ensembl_vep
comparison variant_effect_predictor/Bio/SeqIO/game/idHandler.pm @ 0:21066c0abaf5 draft
Uploaded
author | willmclaren |
---|---|
date | Fri, 03 Aug 2012 10:04:48 -0400 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:21066c0abaf5 |
---|---|
1 # $Id: idHandler.pm,v 1.8 2001/11/20 02:09:38 lstein Exp $ | |
2 # | |
3 # BioPerl module for Bio::SeqIO::game::idHandler | |
4 # | |
5 # Cared for by Brad Marshall <bradmars@yahoo.com> | |
6 # | |
7 # Copyright Brad Marshall | |
8 # | |
9 # You may distribute this module under the same terms as perl itself | |
10 # _history | |
11 # June 25, 2000 written by Brad Marshall | |
12 # | |
13 # POD documentation - main docs before the code | |
14 | |
15 =head1 NAME | |
16 | |
17 Bio::SeqIO::game::idHandler - GAME helper via PerlSAX helper. | |
18 | |
19 =head1 SYNOPSIS | |
20 | |
21 GAME helper for parsing new ID objects from GAME XML. Do not use directly | |
22 | |
23 =head1 FEEDBACK | |
24 | |
25 =head2 Mailing Lists | |
26 | |
27 User feedback is an integral part of the evolution of this and | |
28 other Bioperl modules. Send your comments and suggestions preferably | |
29 to one of the Bioperl mailing lists. Your participation is much appreciated. | |
30 | |
31 bioperl-l@bioperl.org - Bioperl list | |
32 bioxml-dev@bioxml.org - Technical discussion - Moderate volume | |
33 bioxml-announce@bioxml.org - General Announcements - Pretty dead | |
34 http://www.bioxml.org/MailingLists/ - About the mailing lists | |
35 | |
36 =head1 AUTHOR - Brad Marshall | |
37 | |
38 Email: bradmars@yahoo.com | |
39 | |
40 =head1 APPENDIX | |
41 | |
42 The rest of the documentation details each of the object | |
43 methods. Internal methods are usually preceded with a _ | |
44 | |
45 =cut | |
46 | |
47 # This template file is in the Public Domain. | |
48 # You may do anything you want with this file. | |
49 # | |
50 | |
51 package Bio::SeqIO::game::idHandler; | |
52 use Bio::Root::Root; | |
53 | |
54 use vars qw{ $AUTOLOAD @ISA }; | |
55 use strict; | |
56 @ISA = qw(Bio::Root::Root); | |
57 sub new { | |
58 my ($class,@args) = @_; | |
59 my $self = $class->SUPER::new(@args); | |
60 | |
61 # initialize ids | |
62 $self->{'ids'} = []; | |
63 | |
64 return $self; | |
65 } | |
66 | |
67 =head2 start_document | |
68 | |
69 Title : start_document | |
70 Usage : $obj->start_document | |
71 Function: PerlSAX method called when a new document is initialized | |
72 Returns : nothing | |
73 Args : document name | |
74 | |
75 =cut | |
76 | |
77 # Basic PerlSAX | |
78 sub start_document { | |
79 my ($self, $document) = @_; | |
80 } | |
81 | |
82 =head2 end_document | |
83 | |
84 Title : end_document | |
85 Usage : $obj->end_document | |
86 Function: PerlSAX method called when a document is finished for cleaning up | |
87 Returns : list of ids seen | |
88 Args : document name | |
89 | |
90 =cut | |
91 | |
92 sub end_document { | |
93 my ($self, $document) = @_; | |
94 return $self->{'ids'}; | |
95 } | |
96 | |
97 =head2 start_element | |
98 | |
99 Title : start_element | |
100 Usage : $obj->start_element | |
101 Function: PerlSAX method called when a new element is reached | |
102 Returns : nothing | |
103 Args : element object | |
104 | |
105 =cut | |
106 | |
107 sub start_element { | |
108 my ($self, $element) = @_; | |
109 | |
110 if ($element->{'Name'} eq 'bx-seq:seq') { | |
111 if ($element->{'Attributes'}->{'bx-seq:id'}) { | |
112 push @{$self->{'ids'}}, $element->{'Attributes'}->{'bx-seq:id'}; | |
113 } else { | |
114 if ($self->can('warn')) { | |
115 $self->warn('WARNING: Attribute bx-seq:id is required on bx-seq:seq. Sequence will not be parsed.'); | |
116 } else { | |
117 warn('WARNING: Attribute bx-seq:id is required on bx-seq:seq. Sequence will not be parsed.'); | |
118 } | |
119 } | |
120 } | |
121 return 0; | |
122 } | |
123 | |
124 =head2 end_element | |
125 | |
126 Title : end_element | |
127 Usage : $obj->end_element | |
128 Function: PerlSAX method called when an element is finished | |
129 Returns : nothing | |
130 Args : element object | |
131 | |
132 =cut | |
133 | |
134 sub end_element { | |
135 my ($self, $element) = @_; | |
136 | |
137 } | |
138 | |
139 =head2 characters | |
140 | |
141 Title : characters | |
142 Usage : $obj->end_element | |
143 Function: PerlSAX method called when text between XML tags is reached | |
144 Returns : nothing | |
145 Args : text | |
146 | |
147 =cut | |
148 | |
149 sub characters { | |
150 my ($self, $text) = @_; | |
151 } | |
152 | |
153 | |
154 =head2 AUTOLOAD | |
155 | |
156 Title : AUTOLOAD | |
157 Usage : do not use directly | |
158 Function: autoload handling of missing DESTROY method | |
159 Returns : nothing | |
160 Args : text | |
161 | |
162 =cut | |
163 | |
164 # Others | |
165 sub AUTOLOAD { | |
166 my $self = shift; | |
167 | |
168 my $method = $AUTOLOAD; | |
169 $method =~ s/.*:://; | |
170 return if $method eq 'DESTROY'; | |
171 | |
172 print "UNRECOGNIZED $method\n"; | |
173 } | |
174 | |
175 1; | |
176 | |
177 __END__ |