annotate lib/massbank_api.pm @ 0:023c380900ef draft default tip

Init repository with last massbank_ws_searchspectrum master version
author fgiacomoni
date Wed, 19 Apr 2017 11:31:58 -0400
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
1 package lib::massbank_api ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
2
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
3 use strict;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
4 use warnings ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
5 use Exporter ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
6 use Carp ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
7
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
8 use Data::Dumper ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
9 #use SOAP::Lite +trace => [qw (debug)];
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
10 use SOAP::Lite ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
11
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
12 use vars qw($VERSION @ISA @EXPORT %EXPORT_TAGS);
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
13
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
14 our $VERSION = "1.0";
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
15 our @ISA = qw(Exporter);
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
16 our @EXPORT = qw( connectMassBankJP connectMassBankDE selectMassBank getInstrumentTypes getRecordInfo searchSpectrum getPeak);
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
17 our %EXPORT_TAGS = ( ALL => [qw( connectMassBankJP connectMassBankDE selectMassBank getInstrumentTypes getRecordInfo searchSpectrum getPeak)] );
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
18
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
19
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
20
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
21
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
22 =head1 NAME
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
23
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
24 My::Module - An example module
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
25
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
26 =head1 SYNOPSIS
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
27
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
28 use My::Module;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
29 my $object = My::Module->new();
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
30 print $object->as_string;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
31
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
32 =head1 DESCRIPTION
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
33
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
34 This module does not really exist, it
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
35 was made for the sole purpose of
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
36 demonstrating how POD works.
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
37
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
38 =head1 METHODS
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
39
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
40 Methods are :
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
41
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
42 =head2 METHOD new
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
43
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
44 ## Description : new
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
45 ## Input : $self
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
46 ## Ouput : bless $self ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
47 ## Usage : new() ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
48
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
49 =cut
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
50
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
51 sub new {
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
52 ## Variables
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
53 my $self={};
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
54 bless($self) ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
55 return $self ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
56 }
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
57 ### END of SUB
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
58
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
59
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
60 =head2 METHOD connectMassBankJP
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
61
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
62 ## Description : create a soap object throught the webservice japan massbank.
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
63 ## Input : $self
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
64 ## Ouput : $soap ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
65 ## Usage : my $soap = connectMassBankJP() ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
66
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
67 =cut
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
68 sub connectMassBankJP() {
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
69 ## Retrieve Values
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
70 my $self = shift ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
71 my $osoap = SOAP::Lite
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
72 -> uri('http://api.massbank')
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
73 -> proxy('http://www.massbank.jp/api/services/MassBankAPI?wsdl', timeout => 100 )
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
74 -> on_fault(sub { my($soap, $res) = @_;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
75 eval { die ref $res ? $res->faultstring : $soap->transport->status, "\n"};
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
76 return ref $res ? $res : new SOAP::SOM ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
77 });
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
78
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
79 return ($osoap);
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
80 }
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
81 ### END of SUB
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
82
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
83 =head2 METHOD connectMassBankDE
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
84
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
85 ## Description : create a soap object throught the webservice UFZ-DE massbank.
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
86 ## Input : $self
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
87 ## Ouput : $soap ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
88 ## Usage : my $soap = connectMassBankDE() ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
89
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
90 =cut
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
91 sub connectMassBankDE() {
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
92 ## Retrieve Values
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
93 my $self = shift ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
94 my $osoap = SOAP::Lite
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
95 -> uri('http://api.massbank')
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
96 # -> proxy('http://massbank.ufz.de/MassBank/api/services/MassBankAPI?wsdl', timeout => 500 )
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
97 -> proxy('http://massbank.normandata.eu/MassBank/api/services/MassBankAPI?wsdl', timeout => 500 )
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
98 -> on_fault(sub { my($soap, $res) = @_;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
99 eval { die ref $res ? $res->faultstring : $soap->transport->status, "\n"};
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
100 return ref $res ? $res : new SOAP::SOM ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
101 });
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
102
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
103 return ($osoap);
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
104 }
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
105 ### END of SUB
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
106
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
107 =head2 METHOD selectMassBank
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
108
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
109 ## Description : create a soap object throught a choice of servers like UFZ-DE mirror or JP mirror.
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
110 ## Input : $server
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
111 ## Ouput : $soap ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
112 ## Usage : my $soap = selectMassBank($server) ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
113
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
114 =cut
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
115 sub selectMassBank() {
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
116 ## Retrieve Values
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
117 my $self = shift ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
118 my ( $server ) = @_ ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
119
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
120 my $osoap = undef ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
121
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
122 my $ombk = new() ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
123
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
124 if ( (defined $server ) and ($server eq 'JP') ) {
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
125 $osoap = $ombk->connectMassBankJP() ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
126 }
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
127 elsif ( (defined $server ) and ($server eq 'EU') ){
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
128 $osoap = $ombk->connectMassBankDE() ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
129 }
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
130 elsif ( !defined $server ) {
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
131 croak "Can't adress SOAP connexion : undefined MassBank server\n" ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
132 }
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
133 else {
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
134 croak "Can't adress SOAP connexion : unknown MassBank server ($server)\n" ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
135 }
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
136 return ($osoap);
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
137 }
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
138 ### END of SUB
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
139
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
140
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
141
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
142 =head2 METHOD getInstrumentTypes
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
143
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
144 ## Description : Get a list of the instrument types resistered in MassBank
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
145 ## Input : $soap
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
146 ## Ouput : $res ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
147 ## Usage : $res = getInstrumentTypes($soap) ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
148
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
149 =cut
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
150 sub getInstrumentTypes() {
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
151 ## Retrieve Values
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
152 my $self = shift ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
153 my ($osoap) = @_ ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
154 my @records = () ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
155
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
156 my $res = $osoap -> getInstrumentTypes ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
157
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
158 ## DETECTING A SOAP FAULT
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
159 if ($res->fault) { @records = $res->faultdetail; }
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
160 else { @records = $res->valueof('//return'); }
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
161
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
162 return(\@records) ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
163 }
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
164 ### END of SUB
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
165
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
166 =head2 METHOD getRecordInfo
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
167
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
168 ## Description : Get the data of MassBank records specified by Record IDs. A MassBank record includes peak data, analytical conditions and so on).
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
169 ## Input : $osoap, $ids
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
170 ## Ouput : $dats
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
171 ## Usage : $dats = getRecordInfo($osoap, $ids) ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
172
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
173 =cut
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
174
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
175 sub getRecordInfo() {
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
176 ## Retrieve Values
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
177 my $self = shift ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
178 my ($osoap, $ids) = @_ ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
179
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
180 # init in case :
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
181 my @dats = () ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
182 my $numdats = 0 ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
183
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
184 if ( defined $ids ) {
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
185 my $nb_ids = scalar (@{$ids}) ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
186
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
187 if ( $nb_ids > 0 ) {
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
188
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
189 my @ids = @{$ids} ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
190
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
191 my @params = ( SOAP::Data->name('ids' => @ids ) );
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
192
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
193 my $data = SOAP::Data -> value(@params);
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
194 my $som = $osoap -> getRecordInfo($data);
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
195
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
196 ## DETECTING A SOAP FAULT OR NOT
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
197 if ( $som ) {
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
198 if ($som->fault) {
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
199 carp "\t\t WARN: The query Id is false, MassBank don't find any record\n" ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
200 push( @dats, undef ) ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
201 }
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
202 else {
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
203 if (!defined $som->valueof('//info')) {
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
204 carp "\t\t WARN: The query Id is undef, and MassBank won't find any record\n" ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
205 }
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
206 elsif ($som->valueof('//info') ne '') { # avoid to fill array with false id returning '' value
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
207 @dats = $som->valueof('//info');
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
208 }
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
209 else {
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
210 carp "\t\t WARN: The query Id is false, MassBank don't find any record\n" ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
211 }
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
212 }
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
213 }
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
214 else {
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
215 carp "The som return (from the getRecordInfo method) isn't defined\n" ; }
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
216 }
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
217 else { carp "Query MZs list is empty, MassBank soap will stop\n" ; }
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
218 }
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
219 else { carp "Query MZs list is undef, MassBank soap will stop\n" ; }
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
220
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
221 return(\@dats) ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
222 }
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
223
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
224
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
225
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
226
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
227 ### END of SUB
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
228
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
229 =head2 METHOD initRecordObject
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
230
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
231 ## Description : init a massbank record object from a string
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
232 ## Input : $string
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
233 ## Output : $orecord
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
234 ## Usage : my ( $orecord ) = initRecordObject ( $string ) ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
235
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
236 =cut
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
237 ## START of SUB
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
238 sub initRecordObject {
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
239 ## Retrieve Values
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
240 my $self = shift ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
241 my ( $string ) = @_;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
242 my ( %orecord ) = ( () ) ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
243
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
244 if (defined $string) {
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
245 my $pkcheck = 0 ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
246 my (@mzs, @int, @relint) = ( (), (), () ) ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
247 my @features = split(/\n/, $string) ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
248
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
249 foreach (@features) {
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
250 ## for all key:value
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
251 ## todo : known issue with "COMMENT" part (wrong split)
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
252 if ($_ =~ /(.+):(.+)/) {
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
253 my ($key, $string) = ($1, $2 );
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
254 $string =~ s/^\s+|\s+$//g;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
255 $orecord{$key} = $string ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
256 if ($key =~/^PK\$PEAK/) {
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
257 $pkcheck = 1 ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
258 (@mzs, @int, @relint) = ( (), (), () ) ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
259 }
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
260 }
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
261 elsif ($pkcheck == 1) {
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
262 ## case 01 : m/z int. rel.int.
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
263 if ($_ =~ /\s+(.+)\s+(.+)\s+(.+)/) {
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
264 push (@mzs, $1) ; push (@int, $2) ; push (@relint, $3) ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
265 }
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
266 }
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
267 }
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
268 ## init mzs, int and relint
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
269 my %tmp = () ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
270 $tmp{'mz'} = \@mzs ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
271 $tmp{'int'} = \@int ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
272 $tmp{'relint'} = \@relint ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
273 $orecord{'PK$PEAK'} = \%tmp ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
274 }
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
275 else {
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
276 warn "The given massbank string is undef\n" ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
277 }
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
278
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
279 return (\%orecord) ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
280 }
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
281 ### END of SUB
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
282
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
283 =head2 METHOD getRecordInfoId
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
284
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
285 ## Description : get the Id value in the massbank info string
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
286 ## Input : $orecord
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
287 ## Output : $orecord
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
288 ## Usage : my ( $orecord ) = getRecordInfoId ( $record ) ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
289
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
290 =cut
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
291 ## START of SUB
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
292 sub getRecordInfoId {
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
293 ## Retrieve Values
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
294 my $self = shift ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
295 my ( $orecord ) = @_;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
296
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
297 my $id = undef ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
298 if ($orecord->{'ACCESSION'}) { $id = $orecord->{'ACCESSION'} ; }
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
299 else { $id = 'NA' ; }
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
300 return (\$id) ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
301 }
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
302 ### END of SUB
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
303
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
304
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
305
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
306
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
307
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
308 =head2 METHOD getPeakFromId
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
309
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
310 ## Description : Get the peak data of MassBank records specified by Record IDs.
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
311 ## Input : $ids
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
312 ## Ouput :
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
313 ## Usage : my ($pks) = getPeak($soap, $ids) ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
314
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
315 =cut
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
316
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
317 sub getPeak() {
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
318 ## Retrieve Values
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
319 my $self = shift ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
320 my ($osoap, $ids) = @_;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
321 my (@dat, @ids, @dats) = ( (), () );
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
322 @ids = @{$ids} ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
323
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
324 foreach my $id ( @ids ) {
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
325 push(@dat, SOAP::Data -> name('ids' => $id));
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
326 }
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
327
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
328 my $data = SOAP::Data -> value(@dat);
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
329 my $som = $osoap -> getPeak($data) ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
330
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
331 ## DETECTING A SOAP FAULT OR NOT
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
332 if ($som->fault) { @dats = $som->faultdetail ; }
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
333 else { @dats = $som->valueof('//return') ; }
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
334
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
335 # print Dumper $som->valueof('//return') ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
336 return(\@dats) ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
337 }
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
338
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
339 =head2 METHOD searchSpectrum
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
340
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
341 ## Description : Get the response equivalent to the "Spectrum Search" results.
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
342 ## Input : $osoap, $pcgroup_id, $mzs, $intensities, $ion, $instruments, $max, $unit, $tol, $cutoff
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
343 ## Ouput : $spectra, $numspectra
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
344 ## Usage : ($spectra, $numspectra) = searchSpectrum($osoap, $mzs, $intensities, $ion, $instruments, $max, $unit, $tol, $cutoff) ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
345
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
346 =cut
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
347
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
348 sub searchSpectrum() {
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
349 ## Retrieve Values
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
350 my $self = shift ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
351 my ($osoap, $pcgroup_id , $mzs, $intensities, $ion, $instruments, $max, $unit, $tol, $cutoff) = @_;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
352
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
353 # init in case :
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
354 $ion = 'both' if ( !defined $ion ) ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
355 $instruments = ['all'] if ( !defined $instruments ) ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
356 $max = 0 if ( !defined $max ) ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
357 $unit = 'unit' if ( !defined $unit ) ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
358 $cutoff = 5 if ( !defined $cutoff ) ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
359 if ( !defined $tol ) {
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
360 if ( $unit eq 'unit' ) { $tol = 0.3 ; }
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
361 else { $tol = 50 ; }
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
362 }
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
363
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
364 my @dats = () ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
365 my %ret = (); # %ret = {'res' => [], 'num_res' => int, 'pcgroup_id'=> int }
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
366 my $numdats = 0 ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
367
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
368 if ( defined $mzs ) {
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
369 my $nb_mzs = scalar (@{$mzs}) ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
370
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
371 if ( $nb_mzs > 0 ) {
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
372
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
373 my @mzs = @{$mzs} ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
374 my @ints = @{$intensities} ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
375 my ( @dat1, @dat2 ) = ( (), () ) ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
376 my $i = 0 ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
377
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
378 foreach my $mz (@mzs) {
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
379 push(@dat1, SOAP::Data -> name('mzs' => $mz) );
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
380 push(@dat2, SOAP::Data -> name('intensities' => $ints[$i]) );
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
381 $i++ ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
382 }
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
383
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
384 push(@dat2, SOAP::Data -> name('unit' => $unit) ) ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
385 push(@dat2, SOAP::Data -> name('tolerance' => $tol) ) ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
386 push(@dat2, SOAP::Data -> name('cutoff' => $cutoff) ) ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
387
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
388 foreach my $ins ( @{$instruments} ) {
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
389 push(@dat2, SOAP::Data -> name('instrumentTypes' => $ins));
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
390 }
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
391 push(@dat2, SOAP::Data -> name('ionMode' => $ion));
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
392 push(@dat2, SOAP::Data -> name('maxNumResults' => $max));
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
393
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
394 my $data = SOAP::Data -> value(@dat1, @dat2);
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
395 my $som = $osoap -> searchSpectrum($data);
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
396
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
397 ## DETECTING A SOAP FAULT OR NOT
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
398 if ( $som ) {
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
399 if ($som->fault) {
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
400 $ret{'fault'} = $som->faultstring; $ret{'num_res'} = -1 ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
401 }
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
402 else {
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
403 # print Dumper $som ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
404 @dats = $som->valueof('//results/[>0]');
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
405 $numdats = $som->valueof('//numResults') ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
406 my $i ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
407 my @res = () ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
408
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
409 if (!defined $numdats) { $numdats = 0 ; }
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
410 ## For results
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
411 if ($numdats > 0) {
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
412 ## insert nb of res
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
413 $ret{ 'num_res'} = $numdats ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
414 $ret{ 'pcgroup_id'} = $pcgroup_id ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
415
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
416 ## manage mapping for spectral features
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
417
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
418 # print Dumper @dats ; ## Bug with order depending of spectra source :
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
419
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
420 for ( $i = 0; $i < $numdats; $i ++ ) {
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
421 my ($exactMass, $formula, $id, $score, $title) = @dats[($i * 5) .. ($i * 5 + 4)];
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
422
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
423 ## manage issue from massbank like ID MSJ00002 and formula == 1 FROM WS
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
424 if ($formula eq '1') {
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
425 # print "-------> WS sent mixed value for $id (EM:$exactMass, F:$formula, ID:$id, SC:$score, TI:$title)\n" ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
426 my (%val) = ('id', $title, 'title', $id, 'formula', $exactMass, 'exactMass', 'NA', 'score', $score);
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
427 push(@res, { %val });
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
428 }
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
429 else {
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
430 my (%val) = ('id', $id, 'title', $title, 'formula', $formula, 'exactMass', $exactMass, 'score', $score);
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
431 push(@res, { %val });
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
432 }
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
433 }
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
434
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
435 ## order res by score
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
436 my @sorted = sort { $a->{score} <=> $b->{score} } @res;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
437
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
438 $ret{'res'} = \@sorted;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
439 }
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
440 ## for no results for the query
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
441 else {
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
442 $ret{ 'num_res'} = $numdats ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
443 $ret{ 'pcgroup_id'} = $pcgroup_id ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
444 my (%val) = ('id', undef, 'title', undef, 'formula', undef, 'exactMass', undef, 'score', undef);
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
445 push(@res, { %val });
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
446 $ret{'res'} = \@res;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
447 }
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
448 }
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
449 }
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
450 else {
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
451 carp "The som return (from the searchSpectrum method) isn't defined\n" ; }
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
452 }
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
453 else { carp "Query MZs list is empty, MassBank soap will stop\n" ; }
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
454 }
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
455 else { carp "Query MZs list is undef, MassBank soap will stop\n" ; }
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
456 # print Dumper @ret ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
457 return(\%ret, $numdats) ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
458 }
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
459 ### END of SUB
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
460
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
461
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
462
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
463
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
464 #=head2 METHOD new
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
465 #
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
466 # ## Description : new
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
467 # ## Input : $self
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
468 # ## Ouput : bless $self ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
469 # ## Usage : new() ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
470 #
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
471 #=cut
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
472 #
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
473 #sub searchPeak() { local($soap, $mz, $max, $ion, $rel, $inst, $tol) = @_;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
474 # $ion = 'both' if ( $ion eq '' );
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
475 # $rel += 0;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
476 # $max += 0;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
477 # local(@inst) = @$inst;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
478 # @inst = ('all') if ( scalar(@inst) == 0 );
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
479 # $tol = 0.3 if ( $tol eq '' );
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
480 # local(@mz) = @$mz;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
481 # local(@dat) = ();
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
482 # local($mzv);
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
483 # foreach $mzv ( @mz ) {
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
484 # push(@dat, SOAP::Data -> name('mzs' => $mzv));
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
485 # }
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
486 # push(@dat, SOAP::Data -> name('relativeIntensity' => $rel));
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
487 # push(@dat, SOAP::Data -> name('tolerance' => $tol));
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
488 # local($ins);
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
489 # foreach $ins ( @inst ) {
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
490 # push(@dat, SOAP::Data -> name('instrumentTypes' => $ins));
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
491 # }
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
492 # push(@dat, SOAP::Data -> name('ionMode' => $ion));
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
493 # push(@dat, SOAP::Data -> name('maxNumResults' => $max));
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
494 # local($data) = SOAP::Data -> value(@dat);
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
495 # local($som) = $soap -> searchPeak($data);
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
496 # local($num) = $som -> valueof('/Envelope/Body/[1]/[>0]/numResults');
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
497 # local(@res) = $som -> valueof('/Envelope/Body/[1]/[>0]/results/[>0]');
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
498 # local($i);
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
499 # local(@ret) = ();
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
500 # for ( $i = 0; $i < $num; $i ++ ) {
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
501 # local($mw, $form, $id, $score, $title) = @res[($i * 5) .. ($i * 5 + 4)];
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
502 # local(%val) = ('id', $id, 'title', $title, 'formula', $form, 'exactMass', $mw);
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
503 # push(@ret, { %val });
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
504 # }
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
505 # return @ret;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
506 #}
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
507 #
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
508 #=head2 METHOD new
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
509 #
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
510 # ## Description : new
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
511 # ## Input : $self
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
512 # ## Ouput : bless $self ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
513 # ## Usage : new() ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
514 #
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
515 #=cut
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
516 #
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
517 #sub searchPeakDiff() { local($soap, $mz, $max, $ion, $rel, $inst, $tol) = @_;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
518 # $ion = 'both' if ( $ion eq '' );
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
519 # $rel += 0;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
520 # $max += 0;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
521 # local(@inst) = @$inst;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
522 # @inst = ('all') if ( scalar(@inst) == 0 );
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
523 # $tol = 0.3 if ( $tol eq '' );
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
524 # local(@mz) = @$mz;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
525 # local(@dat) = ();
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
526 # local($mzv);
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
527 # foreach $mzv ( @mz ) {
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
528 # push(@dat, SOAP::Data -> name('mzs' => $mzv));
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
529 # }
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
530 # push(@dat, SOAP::Data -> name('relativeIntensity' => $rel));
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
531 # push(@dat, SOAP::Data -> name('tolerance' => $tol));
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
532 # local($ins);
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
533 # foreach $ins ( @inst ) {
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
534 # push(@dat, SOAP::Data -> name('instrumentTypes' => $ins));
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
535 # }
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
536 # push(@dat, SOAP::Data -> name('ionMode' => $ion));
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
537 # push(@dat, SOAP::Data -> name('maxNumResults' => $max));
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
538 # local($data) = SOAP::Data -> value(@dat);
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
539 # local($som) = $soap -> searchPeakDiff($data);
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
540 # local($num) = $som -> valueof('/Envelope/Body/[1]/[>0]/numResults');
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
541 # local(@res) = $som -> valueof('/Envelope/Body/[1]/[>0]/results/[>0]');
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
542 # local($i);
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
543 # local(@ret) = ();
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
544 # for ( $i = 0; $i < $num; $i ++ ) {
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
545 # local($mw, $form, $id, $score, $title) = @res[($i * 5) .. ($i * 5 + 4)];
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
546 # local(%val) = ('id', $id, 'title', $title, 'formula', $form, 'exactMass', $mw);
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
547 # push(@ret, { %val });
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
548 # }
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
549 # return @ret;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
550 #}
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
551 #
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
552 #=head2 METHOD new
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
553 #
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
554 # ## Description : new
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
555 # ## Input : $self
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
556 # ## Ouput : bless $self ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
557 # ## Usage : new() ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
558 #
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
559 #=cut
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
560 #
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
561 #sub execBatchJob() { local($soap, $spectra, $ion, $inst, $mail) = @_;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
562 # $ion = 'both' if ( $ion eq '' );
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
563 # local(@inst) = @$inst;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
564 # @inst = ('all') if ( scalar(@inst) == 0 );
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
565 # local(%spectra) = %$spectra;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
566 # local($name);
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
567 # local(@query) = ();
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
568 # foreach $name ( keys %spectra ) {
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
569 # local(@q) = ("Name:$name");
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
570 # local(%peak) = %{$spectra{$name}};
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
571 # local($mz, $inte);
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
572 # foreach $mz ( keys %peak ) {
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
573 # $inte = $peak{$mz};
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
574 # push(@q, "$mz,$inte");
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
575 # }
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
576 # push(@query, join(';', @q));
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
577 # }
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
578 # local(@dat) = ();
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
579 # local($q);
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
580 # push(@dat, SOAP::Data -> name('type' => 1));
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
581 # push(@dat, SOAP::Data -> name('mailAddress' => $mail));
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
582 # foreach $q ( @query ) {
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
583 # push(@dat, SOAP::Data -> name('queryStrings' => $q));
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
584 # }
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
585 # local($ins);
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
586 # foreach $ins ( @inst ) {
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
587 # push(@dat, SOAP::Data -> name('instrumentTypes' => $ins));
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
588 # }
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
589 # push(@dat, SOAP::Data -> name('ionMode' => $ion));
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
590 # local($data) = SOAP::Data -> value(@dat);
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
591 # local($som) = $soap -> execBatchJob($data);
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
592 # local($res) = $som -> valueof('/Envelope/Body/[1]');
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
593 # return ${$res}{'return'};
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
594 #}
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
595 #
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
596 #=head2 METHOD new
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
597 #
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
598 # ## Description : new
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
599 # ## Input : $self
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
600 # ## Ouput : bless $self ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
601 # ## Usage : new() ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
602 #
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
603 #=cut
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
604 #
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
605 #sub getJobStatus() { local($soap, $job) = @_;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
606 # local(@dat) = ();
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
607 # push(@dat, SOAP::Data -> name('jobId' => $job));
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
608 # local($data) = SOAP::Data -> value(@dat);
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
609 # local($som) = $soap -> getJobStatus($data);
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
610 # local($res) = $som -> valueof('/Envelope/Body/[1]/[1]');
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
611 # local(%res) = %{$res};
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
612 # local($status) = $res{'status'};
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
613 # local($code) = $res{'statusCode'};
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
614 # local($date) = $res{'requestDate'};
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
615 # return ($status, $code, $date);
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
616 #}
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
617 #
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
618 #=head2 METHOD new
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
619 #
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
620 # ## Description : new
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
621 # ## Input : $self
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
622 # ## Ouput : bless $self ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
623 # ## Usage : new() ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
624 #
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
625 #=cut
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
626 #
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
627 #sub getJobResult() { local($soap, $job) = @_;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
628 # local(@dat) = ();
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
629 # push(@dat, SOAP::Data -> name('jobId' => $job));
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
630 # local($data) = SOAP::Data -> value(@dat);
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
631 # local($som) = $soap -> getJobResult($data);
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
632 # local(@res) = $som -> valueof('/Envelope/Body/[1]/[>0]');
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
633 # local($n) = scalar(@res);
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
634 # local(@ret) = ();
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
635 # local($i);
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
636 # for ( $i = 0; $i < $n; $i ++ ) {
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
637 # local(%res) = %{$res[$i]};
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
638 # local(@res1) = $som -> valueof('/Envelope/Body/[1]/['.($i+1).']/results/[>0]');
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
639 # local(%ret) = ();
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
640 # local($qname) = $res{'queryName'};
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
641 # $ret{'qname'} = $qname;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
642 # local($num) = $res{'numResults'};
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
643 # $ret{'num'} = $num;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
644 # local(@ret1) = ();
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
645 # local($j);
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
646 # for ( $j = 0; $j < $num; $j ++ ) {
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
647 # local($mw, $form, $id, $score, $title) = @res1[($j * 5) .. ($j * 5 + 4)];
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
648 # local(%val) = ('id', $id, 'title', $title, 'formula', $form, 'exactMass', $mw, 'score', $score);
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
649 # push(@ret1, { %val });
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
650 # }
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
651 # $ret{'list'} = [ @ret1 ];
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
652 # push(@ret, { %ret });
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
653 # }
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
654 # return @ret;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
655 #}
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
656
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
657
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
658 1 ;
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
659
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
660
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
661 __END__
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
662
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
663 =head1 SUPPORT
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
664
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
665 You can find documentation for this module with the perldoc command.
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
666
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
667 perldoc massbank_api.pm
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
668
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
669 =head1 Exports
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
670
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
671 =over 4
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
672
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
673 =item :ALL is ...
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
674
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
675 =back
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
676
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
677 =head1 AUTHOR
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
678
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
679 Franck Giacomoni E<lt>franck.giacomoni@clermont.inra.frE<gt> and marion Landi E<lt>marion.landi@clermont.inra.frE<gt>
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
680
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
681 =head1 LICENSE
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
682
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
683 This script is fully inspired by MassBank SOAP API Client Package Ver-2.0 with :
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
684 Author: Hisayuki Horail (MassBank Group, IAB, Keio U. and JST-BIRD)
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
685 Home page: http://www.massbank.jp/
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
686 Date: 25 May 2010
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
687 This software is licensed
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
688 under a Creative Commons Attribution License 2.1 Japan License (CC-BY)
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
689 (http://creativecommons.org/licensesby/2.1/jp/).
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
690
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
691 This new version of this program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
692
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
693 =head1 VERSION
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
694
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
695 version 1 : 25 / 05 / 2010
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
696
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
697 version 2 : 04 / 06 / 2015
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
698
023c380900ef Init repository with last massbank_ws_searchspectrum master version
fgiacomoni
parents:
diff changeset
699 =cut