comparison lib/golm_ws_api.pm @ 2:11779b6402bc draft

planemo upload for repository https://github.com/workflow4metabolomics/tool-bank-golm-lib_search.git commit a2892b221abe5a68ef271266a36b66894fcf9bde
author fgiacomoni
date Wed, 22 Feb 2017 07:37:36 -0500
parents e3d43b8c987b
children
comparison
equal deleted inserted replaced
1:4dc76dcbd1e7 2:11779b6402bc
198 my $status = $som->result->{Status} ; 198 my $status = $som->result->{Status} ;
199 199
200 ## Limitate number of hits returned according to user's $maxHit 200 ## Limitate number of hits returned according to user's $maxHit
201 ## and filter hits on specific values with thresholds 201 ## and filter hits on specific values with thresholds
202 my @results = @$results ; 202 my @results = @$results ;
203 203
204 ### Return all hits 204 ### Return all hits
205 my $oapi = lib::golm_ws_api->new() ; 205 my $oapi = lib::golm_ws_api->new() ;
206 if ($maxHits == 100 && $status eq 'success') { 206 if ($maxHits == 100 && $status eq 'success') {
207 207
208 my $filtered_res = $oapi->filter_scores_golm_results(\@results,$JaccardDistanceThreshold,$s12GowerLegendreDistanceThreshold, 208 my $filtered_res = $oapi->filter_scores_golm_results(\@results,$JaccardDistanceThreshold,$s12GowerLegendreDistanceThreshold,
233 } 233 }
234 else { carp "The spectrum for query is empty, Golm soap will stop.\n" ; } 234 else { carp "The spectrum for query is empty, Golm soap will stop.\n" ; }
235 } 235 }
236 else { carp "The spectrum for query is undef, Golm soap will stop.\n" ; } 236 else { carp "The spectrum for query is undef, Golm soap will stop.\n" ; }
237 237
238 return \@filtered_limited_res ; 238 # return \@filtered_limited_res ;
239 } 239 }
240 ### END of SUB 240 ### END of SUB
241 241
242 242
243 243
259 $DotproductDistanceThreshold,$HammingDistanceThreshold,$EuclideanDistanceThreshold) = @_ ; 259 $DotproductDistanceThreshold,$HammingDistanceThreshold,$EuclideanDistanceThreshold) = @_ ;
260 260
261 my @results = @$results ; 261 my @results = @$results ;
262 my @filtered_res = () ; 262 my @filtered_res = () ;
263 263
264 ## Adjust threshold
265 $JaccardDistanceThreshold = sprintf("%.6f", $JaccardDistanceThreshold) ;
266 $s12GowerLegendreDistanceThreshold = sprintf("%.6f", $s12GowerLegendreDistanceThreshold) ;
267 $DotproductDistanceThreshold = sprintf("%.6f", $DotproductDistanceThreshold) ;
268 # $HammingDistanceThreshold = sprintf("%.6f", $HammingDistanceThreshold);
269 $EuclideanDistanceThreshold = sprintf("%.6f", $EuclideanDistanceThreshold);
270
264 foreach my $res (@results){ 271 foreach my $res (@results){
272
273 $res->{'JaccardDistance'} = sprintf("%.6f", $res->{'JaccardDistance'}) ;
274 $res->{'s12GowerLegendreDistance'} = sprintf("%.6f", $res->{'s12GowerLegendreDistance'}) ;
275 $res->{'DotproductDistance'} = sprintf("%.6f", $res->{'DotproductDistance'}) ;
276 # $res->{'HammingDistance'} = sprintf("%.6f", $res->{'HammingDistance'}) ;
277 $res->{'EuclideanDistance'} = sprintf("%.6f", $res->{'EuclideanDistance'}) ;
265 278
266 if ($res->{'JaccardDistance'} <= $JaccardDistanceThreshold && $res->{'s12GowerLegendreDistance'} <= $s12GowerLegendreDistanceThreshold 279 if ($res->{'JaccardDistance'} <= $JaccardDistanceThreshold && $res->{'s12GowerLegendreDistance'} <= $s12GowerLegendreDistanceThreshold
267 && $res->{'DotproductDistance' } <= $DotproductDistanceThreshold && $res->{'HammingDistance'} <= $HammingDistanceThreshold && 280 && $res->{'DotproductDistance'} <= $DotproductDistanceThreshold && $res->{'HammingDistance'} <= $HammingDistanceThreshold &&
268 $res->{'EuclideanDistance' } <= $EuclideanDistanceThreshold) { 281 $res->{'EuclideanDistance'} <= $EuclideanDistanceThreshold) {
269 282
270 push (@filtered_res , $res) ; 283 push (@filtered_res , $res) ;
271 } 284 }
272 } 285 }
273 286
274 my $oapi = lib::golm_ws_api->new() ; 287 my $oapi = lib::golm_ws_api->new() ;