annotate variant_effect_predictor/Bio/Biblio/IO/pubmed2ref.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: pubmed2ref.pm,v 1.2 2002/10/22 07:45:13 lapp Exp $
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
2 #
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
3 # BioPerl module Bio::Biblio::IO::pubmed2ref.pm
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
4 #
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
5 # Cared for by Martin Senger <senger@ebi.ac.uk>
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
6 # For copyright and disclaimer see below.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
7
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
8 # POD documentation - main docs before the code
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
9
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
10 =head1 NAME
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
11
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
12 Bio::Biblio::IO::pubmed2ref - A converter of a raw hash to PUBMED citations
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
13
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
14 =head1 SYNOPSIS
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
15
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
16 # to be written
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
17
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
18 =head1 DESCRIPTION
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
19
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
20 # to be written
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
21
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
22 =head1 FEEDBACK
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
23
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
24 =head2 Mailing Lists
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
25
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
26 User feedback is an integral part of the evolution of this and other
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
27 Bioperl modules. Send your comments and suggestions preferably to
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
28 the Bioperl mailing list. Your participation is much appreciated.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
29
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
30 bioperl-l@bioperl.org - General discussion
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
31 http://bioperl.org/MailList.shtml - About the mailing lists
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
32
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
33 =head2 Reporting Bugs
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
34
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
35 Report bugs to the Bioperl bug tracking system to help us keep track
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
36 of the bugs and their resolution. Bug reports can be submitted via
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
37 email or the web:
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
38
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
39 bioperl-bugs@bioperl.org
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
40 http://bugzilla.bioperl.org/
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
41
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
42 =head1 AUTHOR
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
43
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
44 Martin Senger (senger@ebi.ac.uk)
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
45
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
46 =head1 COPYRIGHT
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
47
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
48 Copyright (c) 2002 European Bioinformatics Institute. All Rights Reserved.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
49
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
50 This module is free software; you can redistribute it and/or modify
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
51 it under the same terms as Perl itself.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
52
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
53 =head1 DISCLAIMER
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
54
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
55 This software is provided "as is" without warranty of any kind.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
56
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
57 =head1 APPENDIX
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
58
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
59 Here is the rest of the object methods. Internal methods are preceded
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
60 with an underscore _.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
61
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
62 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
63
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
64
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
65 # Let the code begin...
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
66
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
67
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
68 package Bio::Biblio::IO::pubmed2ref;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
69
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
70 use strict;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
71 use vars qw(@ISA $VERSION $Revision);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
72
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
73 use Bio::Biblio::IO::medline2ref;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
74 @ISA = qw(Bio::Biblio::IO::medline2ref);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
75
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
76 BEGIN {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
77 # set the version for version checking
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
78 $VERSION = do { my @r = (q$Revision: 1.2 $ =~ /\d+/g); sprintf "%d.%-02d", @r };
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
79 $Revision = q$Id: pubmed2ref.pm,v 1.2 2002/10/22 07:45:13 lapp Exp $;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
80 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
81
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
82 # ---------------------------------------------------------------------
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
83 #
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
84 # Here is the core...
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
85 #
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
86 # ---------------------------------------------------------------------
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
87
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
88 sub _load_instance {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
89 my ($self, $source) = @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
90
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
91 my $result;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
92 my $article = $$source{'article'};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
93 if (defined $article) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
94 if (defined $$article{'journal'}) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
95 $result = $self->_new_instance ('Bio::Biblio::PubmedJournalArticle');
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
96 $result->type ('JournalArticle');
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
97 } elsif (defined $$article{'book'}) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
98 $result = $self->_new_instance ('Bio::Biblio::PubmedBookArticle');
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
99 $result->type ('BookArticle');
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
100 } else {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
101 $result->type ('PubmedArticle');
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
102 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
103 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
104 $result = $self->_new_instance ('Bio::Biblio::Ref') unless defined $result;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
105 return $result;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
106 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
107
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
108 sub convert {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
109 my ($self, $source) = @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
110 my $result = $self->SUPER::convert ($source->{'Citation'});
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
111
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
112 # here we do PUBMED's specific stuff
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
113 my $pubmed_data = $$source{'PubmedData'};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
114 if (defined $pubmed_data) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
115
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
116 # ... just take it (perhaps rename it)
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
117 $result->pubmed_status ($$pubmed_data{'publicationStatus'}) if defined $$pubmed_data{'publicationStatus'};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
118 $result->pubmed_provider_id ($$pubmed_data{'providerId'}) if defined $$pubmed_data{'providerId'};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
119 $result->pubmed_article_id_list ($$pubmed_data{'pubmedArticleIds'}) if defined $$pubmed_data{'pubmedArticleIds'};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
120 $result->pubmed_url_list ($$pubmed_data{'pubmedURLs'}) if defined $$pubmed_data{'pubmedURLs'};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
121
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
122 # ... put all dates from all 'histories' into one array
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
123 if (defined $$pubmed_data{'histories'}) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
124 my @history_list;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
125 foreach my $history ( @{ $$pubmed_data{'histories'} } ) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
126 my $ra_pub_dates = $$history{'pubDates'};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
127 foreach my $pub_date ( @{ $ra_pub_dates } ) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
128 my %history = ();
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
129 my $converted_date = &Bio::Biblio::IO::medline2ref::_convert_date ($pub_date);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
130 $history{'date'} = $converted_date if defined $converted_date;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
131 $history{'pub_status'} = $$pub_date{'pubStatus'} if defined $$pub_date{'pubStatus'};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
132 push (@history_list, \%history);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
133 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
134 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
135 $result->pubmed_history_list (\@history_list);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
136 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
137 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
138
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
139 # Done!
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
140 return $result;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
141 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
142
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
143 1;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
144 __END__