annotate variant_effect_predictor/Bio/Biblio/MedlineArticle.pm @ 0:2bc9b66ada89 draft default tip

Uploaded
author mahtabm
date Thu, 11 Apr 2013 06:29:17 -0400
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
1 # $Id: MedlineArticle.pm,v 1.5 2002/10/22 07:45:11 lapp Exp $
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
2 #
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
3 # BioPerl module for Bio::Biblio::MedlineArticle
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
4 #
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
5 # Cared for by Martin Senger <senger@ebi.ac.uk>
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
6 # For copyright and disclaimer see below.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
7
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
8 # POD documentation - main docs before the code
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
9
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
10 =head1 NAME
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
11
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
12 Bio::Biblio::MedlineArticle - Representation of a MEDLINE article
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
13
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
14 =head1 SYNOPSIS
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
15
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
16 $obj = new Bio::Biblio::MedlineArticle (-mesh_headings => ...);
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
17
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
18 # how are Mesh terms stored:
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
19 use Data::Dumper;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
20 print Data::Dumper->Dump ( [$obj->mesh_headings], ['MeshHeadings']);
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
21
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
22 It produces (something like) this:
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
23 'MeshHeadings' => [
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
24 { 'descriptorName' => 'Adult' },
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
25 { 'descriptorName' => 'Cardiovascular Diseases',
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
26 'subHeadings' => [ { 'subHeading' => 'etiology' },
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
27 { 'majorTopic' => 'Y',
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
28 'subHeading' => 'mortality' } ] },
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
29 { 'descriptorName' => 'Child Development',
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
30 'subHeadings' => [ { 'majorTopic' => 'Y',
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
31 'subHeading' => 'physiology' } ] },
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
32 { 'descriptorName' => 'Human' },
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
33 ]
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
34
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
35 =head1 DESCRIPTION
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
36
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
37 A storage object for a MEDLINE article.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
38 See its place in the class hierarchy in
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
39 http://industry.ebi.ac.uk/openBQS/images/bibobjects_perl.gif
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
40
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
41 =head2 Attributes
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
42
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
43 The following attributes are specific to this class
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
44 (however, you can also set and get all attributes defined in the parent classes):
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
45
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
46 affiliation
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
47 chemicals type: array ref of hashes
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
48 citation_owner
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
49 comment_ins type: array ref of hashes
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
50 comment_ons type: array ref of hashes
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
51 date_of_electronic_publication
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
52 erratum_fors type: array ref of hashes
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
53 erratum_in type: array ref of hashes
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
54 gene_symbols
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
55 general_notes type: array ref of hashes
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
56 grant_list_complete
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
57 grants type: array ref of hashes
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
58 medline_date
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
59 medline_id
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
60 medline_page
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
61 mesh_headings type: array ref of hashes
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
62 number_of_references
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
63 original_report_ins type: array ref of hashes
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
64 other_abstracts type: array ref of hashes
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
65 other_ids type: array ref of hashes
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
66 other_languages
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
67 pmid
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
68 republished_froms type: array ref of hashes
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
69 republished_ins type: array ref of hashes
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
70 retraction_ins type: array ref of hashes
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
71 retraction_ofs type: array ref of hashes
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
72 season
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
73 status
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
74 summary_for_patients_ins type: array ref of hashes
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
75 update_ins type: array ref of hashes
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
76 update_ofs type: array ref of hashes
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
77 vernacular_title
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
78
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
79 =head1 SEE ALSO
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
80
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
81 =over
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
82
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
83 =item *
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
84
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
85 OpenBQS home page: http://industry.ebi.ac.uk/openBQS
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
86
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
87 =item *
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
88
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
89 Comments to the Perl client: http://industry.ebi.ac.uk/openBQS/Client_perl.html
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
90
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
91 =back
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
92
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
93 =head1 FEEDBACK
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
94
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
95 =head2 Mailing Lists
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
96
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
97 User feedback is an integral part of the evolution of this and other
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
98 Bioperl modules. Send your comments and suggestions preferably to
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
99 the Bioperl mailing list. Your participation is much appreciated.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
100
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
101 bioperl-l@bioperl.org - General discussion
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
102 http://bioperl.org/MailList.shtml - About the mailing lists
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
103
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
104 =head2 Reporting Bugs
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
105
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
106 Report bugs to the Bioperl bug tracking system to help us keep track
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
107 of the bugs and their resolution. Bug reports can be submitted via
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
108 email or the web:
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
109
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
110 bioperl-bugs@bioperl.org
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
111 http://bugzilla.bioperl.org/
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
112
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
113 =head1 AUTHORS
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
114
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
115 Heikki Lehvaslaiho (heikki@ebi.ac.uk),
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
116 Martin Senger (senger@ebi.ac.uk)
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
117
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
118 =head1 COPYRIGHT
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
119
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
120 Copyright (c) 2002 European Bioinformatics Institute. All Rights Reserved.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
121
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
122 This module is free software; you can redistribute it and/or modify
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
123 it under the same terms as Perl itself.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
124
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
125 =head1 DISCLAIMER
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
126
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
127 This software is provided "as is" without warranty of any kind.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
128
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
129 =cut
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
130
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
131
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
132 # Let the code begin...
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
133
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
134
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
135 package Bio::Biblio::MedlineArticle;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
136 use strict;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
137 use vars qw(@ISA);
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
138
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
139 use Bio::Biblio::Article;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
140
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
141 @ISA = qw(Bio::Biblio::Article);
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
142
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
143 #
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
144 # a closure with a list of allowed attribute names (these names
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
145 # correspond with the allowed 'get' and 'set' methods); each name also
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
146 # keep what type the attribute should be (use 'undef' if it is a
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
147 # simple scalar)
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
148 #
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
149 {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
150 my %_allowed =
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
151 (
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
152 _affiliation => undef,
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
153 _chemicals => 'ARRAY',
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
154 _citation_owner => undef,
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
155 _comment_ins => 'ARRAY',
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
156 _comment_ons => 'ARRAY',
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
157 _date_of_electronic_publication => undef,
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
158 _erratum_fors => 'ARRAY',
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
159 _erratum_ins => 'ARRAY',
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
160 _gene_symbols => undef,
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
161 _general_notes => 'ARRAY',
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
162 _grant_list_complete => undef,
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
163 _grants => 'ARRAY',
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
164 _medline_date => undef,
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
165 _medline_id => undef,
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
166 _medline_page => undef,
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
167 _mesh_headings => 'ARRAY',
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
168 _number_of_references => undef,
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
169 _original_report_ins => 'ARRAY',
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
170 _other_abstracts => 'ARRAY',
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
171 _other_ids => 'ARRAY',
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
172 _other_languages => undef,
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
173 _pmid => undef,
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
174 _republished_froms => 'ARRAY',
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
175 _republished_ins => 'ARRAY',
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
176 _retraction_ins => 'ARRAY',
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
177 _retraction_ofs => 'ARRAY',
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
178 _season => undef,
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
179 _status => undef,
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
180 _summary_for_patients_ins => 'ARRAY',
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
181 _update_ins => 'ARRAY',
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
182 _update_ofs => 'ARRAY',
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
183 _vernacular_title => undef,
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
184 );
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
185
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
186 # return 1 if $attr is allowed to be set/get in this class
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
187 sub _accessible {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
188 my ($self, $attr) = @_;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
189 exists $_allowed{$attr} or $self->SUPER::_accessible ($attr);
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
190 }
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
191
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
192 # return an expected type of given $attr
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
193 sub _attr_type {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
194 my ($self, $attr) = @_;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
195 if (exists $_allowed{$attr}) {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
196 return $_allowed{$attr};
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
197 } else {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
198 return $self->SUPER::_attr_type ($attr);
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
199 }
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
200 }
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
201 }
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
202
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
203
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
204 1;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
205 __END__