annotate bank_inhouse.pl @ 1:52798007c6b2 draft default tip

Master branch Updating - - Fxx
author fgiacomoni
date Thu, 24 Jan 2019 10:02:05 -0500
parents be582bcd6585
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
1 #!perl
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
2
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
3 ## script : bank_inhouse.pl
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
4 #=============================================================================
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
5 # Included modules and versions
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
6 #=============================================================================
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
7 ## Perl modules
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
8 use strict ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
9 use warnings ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
10 use Carp qw (cluck croak carp) ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
11
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
12 use Data::Dumper ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
13 use Getopt::Long ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
14 use POSIX ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
15 use List::Util qw( min max );
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
16 use FindBin ; ## Allows you to locate the directory of original perl script
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
17
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
18 ## Specific Modules
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
19 use lib $FindBin::Bin ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
20 my $binPath = $FindBin::Bin ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
21 use lib::bih qw( :ALL ) ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
22
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
23 ## PFEM Perl Modules
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
24 use lib::conf qw( :ALL ) ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
25 use lib::csv qw( :ALL ) ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
26
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
27 ## Initialized values
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
28 my ( $help ) = ( undef ) ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
29 my ( $mass ) = ( undef ) ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
30 my ( $masses_file, $nbline_header, $col_mass ) = ( undef, undef, undef ) ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
31 my ( $col_rt, $manual_rt, $rt_delta, $mz_delta_type, $mz_delta, $rtdb ) = ( undef, undef, undef, undef, undef, undef ) ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
32 my ( $mode, $tissues, $bank_in, $bank_name, $col_mzdb) = ( undef, undef, undef, undef, undef ) ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
33 my ( $out_tab, $out_html, $out_xls, $out_json, $out_full ) = ( undef, undef, undef, undef, undef ) ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
34 my ($rest_mode) = ('no') ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
35
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
36 my ( $verbose ) = ( 2 ) ; ## verbose level is 3 for debugg
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
37
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
38 #=============================================================================
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
39 # Manage EXCEPTIONS
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
40 #=============================================================================
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
41
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
42 &GetOptions ( "h" => \$help, # HELP
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
43 "masse:s" => \$mass, ## option : one masse
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
44 "input:s" => \$masses_file, ## option : path to the input
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
45 "rest:s" => \$rest_mode, ## option : allow uses of peakforest rest service
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
46 "nbheader:i" => \$nbline_header, ## numbre of header line present in file
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
47 "colrt:i" => \$col_rt, ## Column retention time for retrieve formula/masses list in tabular file
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
48 "rt:s" => \$manual_rt, ## Retention time for manual masses list
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
49 "rt_delta:f" => \$rt_delta, ## Delta for retention time
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
50 "colmass:i" => \$col_mass, ## Column id for retrieve formula list in tabular file
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
51 "mz_delta:s" => \$mz_delta_type, ## Delta type for masses
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
52 "mass_delta:f" => \$mz_delta, ## Delta for masses
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
53 "mode:s" => \$mode, ## Molecular species (positive/negative/neutral)
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
54 "tissues:s" => \$tissues, ## Restricted to certain characterization and localization (blood/plasma/urine/peptide)
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
55 "bank_in:s" => \$bank_in, ## option : path to a personal data bank
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
56 "bank_name:s" => \$bank_name, ## option : name of the bank
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
57 "mzdb:i" => \$col_mzdb, ## Column number in which is the masses of the personal data bank
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
58 "rtdb:i" => \$rtdb, ## Column number in which is the retention time of the personal data bank
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
59 "outputJson:s" => \$out_json, ## option : path to the ouput (results)
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
60 "outputXls:s" => \$out_xls, ## option : path to the ouput (tabular : results )
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
61 "outputTab:s" => \$out_tab, ## path to the ouput (tabular : input+results (1 col) )
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
62 "outputView:s" => \$out_html, ## option : path to the results view (output2)
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
63 "outputFull:s" => \$out_full, ## path to the ouput (tabular : input+results (x col) )
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
64 ) ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
65
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
66 #=============================================================================
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
67 # EXCEPTIONS
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
68 #=============================================================================
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
69 ## if you put the option -help or -h function help is started
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
70 if ( defined $help ) { &help() ; }
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
71
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
72 #=============================================================================
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
73 # MAIN SCRIPT
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
74 #=============================================================================
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
75
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
76
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
77 print "The bank_inhouse program is launched as:\n";
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
78 print "./bank_inhouse.pl " ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
79 print "--h " if (defined $help) ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
80 print "--masse $mass " if (defined $mass) ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
81 print "--input $masses_file " if (defined $masses_file) ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
82 print "--rest $rest_mode " if (defined $rest_mode) ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
83 print "--nbheader $nbline_header " if (defined $nbline_header) ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
84 print "--colrt $col_rt " if (defined $col_rt) ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
85 print "--rt $manual_rt " if (defined $manual_rt) ;
1
52798007c6b2 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
86 print "--rt_delta $rt_delta " if (defined $rt_delta) ;
0
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
87 print "--colmass $col_mass " if (defined $col_mass) ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
88 print "--mz_delta $mz_delta_type " if (defined $mz_delta_type) ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
89 print "--mass_delta $mz_delta " if (defined $mz_delta) ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
90 print "--mode $mode " if (defined $mode) ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
91 print "--tissues $tissues " if (defined $tissues) ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
92 print "--bank_in $bank_in " if (defined $bank_in) ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
93 print "--bank_name $bank_name " if (defined $bank_name) ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
94 print "--mzdb $col_mzdb " if (defined $col_mzdb) ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
95 print "--rtdb $rtdb " if (defined $rtdb) ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
96 print "--outputJson $out_json " if (defined $out_json) ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
97 print "--outputXls $out_xls " if (defined $out_xls) ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
98 print "--outputTab $out_tab " if (defined $out_tab) ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
99 print "--outputView $out_html " if (defined $out_html) ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
100 print "--outputFull $out_full " if (defined $out_full) ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
101 print "\n" ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
102
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
103
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
104
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
105 ## -------------- Conf file ------------------------ :
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
106 my ( $CONF, $PF_CONF ) = ( undef, undef ) ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
107 foreach my $conf ( <$binPath/*.cfg> ) {
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
108 my $oConf = lib::conf::new() ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
109 $CONF = $oConf->as_conf($conf) ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
110 }
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
111
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
112 ## PForest dedicated conf
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
113 if ((defined $rest_mode ) and ( $rest_mode eq "yes" )) {
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
114 foreach my $ini ( <$binPath/*.ini> ) {
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
115 my $oConf = lib::conf::new() ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
116 $PF_CONF = $oConf->as_conf($ini) ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
117 }
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
118 }
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
119
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
120 ## --------------- Global parameters ---------------- :
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
121 my ( $masses, $rt, $results, $header_choice ) = ( undef, undef, undef, undef, undef ) ; ##############
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
122 my ( $complete_rows, $nb_pages_for_html_out ) = ( undef, 1 ) ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
123
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
124 my $oBih = lib::bih::new() ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
125
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
126 ## --------------- retrieve input data -------------- :
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
127
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
128 ## manage manual mass(es)
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
129 if ( ( defined $mass ) and ( $mass ne "" ) ) {
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
130 $mass =~ tr/,/./ ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
131 @$masses = split(' ', $mass);
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
132 if ( ( defined $manual_rt ) and ( $manual_rt ne "" ) ) {
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
133 $manual_rt =~ tr/,/./ ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
134 @$rt = split(' ', $manual_rt) ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
135 if ( $#$rt != $#$masses) { croak "You have not given the same number of masses and retention time\n" ; }
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
136 }
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
137 } ## END IF
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
138
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
139 ## manage csv file containing list of masses
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
140 elsif ( ( defined $masses_file ) and ( $masses_file ne "" ) and ( -e $masses_file ) ) {
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
141 ## parse all csv for later : output csv build
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
142 my $ocsv_input = lib::csv->new() ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
143 my $complete_csv = $ocsv_input->get_csv_object( "\t" ) ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
144 $complete_rows = $ocsv_input->parse_csv_object($complete_csv, \$masses_file) ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
145
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
146 ## parse csv ids and masses
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
147 my $ocsv = lib::csv->new() ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
148 my $csv = $ocsv->get_csv_object( "\t" ) ;
1
52798007c6b2 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
149
52798007c6b2 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
150 if ( ( defined $nbline_header ) and ( $nbline_header > 0 ) ) { $header_choice = 'yes' ; }
52798007c6b2 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
151 else{ $header_choice = 'no' ; }
52798007c6b2 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
152
52798007c6b2 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
153 ## retrieve mz values on csv
52798007c6b2 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
154 $masses = $ocsv->get_value_from_csv_multi_header( $csv, $masses_file, $col_mass, $header_choice, $nbline_header ) ;
52798007c6b2 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
155
52798007c6b2 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
156 ## retrieve rt values on csv
0
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
157 if ( ( defined $col_rt ) and ( $col_rt ne "" ) ) {
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
158 $rt = $ocsv->get_value_from_csv_multi_header( $csv, $masses_file, $col_rt, $header_choice, $nbline_header ) ; ## retrieve rt values on csv
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
159 }
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
160 }
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
161
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
162 # --------------- retrieve personal data bank input -------------- :
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
163
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
164 my ($complete_bank, $bank_head) = (undef, undef) ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
165
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
166 ## check up $bank_in and parse
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
167 if ( ( defined $bank_in ) and ( $bank_in ne '' ) and ( -e $bank_in ) and ( defined $col_mzdb ) and ( $col_mzdb ne '' ) ) {
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
168 ## parse csv bank_in
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
169 my $ocsv_input = lib::csv->new() ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
170 my $complete_csv = $ocsv_input->get_csv_object( "\t" ) ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
171 ($complete_bank, $bank_head)= $oBih->parse_bank_interest($complete_csv, \$bank_in, $col_mzdb-1) ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
172 }
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
173 ## manage rest service of PeakForest and set $masses and $rt with given databases
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
174 elsif ( ( defined $rest_mode ) and ( $rest_mode eq "yes" ) ) {
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
175 $bank_name = "PeakForest";
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
176 if ( ( $PF_CONF->{PF_GLOBAL_TOKEN} ne "" ) and ( $PF_CONF->{PF_WS_URL} ne "" ) ) {
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
177 ## init
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
178 my $opfws = lib::bih::new() ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
179 ## get min and max values of user query
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
180 my ($min, $max) = (0, 0) ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
181
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
182 if ( ( defined $masses ) and ( scalar (@{$masses}) > 0 ) ) {
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
183 $min = min @{$masses} ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
184 $max = max @{$masses} ;
1
52798007c6b2 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
185
0
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
186 my ( $min_delta, undef ) = $opfws->mz_delta_conversion(\$min, \$mz_delta_type, \$mz_delta) ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
187 my ( undef, $max_delta ) = $opfws->mz_delta_conversion(\$max, \$mz_delta_type, \$mz_delta) ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
188
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
189 ## get clean range database json from PForest WS :
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
190 my $pf_json = $opfws->db_pforest_get_clean_range($PF_CONF->{PF_WS_URL}, $PF_CONF->{PF_REST_QUERY_CLEAN_RANGE}, $$min_delta, $$max_delta, $mode) ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
191 if (defined $pf_json) {
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
192 ($complete_bank, $bank_head) = $opfws->map_pfjson_bankobject($pf_json) ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
193 }
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
194 } ## End IF
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
195 else {
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
196 croak "Fatal error : your mass list is empty\n" ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
197 }
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
198 } ## End IF PForest param
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
199 else { croak "Can't work : missing a PForest REST paramater\n" ; }
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
200 } ## End ELSIF PForest
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
201 elsif ( ( defined $CONF->{'INHOUSE_BANK'} ) and ( $CONF->{'INHOUSE_BANK'} ne '' ) ) {
1
52798007c6b2 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
202
52798007c6b2 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
203 $col_mzdb = $CONF->{'INHOUSE_BANK_MZ_COLUMN'} ;
52798007c6b2 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
204 $bank_name = $CONF->{'INHOUSE_BANK_NAME'} ;
52798007c6b2 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
205 my $html_file = $binPath.'/'.$CONF->{'INHOUSE_BANK'} ;
52798007c6b2 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
206
0
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
207 if ( (defined $col_rt) or (defined $manual_rt) or (defined $rt_delta) ) { croak "No retention time in the internal bank, please use your own bank\n" ; }
1
52798007c6b2 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
208
0
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
209 if ( -e $html_file ) {
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
210 ## parse all csv for later : output csv build
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
211 my $ocsv_input = lib::csv->new() ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
212 my $complete_csv = $ocsv_input->get_csv_object( "\t" ) ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
213 ($complete_bank, $bank_head)= $oBih->parse_bank_interest($complete_csv, \$html_file, $col_mzdb-1) ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
214 }
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
215 else { croak "Can't work : no local inhouse bank name '$html_file'\n" ; }
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
216 }
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
217 else { croak "Can't work : missing an inhouse bank\n" ; }
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
218
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
219 ## ---------------- launch queries -------------------- :
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
220
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
221 my $ionization = undef ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
222 my $characterization = undef ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
223 my $valH = undef ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
224 my $bank = undef ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
225 my $search_condition = undef ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
226
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
227 #($valH, $ionization)= $oBih->manage_mode($mode, $CONF->{'PROTON_MZ'}, $CONF->{'ELECTRON_MZ'}) ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
228
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
229 ######### Manage Tissues ##############################################################################
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
230 #if ( ( !defined $tissues ) or ( $tissues eq '' ) or ( $tissues eq 'none' ) ) {
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
231 # $characterization = ['None'];
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
232 #} else { @{$characterization} = split(",", $tissues); }
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
233 ######### End #########################################################################################
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
234
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
235 #if ( (@$ionization = (['None'])) and (@$characterization = (['None']))) { $bank = $complete_bank; }
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
236 #else { $bank = FILTER LA BANK; }
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
237 $bank = $complete_bank;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
238 $valH = 0 ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
239
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
240 #if ( ( defined $mz_delta ) and ( $mz_delta > 0 ) and ( defined $ionization ) and ( defined $characterization ) and ( defined $masses ) and ( defined $ids ) and ( defined $bank ) ) {
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
241 # $search_condition = "Search params : Molecular specie = $mode / delta = $mz_delta / characterization and localization = $tissues \n bank file = $bank_in" ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
242
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
243 if ( ( defined $mz_delta ) and ( $mz_delta >= 0 ) and ( defined $masses ) and ( defined $bank ) ) {
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
244 ## prepare masses list and execute query
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
245 $results = [] ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
246 if ($mz_delta != 0){
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
247 my @sort_masses_bank = sort { $a <=> $b } keys(%$bank);
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
248
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
249 my $compt_masses = 0;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
250 foreach my $mz (@$masses) {
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
251 $compt_masses++;
1
52798007c6b2 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
252 my ($MZmessage) = $oBih->check_interval($mz, $CONF->{'BANK_MZ_MIN'}, $CONF->{'BANK_MZ_MAX'}) ;
0
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
253 if ( $MZmessage eq 'OK' ){
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
254 my ( $min, $max ) = $oBih->mz_delta_conversion(\$mz, \$mz_delta_type, \$mz_delta) ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
255
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
256 my ($marj_inf) = $oBih->dichotomi_search(\@sort_masses_bank, $min) ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
257 my ($marj_sup) = $oBih->dichotomi_search(\@sort_masses_bank, $max) ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
258
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
259 my $result = [];
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
260 if($$marj_inf != $$marj_sup){
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
261 if ($$marj_inf == -1){ $$marj_inf=0; }
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
262 for (my $i=$$marj_inf; $i<$$marj_sup; $i++){
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
263 my $bank_tmp = $$bank{$sort_masses_bank[$i]};
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
264 if ( ( defined $rt ) and ( $rt ne "" ) ) {
1
52798007c6b2 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
265 my ($RTmessage) = $oBih->check_interval($$rt[$compt_masses-1], $CONF->{'BANK_RT_MIN'}, $CONF->{'BANK_RT_MAX'}) ;
0
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
266 if ( $RTmessage eq 'OK' ){
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
267 my $bank_rt = [];
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
268 for(my $nb_rt=0; $nb_rt<=$#$bank_tmp; $nb_rt++){
1
52798007c6b2 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
269 my ($RTbank) = $oBih->check_interval($bank_tmp->[$nb_rt]->[$rtdb-1], $CONF->{'BANK_RT_MIN'}, $CONF->{'BANK_RT_MAX'}) ;
0
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
270 my ($RTsearch) = $oBih->check_interval($bank_tmp->[$nb_rt]->[$rtdb-1], $$rt[$compt_masses-1]-$rt_delta, $$rt[$compt_masses-1]+$rt_delta) ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
271 if ( ($RTbank eq 'OK') and ($RTsearch eq 'OK') ){
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
272 push (@$result, $bank_tmp->[$nb_rt]) ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
273 }
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
274 elsif ($RTbank ne 'OK'){ croak "At least one retention time in bank is not valid : $RTbank\n" ; }
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
275 }
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
276 }
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
277 else { croak "The $compt_masses th analyzed retention time : $RTmessage\n" ; }
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
278 }
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
279 else { push (@$result, @$bank_tmp) ; }
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
280 }
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
281 }
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
282 else{ $result = []; }
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
283 push (@$results, [@$result]) ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
284 }
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
285 else { croak "The $compt_masses th value : $MZmessage\n" ; }
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
286 print Dumper $results if ($verbose>2) ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
287 } ## End FOREACH MZ queried
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
288 } ## End IF
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
289 else{
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
290 my $result = [];
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
291 my $compt_masses = 0;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
292 foreach my $mz (@$masses) {
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
293 $compt_masses++;
1
52798007c6b2 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
294 my ($MZmessage) = $oBih->check_interval($mz, $CONF->{'BANK_MZ_MIN'}, $CONF->{'BANK_MZ_MAX'}) ;
0
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
295 if ( $MZmessage eq 'OK' ){
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
296 if ($$bank{$mz}){
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
297 my $bank_tmp = $$bank{$mz};
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
298 if ( ( defined $rt ) and ( $rt ne "" ) ) {
1
52798007c6b2 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
299 my ($RTmessage) = $oBih->check_interval($$rt[$compt_masses-1], $CONF->{'BANK_RT_MIN'}, $CONF->{'BANK_RT_MAX'}) ;
0
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
300 if ( $RTmessage eq 'OK' ){my $bank_rt = [];
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
301 for(my $nb_rt=0; $nb_rt<=$#$bank_tmp; $nb_rt++){
1
52798007c6b2 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
302 my ($RTbank) = $oBih->check_interval($bank_tmp->[$nb_rt]->[$rtdb-1], $CONF->{'BANK_RT_MIN'}, $CONF->{'BANK_RT_MAX'}) ;
0
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
303 my ($RTsearch) = $oBih->check_interval($bank_tmp->[$nb_rt]->[$rtdb-1], $$rt[$compt_masses-1]-$rt_delta, $$rt[$compt_masses-1]+$rt_delta) ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
304 if ( ($RTbank eq 'OK') and ($RTsearch eq 'OK') ){
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
305 push (@$bank_rt, $bank_tmp->[$nb_rt]) ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
306 }
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
307 elsif ($RTbank ne 'OK'){ croak "At least one retention time in bank is not valid : $RTbank\n" ; }
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
308 }
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
309 if ($#$bank_rt>=0){ ## If there is at least one result
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
310 push (@$result, $bank_rt) ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
311 } ## else $bank_rt = [] as defined
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
312 }
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
313 else { croak "The $compt_masses th analyzed retention time : $RTmessage\n" ; }
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
314 }
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
315 else { push (@$result, [$bank_tmp]) ; }
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
316 }
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
317 else { push (@$result, [] ) ; }
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
318 }
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
319 else { croak "The $compt_masses th mass : $MZmessage\n" ; }
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
320 }
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
321 $results = [@$results, @$result] ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
322 }
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
323 }
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
324 else {
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
325 croak "Can't work : missing paramaters (list of ids, masses, delta, ionization, characterization or inhouse_bank)\n" ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
326 } ## end ELSE
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
327
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
328
1
52798007c6b2 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
329 if ( ( defined $rt ) and ( $rt ne "" ) ) { unshift (@$bank_head, ("MzDelta_Query-Bank(".$mz_delta.$mz_delta_type.")", "MzBank", "RtQuery", "RtDelta_Query-Bank(".$rt_delta."min.)", "RtBank")) ; }
52798007c6b2 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
330 else { unshift (@$bank_head, ("MzDelta_Query-Bank(".$mz_delta.$mz_delta_type.")", "MzBank")) ; }
0
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
331
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
332
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
333 ## -------------- Produce JSON output ------------------ :
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
334 if ( ( defined $out_json ) and ( defined $results ) ) {
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
335 open(JSON, '>:utf8', "$out_json") or die "Cant' create the json file\n" ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
336 print JSON Dumper $results;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
337 close(JSON) ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
338 } ## END IF
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
339 else {
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
340 #croak "Can't create a json output for Massbank : no result found or your output file is not defined\n" ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
341 }
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
342
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
343 ## -------------- Produce HTML output ------------------ :
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
344
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
345 #if ( ( defined $out_html ) and ( defined $results ) ) {
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
346 # ## Uses N mz and theirs entries per page (see config file).
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
347 # # how many pages you need with your input mz list?
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
348 # $nb_pages_for_html_out = ceil( scalar(@{$masses} ) / $CONF->{HTML_ENTRIES_PER_PAGE} ) ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
349 #
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
350 # my $oHtml = lib::bih::new() ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
351 # my ($tbody_object) = $oHtml->set_html_tbody_object( $nb_pages_for_html_out, $CONF->{HTML_ENTRIES_PER_PAGE} ) ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
352 # ($tbody_object) = $oHtml->add_mz_to_tbody_object($tbody_object, $CONF->{HTML_ENTRIES_PER_PAGE}, $masses, $ids) ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
353 # ($tbody_object) = $oHtml->add_entries_to_tbody_object($tbody_object, $CONF->{HTML_ENTRIES_PER_PAGE}, $masses, $results) ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
354 # print Dumper $tbody_object;exit;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
355 # my $output_html = $oHtml->write_html_skel(\$out_html, $tbody_object, $nb_pages_for_html_out, $search_condition, $CONF->{'HTML_TEMPLATE'}, $CONF->{'JS_GALAXY_PATH'}, $CONF->{'CSS_GALAXY_PATH'}) ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
356 #
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
357 #} ## END IF
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
358 #else { croak "Can't create a HTML output for HMDB : no result found or your output file is not defined\n" ; }
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
359
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
360 ## -------------- Produce XLS like output ------------------ :
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
361 if ( ( defined $out_xls ) and ( defined $results ) ) {
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
362 my $oxls = lib::bih::new() ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
363 $oxls->write_excel_like_mass($masses, $mz_delta_type, $mz_delta, $col_mzdb, $rt, $rt_delta, $rtdb, $results, $out_xls, $bank_head) ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
364 } ## END IF
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
365 else { croak "Can't create a tabular output for BiH (like xls): no result found or your output file is not defined\n" ; }
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
366
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
367 ## -------------- Produce CSV output ------------------ :
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
368 if (defined $results) {
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
369 if ( defined $masses_file ) { # produce a csv based on METLIN format
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
370 if ( defined $out_tab ) {
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
371 my $sep = "#";
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
372 my $ocsv = lib::bih::new() ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
373 my $lm_matrix = undef ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
374 if ( ( $header_choice eq 'yes' ) and ( defined $nbline_header ) and ( $nbline_header > 0 )) {
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
375 my $header = join("$sep", @$bank_head);
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
376 my $out_head = "BiH_".$bank_name."_(".$header.")";
1
52798007c6b2 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
377 $lm_matrix = $ocsv->set_bih_matrix_object($out_head, $masses, $col_mzdb, $results, $rt, $rtdb, $bank_head, $sep ) ;
52798007c6b2 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
378 $lm_matrix = $ocsv->add_bih_matrix_to_input_matrix($complete_rows, $lm_matrix, $nbline_header-1) ;
0
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
379 }
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
380 elsif ( ( $header_choice eq 'no' ) or ( $nbline_header <= 0 )) {
1
52798007c6b2 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
381 $lm_matrix = $ocsv->set_bih_matrix_object(undef, $masses, $col_mzdb, $results, $rt, $rtdb, $bank_head, $sep ) ;
52798007c6b2 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
382 $lm_matrix = $ocsv->add_bih_matrix_to_input_matrix($complete_rows, $lm_matrix, 0) ;
0
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
383 }
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
384 else { croak "The number of header line is not identifiable\n" ; }
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
385 $ocsv->write_csv_skel(\$out_tab, $lm_matrix) ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
386 }
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
387 else { croak "Can't create a tabular output for BiH : your output file is not defined\n" ; }
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
388 }
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
389 elsif (defined $mass) { } ## no csv output for manual masses
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
390 else { croak "the input format is not identifiable or your output file is not defined\n" ; }
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
391 } ## END IF
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
392 else { croak "Can't create a tabular output for BiH : no result found\n" ; }
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
393
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
394 ## -------------- Produce Full output ------------------ :
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
395 if (defined $results) {
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
396 if ( defined $masses_file ) {
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
397 if ( defined $out_full ) {
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
398 my $sep = "\t";
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
399 my $ofull = lib::bih::new() ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
400 if ( ( $header_choice eq 'yes' ) and ( defined $nbline_header ) and ( $nbline_header > 0 )) {
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
401 $ofull->write_full_excel_like($complete_rows, $sep, $masses, $mz_delta_type, $mz_delta, $col_mzdb, $rt, $rt_delta, $rtdb, $results, $out_full, $nbline_header, $bank_head, "BiH_$bank_name") ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
402 }
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
403 elsif ( ( $header_choice eq 'no' ) or ( $nbline_header <= 0 )) {
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
404 $ofull->write_full_excel_like($complete_rows, $sep, $masses, $mz_delta_type, $mz_delta, $col_mzdb, $rt, $rt_delta, $rtdb, $results, $out_full, 0, undef, undef) ;
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
405 }
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
406 else { croak "The number of header line is not identifiable\n" ; }
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
407 }
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
408 }
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
409 elsif (defined $mass) { } ## no csv output for manual masses
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
410 else { croak "the input format is not identifiable or your output file is not defined\n" ; }
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
411 } ## END IF
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
412 else { croak "Can't create a full output for BiH : no result found\n" ; }
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
413
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
414
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
415 #====================================================================================
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
416 # Help subroutine called with -h option
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
417 # number of arguments : 0
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
418 # Argument(s) :
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
419 # Return : 1
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
420 #====================================================================================
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
421 sub help {
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
422 print STDERR "
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
423 bank_inhouse
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
424
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
425 # bank_inhouse is a script to query a in house bank (file) using chemical mass and return a list of common names.
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
426 # Input : mass or list of masses
1
52798007c6b2 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
427 # Author : Marion LANDI and Franck Giacomoni (as maintainers)
52798007c6b2 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
428 # Email : franck.giacomoni\@inra.fr
52798007c6b2 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
429 # Version : 1.2.1
0
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
430 # Created : 15/10/2014
1
52798007c6b2 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
431 # Updated : 24/01/2019
0
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
432 USAGE :
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
433 bank_inhouse.pl -masse [mass]
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
434 -tolerance [Delta of mass (Da)] -mode [Ionization type: positive/negative/neutral]
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
435 -tissues [Restricted to certain tissues] -- optionnal
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
436 -bank_in [file for in personal house bank] -- optionnal
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
437 -outputTab [output file tabular format] -outputView [output file html format]
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
438 -verbose
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
439 OR
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
440 bank_inhouse.pl -input [path to list of masses file]
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
441 -nbHeader [nb of lines of headers : 0-n] -colId [Ids colunm number in input file] -colmass [masses col] -colrt [RT col]
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
442 -tolerance [Delta of mass (Da)] -mode [molecular type: positive/negative/neutral]
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
443 -bank_in [file for in house bank]
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
444 -tissues [Restricted to certain tissues]
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
445 -outputTab [output file tabular format] -outputView [output file html format]
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
446
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
447 OR
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
448 bank_inhouse.pl -masse [mass]
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
449 -rest [get the PeakForest ref db : yes|no]
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
450 -mz_delta [Delta type for mass (Da or PPM)] -mass_delta [Delta for mass (Da or PPM)] -mode [molecular type: positive/negative/neutral]
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
451 -outputXls [output xls format]
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
452
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
453 Others output formats:
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
454 -outputJson [output json format] -outputFull [output format is input+res]
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
455 ";
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
456 exit(1);
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
457 }
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
458
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
459 ## END of script - M Landi
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
460
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
461 __END__
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
462
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
463 =head1 NAME
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
464
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
465 bank_inhouse.pl -- script for
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
466
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
467 =head1 USAGE
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
468
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
469 bank_inhouse.pl -precursors -arg1 [-arg2]
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
470 or bank_inhouse.pl -help
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
471
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
472 =head1 SYNOPSIS
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
473
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
474 This script manage ...
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
475
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
476 =head1 DESCRIPTION
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
477
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
478 This main program is a ...
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
479
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
480 =over 4
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
481
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
482 =item B<function01>
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
483
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
484 =item B<function02>
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
485
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
486 =back
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
487
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
488 =head1 AUTHOR
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
489
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
490 Marion LANDI E<lt>marion.landi@clermont.inra.frE<gt>
1
52798007c6b2 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
491 Frank Giacomoni E<lt>franck.giacomoni@inra.frE<gt>
0
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
492
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
493 =head1 LICENSE
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
494
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
495 This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
496
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
497 =head1 VERSION
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
498
1
52798007c6b2 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
499 version 1.1.1 : 15 / 10 / 2014
52798007c6b2 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
500
52798007c6b2 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
501 version 1.1.2 : 21 / 11 / 2014
0
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
502
1
52798007c6b2 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
503 version 1.1.3 : 13 / 11 / 2018
52798007c6b2 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
504
52798007c6b2 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
505 version 1.2.0 : 12 / 12 / 2018
52798007c6b2 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
506
52798007c6b2 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
507 version 1.2.1 : 24 / 01 / 2019 - new version with no more rest methods
52798007c6b2 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
508
0
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
509
be582bcd6585 Master branch Updating - - Fxx
fgiacomoni
parents:
diff changeset
510 =cut