2
# BioPerl module for Bio::Biblio::MedlineArticle
4
# Please direct questions and support issues to <bioperl-l@bioperl.org>
6
# Cared for by Martin Senger <senger@ebi.ac.uk>
7
# For copyright and disclaimer see below.
9
# POD documentation - main docs before the code
13
Bio::Biblio::MedlineArticle - Representation of a MEDLINE article
17
$obj = Bio::Biblio::MedlineArticle->new(-mesh_headings =>
21
# how are Mesh terms stored:
23
print Data::Dumper->Dump ( [$obj->mesh_headings], ['MeshHeadings']);
25
#It produces (something like) this:
27
# { 'descriptorName' => 'Adult' },
28
# { 'descriptorName' => 'Cardiovascular Diseases',
29
# 'subHeadings' => [ { 'subHeading' => 'etiology' },
30
# { 'majorTopic' => 'Y',
31
# 'subHeading' => 'mortality' } ] },
32
# { 'descriptorName' => 'Child Development',
33
# 'subHeadings' => [ { 'majorTopic' => 'Y',
34
# 'subHeading' => 'physiology' } ] },
35
# { 'descriptorName' => 'Human' },
40
A storage object for a MEDLINE article.
41
See its place in the class hierarchy in
42
http://www.ebi.ac.uk/~senger/openbqs/images/bibobjects_perl.gif
46
The following attributes are specific to this class
47
(however, you can also set and get all attributes defined in the parent classes):
50
chemicals type: array ref of hashes
52
comment_ins type: array ref of hashes
53
comment_ons type: array ref of hashes
54
date_of_electronic_publication
55
erratum_fors type: array ref of hashes
56
erratum_in type: array ref of hashes
58
general_notes type: array ref of hashes
60
grants type: array ref of hashes
64
mesh_headings type: array ref of hashes
66
original_report_ins type: array ref of hashes
67
other_abstracts type: array ref of hashes
68
other_ids type: array ref of hashes
71
republished_froms type: array ref of hashes
72
republished_ins type: array ref of hashes
73
retraction_ins type: array ref of hashes
74
retraction_ofs type: array ref of hashes
77
summary_for_patients_ins type: array ref of hashes
78
update_ins type: array ref of hashes
79
update_ofs type: array ref of hashes
88
OpenBQS home page: http://www.ebi.ac.uk/~senger/openbqs/
92
Comments to the Perl client: http://www.ebi.ac.uk/~senger/openbqs/Client_perl.html
100
User feedback is an integral part of the evolution of this and other
101
Bioperl modules. Send your comments and suggestions preferably to
102
the Bioperl mailing list. Your participation is much appreciated.
104
bioperl-l@bioperl.org - General discussion
105
http://bioperl.org/wiki/Mailing_lists - About the mailing lists
109
Please direct usage questions or support issues to the mailing list:
111
I<bioperl-l@bioperl.org>
113
rather than to the module maintainer directly. Many experienced and
114
reponsive experts will be able look at the problem and quickly
115
address it. Please include a thorough description of the problem
116
with code and data examples if at all possible.
118
=head2 Reporting Bugs
120
Report bugs to the Bioperl bug tracking system to help us keep track
121
of the bugs and their resolution. Bug reports can be submitted via the
124
https://redmine.open-bio.org/projects/bioperl/
128
Heikki Lehvaslaiho (heikki-at-bioperl-dot-org),
129
Martin Senger (senger@ebi.ac.uk)
133
Copyright (c) 2002 European Bioinformatics Institute. All Rights Reserved.
135
This module is free software; you can redistribute it and/or modify
136
it under the same terms as Perl itself.
140
This software is provided "as is" without warranty of any kind.
145
# Let the code begin...
148
package Bio::Biblio::MedlineArticle;
152
use base qw(Bio::Biblio::Article);
155
# a closure with a list of allowed attribute names (these names
156
# correspond with the allowed 'get' and 'set' methods); each name also
157
# keep what type the attribute should be (use 'undef' if it is a
163
_affiliation => undef,
164
_chemicals => 'ARRAY',
165
_citation_owner => undef,
166
_comment_ins => 'ARRAY',
167
_comment_ons => 'ARRAY',
168
_date_of_electronic_publication => undef,
169
_erratum_fors => 'ARRAY',
170
_erratum_ins => 'ARRAY',
171
_gene_symbols => undef,
172
_general_notes => 'ARRAY',
173
_grant_list_complete => undef,
175
_medline_date => undef,
176
_medline_id => undef,
177
_medline_page => undef,
178
_mesh_headings => 'ARRAY',
179
_number_of_references => undef,
180
_original_report_ins => 'ARRAY',
181
_other_abstracts => 'ARRAY',
182
_other_ids => 'ARRAY',
183
_other_languages => undef,
185
_republished_froms => 'ARRAY',
186
_republished_ins => 'ARRAY',
187
_retraction_ins => 'ARRAY',
188
_retraction_ofs => 'ARRAY',
191
_summary_for_patients_ins => 'ARRAY',
192
_update_ins => 'ARRAY',
193
_update_ofs => 'ARRAY',
194
_vernacular_title => undef,
197
# return 1 if $attr is allowed to be set/get in this class
199
my ($self, $attr) = @_;
200
exists $_allowed{$attr} or $self->SUPER::_accessible ($attr);
203
# return an expected type of given $attr
205
my ($self, $attr) = @_;
206
if (exists $_allowed{$attr}) {
207
return $_allowed{$attr};
209
return $self->SUPER::_attr_type ($attr);