changeset 2:23970530a518 draft

master branch Updating with tag :CI_COMMIT_TAG - - Fxx
author fgiacomoni
date Tue, 17 Jan 2023 10:31:32 +0000
parents e2cbcf6fa22e
children 78afd7f439f3
files HR2.xml hr2_manager.pl hr_out.tmpl lib/hr.pm test-data/input04.tabular test-data/input05.tabular test-data/out1.html test-data/out2.html test-data/out4.html test-data/out4.tabular
diffstat 10 files changed, 234 insertions(+), 23 deletions(-) [+]
line wrap: on
line diff
--- a/HR2.xml	Sun Dec 11 17:16:43 2022 +0000
+++ b/HR2.xml	Tue Jan 17 10:31:32 2023 +0000
@@ -1,4 +1,4 @@
-<tool id="hr2" name="HR2 formula" version="1.1.2">
+<tool id="hr2" name="HR2 formula" version="1.1.3">
   <description>
         find a chemical formula from a accurate mass
   </description>
@@ -18,7 +18,7 @@
     #if str($input_type.choice) == "YES":
         -input "${input_type.input}"
         #if str($input_type.header.header_choice) == "yes":
-            -nblineheader "${$input_type.header.nbHeader}"
+            -nbHeader "${$input_type.header.nbHeader}"
         #end if
         -colId "${input_type.colId}" -colmass "${input_type.colmass}"
     #else: 
@@ -54,14 +54,14 @@
           <when value="no"/>
         </conditional>
         <param name="colId" label="Column of Id" type="data_column" data_ref="input" accept_default="true" />
-        <param name="colmass" label="Column of masses (MZ)" type="data_column" data_ref="input" accept_default="true" />
+        <param name="colmass" label="Column of masses (mz)" type="data_column" data_ref="input" accept_default="true" />
       </when>
       <when value="NO">
-        <param name="masse" size="20" type="text" label="Mass (MZ) to submit"  help="For a masses list, writes : m1 m2 m3. Your values ​​must be separated by spaces. You should use dot (.) like decimal separator"/>
+        <param name="masse" size="20" type="text" label="Mass (mz) to submit"  help="For a masses list, writes : m1 m2 m3. Your values ​​must be separated by spaces. You should use dot (.) like decimal separator"/>
       </when>
     </conditional>
     
-    <param name="tol" label="Delta of mass (MZ) (in mmu)" type="float" value="1.0" min="0" max="9.0" help="Tolerance should be between 0 and 9.0 mmu. Default value is 1.0 mmu"/>
+    <param name="tol" label="Delta of mass  " type="float" value="1.0" min="0" max="9.0" help="Tolerance should be between 0 and 9.0 Da. Default value is 1.0 mmu"/>
     <conditional name="mode_condition">
       <param name="mode" label="Molecular Species Searched" type="select" display="radio" help="Or ionization type of the molecule list. Use neutral only if only if the masses correspond to molecules and not to ions : query doesn't be a [M+H] or [M-H] ion">
         <option value="positive">positive</option>
@@ -192,7 +192,7 @@
 -----------------
 
 
-.. image:: ./static/images/metabolomics/hr2.png
+.. image:: hr2.png
         :width: 800
 
 
--- a/hr2_manager.pl	Sun Dec 11 17:16:43 2022 +0000
+++ b/hr2_manager.pl	Tue Jan 17 10:31:32 2023 +0000
@@ -160,7 +160,7 @@
 	## build exe line
 	my $ohr_exe = lib::hr->new() ;
 	my $hr_cmd = $ohr_exe->config_hr_exe( \$CONF->{'HR2_EXE'}, \$tolerance, $exact_mass, \$has_golden_rules, \$atomsCurrentConf ) ;
-	print "$hr_cmd\n" if $verbose == 3 ;
+	print "$$hr_cmd\n" if $verbose == 3 ;
 	push(@{$hr_cmds}, $$hr_cmd) ;
 }
 
@@ -192,7 +192,7 @@
 	($tbody_object) = $oHtml->add_mz_to_tbody_object($tbody_object, $CONF->{HTML_ENTRIES_PER_PAGE}, $masses, $ids, $parsed_results ) ;
 	($tbody_object) = $oHtml->add_entries_to_tbody_object($tbody_object, $parsed_results) ;
 	
-	print Dumper $tbody_object ;
+	#print Dumper $tbody_object ;
 	
 	my $html_file = $binPath.'/'.$CONF->{'HTML_TEMPLATE'} ;
 	my $output = $oHtml->write_html_skel(\$output_html, $tbody_object, $nb_pages_for_html_out, $search_condition, $html_file, $CONF->{'JS_GALAXY_PATH'}, $CONF->{'CSS_GALAXY_PATH'}) ;
@@ -206,11 +206,12 @@
 	# produce a csv based on METLIN format
 	my $ocsv = lib::hr::new() ;
 	if (defined $input_file) {
-		my $lm_matrix = undef ;
-		if ( ( defined $line_header ) and ( $line_header == 1 ) ) { $lm_matrix = $ocsv->set_hr_matrix_object('hr2', $masses, $parsed_results ) ; }
-		elsif ( ( defined $line_header ) and ( $line_header == 0 ) ) { $lm_matrix = $ocsv->set_hr_matrix_object(undef, $masses, $parsed_results ) ; }
-		$lm_matrix = $ocsv->add_hr_matrix_to_input_matrix($complete_rows, $lm_matrix) ;
-		$ocsv->write_csv_skel(\$output_csv, $lm_matrix) ;
+		my $hr_matrix = undef ;
+		if ( ( defined $line_header ) and ( $line_header == 1 ) ) { $hr_matrix = $ocsv->set_hr_matrix_object('hr2', $masses, $parsed_results ) ; }
+		elsif ( ( defined $line_header ) and ( $line_header == 0 ) ) { $hr_matrix = $ocsv->set_hr_matrix_object(undef, $masses, $parsed_results ) ; }
+		
+		$hr_matrix = $ocsv->add_hr_matrix_to_input_matrix($complete_rows, $hr_matrix) ;
+		$ocsv->write_csv_skel(\$output_csv, $hr_matrix) ;
 	}
 	elsif (defined $mass) {
 		$ocsv->write_csv_one_mass($masses, $ids, $parsed_results, $output_csv) ;
@@ -244,10 +245,10 @@
 	print Dumper $ids ;
 	print "-- Hr_Cmds :\n" ;
 	print Dumper $hr_cmds ;
-	print "-- Hr_Results :\n" ;
+#	print "-- Hr_Results :\n" ;
 #	print Dumper $results ;
-	print "-- Hr_parsed Results :\n" ;
-	print Dumper $parsed_results ;
+#	print "-- Hr_parsed Results :\n" ;
+#	print Dumper $parsed_results ;
 	
 	my $nb_results = scalar (@{$results}) ;
 	print "-- Hr_Results return  : $nb_results\n" ;
--- a/hr_out.tmpl	Sun Dec 11 17:16:43 2022 +0000
+++ b/hr_out.tmpl	Tue Jan 17 10:31:32 2023 +0000
@@ -1,6 +1,1 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE html>
-<html lang="en">
-	<head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="description" content=""><meta name="author" content="INRA de Clermont-Ferrand"><title>Galaxy HR2 queries - All results</title><link rel="stylesheet" href="css.php" media="all"><link rel="stylesheet" href="<TMPL_VAR NAME=CSS_GALAXY_PATH>/simplePagination.css"/><script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script><script src="<TMPL_VAR NAME=JS_GALAXY_PATH>/jquery.simplePagination.js"></script><style>body{padding-top:70px} div.lm-table-warning{font-size:1.4em;font-weight:bold;padding-right:25px;color:#21536a;margin-left:3px;}tr.green td{background-color:#eaf2d3;color:black;} tr.blank td{background-color:#9999CC;color:black;} table{font-family:\"Trebuchet MS\", Arial, Helvetica, sans-serif;width:100%;border-collapse:collapse;}table.detail, table.detail tr.parent, table.detail td, table.detail th, table.detail tr.category {border-collapse:collapse;border:1px solid #98bf21;}table.detail th {font-size:1.2em;text-align:center;padding-top:5px;padding-bottom:10px;background-color:#a7c942;color:#ffffff;}td.ca {text-align:center;}footer{margin:50px 0;}</style><script>function test(pageNumber){var page="#page-id-"+pageNumber;$('.select').hide();$(page).show()}</script></head>
-	<body><div class="container"><div class="lm-table-warning">Results of HR elucidation queries - <TMPL_VAR NAME=CONDITIONS></div><div id="detail_table_source" style="display:none"></div><p><div id="choose"></div><p><div id="ms_search_0" class="ms-search-table"></div><table id="detail_table" class="detail"><col style="width:20px;"><!-- Ids (m/z)--><col style="width:20px;"><!-- Mass (m/z)--><col style="width:20px;"><!-- Formula--><col style="width:60px;"><!-- cpd mw--><col style="width:50px;"><!-- delta--><col style="width:50px;"><!-- total--><thead><th>ID from input</th><th>Mass (m/z)</th><th>Formula</th><th>Compound MW (Da)</th><th>Delta</th><th>Total</th></thead><TMPL_LOOP NAME=PAGES><tbody class="select" id="page-id-<TMPL_VAR NAME=PAGE_NB>"><TMPL_LOOP NAME=MASSES><tr class="<TMPL_VAR NAME=MZ_COLOR>"><td class="ca" ><TMPL_VAR NAME=MASSES_ID_QUERY></td><td id="<TMPL_VAR NAME=MASSES_NB>" class="ca" ><TMPL_VAR NAME=MASSES_MZ_QUERY></td><td class="ca" colspan="3"></td><td class="ca" ><TMPL_VAR NAME=MASSES_TOTAL></td></tr><TMPL_LOOP NAME=ENTRIES><tr class="<TMPL_VAR NAME=ENTRY_COLOR>"><td class="ca" colspan="2"></td><td class="ca"><TMPL_VAR NAME=ENTRY_FORMULA></td><td class="ca"><TMPL_VAR NAME=ENTRY_CPD_MZ></td><td class="ca"><TMPL_VAR NAME=ENTRY_DELTA></td><td class="ca" colspan="1"></td></tr></TMPL_LOOP></TMPL_LOOP></tbody></TMPL_LOOP></table></div><div class="container"><hr><footer><div class="row"><div class="col-lg-12"><p><a href="http://jigsaw.w3.org/css-validator/check/referer" target="_blank"><img style="border:0;width:88px;height:31px"	src="http://jigsaw.w3.org/css-validator/images/vcss-blue" alt="Valid CSS!" /></a></p><p>Copyright &copy; INRA, N Paulhe, F Giacomoni 2014</a></p></div> </div></footer></div><script language="javascript">$(function() {$('#choose').pagination({items: <TMPL_VAR NAME=PAGES_NB>,itemsOnPage: 1,currentPage: 1,onInit: function () { test(1); },cssStyle: 'light-theme',onPageClick: function(pageNumber){test(pageNumber)}}).pagination('redraw');});</script></body>
-</html>
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="description" content=""><meta name="author" content="INRAE Clermont-Ferrand"><title>Galaxy HR2 queries - All results</title><link rel="stylesheet" href="css.php" media="all"><link rel="stylesheet" href="<TMPL_VAR NAME=CSS_GALAXY_PATH>/simplePagination.css"/><script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script><script src="<TMPL_VAR NAME=JS_GALAXY_PATH>/jquery.simplePagination.js"></script><style>body{padding-top:70px} div.lm-table-warning{font-size:1.4em;font-weight:bold;padding-right:25px;color:#21536a;margin-left:3px;}tr.green td{background-color:#eaf2d3;color:black;} tr.blank td{background-color:#9999CC;color:black;} table{font-family:\"Trebuchet MS\", Arial, Helvetica, sans-serif;width:100%;border-collapse:collapse;}table.detail, table.detail tr.parent, table.detail td, table.detail th, table.detail tr.category {border-collapse:collapse;border:1px solid #98bf21;}table.detail th {font-size:1.2em;text-align:center;padding-top:5px;padding-bottom:10px;background-color:#a7c942;color:#ffffff;}td {text-align:center;}footer{margin:50px 0;}</style><script>function test(pageNumber){var page="#page-id-"+pageNumber;$('.select').hide();$(page).show()}</script></head><body><div class="container"><div class="lm-table-warning">Results of HR elucidation queries - <TMPL_VAR NAME=CONDITIONS></div><div id="detail_table_source" style="display:none"></div><p><div id="choose"></div><p><div id="ms_search_0" class="ms-search-table"></div><table id="detail_table" class="detail"><col style="width:20px;"><!-- Ids (m/z)--><col style="width:20px;"><!-- Mass (m/z)--><col style="width:20px;"><!-- Formula--><col style="width:60px;"><!-- cpd mw--><col style="width:50px;"><!-- delta--><col style="width:50px;"><!-- total--><thead><th>ID from input</th><th>Mass (m/z)</th><th>Formula</th><th>Compound MW (Da)</th><th>Delta</th><th>Total</th></thead><TMPL_LOOP NAME=PAGES><tbody class="select" id="page-id-<TMPL_VAR NAME=PAGE_NB>"><TMPL_LOOP NAME=MASSES><tr class="<TMPL_VAR NAME=MZ_COLOR>"><td><TMPL_VAR NAME=MASSES_ID_QUERY></td><td id="<TMPL_VAR NAME=MASSES_NB>"><TMPL_VAR NAME=MASSES_MZ_QUERY></td><td colspan="3"></td><td><TMPL_VAR NAME=MASSES_TOTAL></td></tr><TMPL_LOOP NAME=ENTRIES><tr class="<TMPL_VAR NAME=ENTRY_COLOR>"><td colspan="2"></td><td ><TMPL_VAR NAME=ENTRY_FORMULA></td><td ><TMPL_VAR NAME=ENTRY_CPD_MZ></td><td ><TMPL_VAR NAME=ENTRY_DELTA></td><td colspan="1"></td></tr></TMPL_LOOP></TMPL_LOOP></tbody></TMPL_LOOP></table></div><div class="container"><hr><footer><div class="row"><div class="col-lg-12"><p><a href="http://jigsaw.w3.org/css-validator/check/referer" target="_blank"><img style="border:0;width:88px;height:31px" src="http://jigsaw.w3.org/css-validator/images/vcss-blue" alt="Valid CSS!" /></a></p><p>Copyright &copy; INRAE, N Paulhe, L Pavot, F Giacomoni 2023</a></p></div> </div></footer></div><script language="javascript">$(function() {$('#choose').pagination({items: <TMPL_VAR NAME=PAGES_NB>,itemsOnPage: 1,currentPage: 1,onInit: function () { test(1); },cssStyle: 'light-theme',onPageClick: function(pageNumber){test(pageNumber)}}).pagination('redraw');});</script></body></html>
\ No newline at end of file
--- a/lib/hr.pm	Sun Dec 11 17:16:43 2022 +0000
+++ b/lib/hr.pm	Tue Jan 17 10:31:32 2023 +0000
@@ -77,7 +77,7 @@
     
     # suppl. atoms case
     foreach my $atom ( (split(",", $atomsupp )) ) {
-    	print "*** $atom***\n" ;
+    	#print "*** $atom***\n" ;
     	if ( exists $atomsconfig->{$atom} ) 	{ $atomsconfig->{$atom}{'max'} = $CONF->{'DEFAULT_MAX'} ; }
     	else {  print "*** $atom not recognized***\n" ; }
     	
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/input04.tabular	Tue Jan 17 10:31:32 2023 +0000
@@ -0,0 +1,5 @@
+Code	mz	formula
+165	144.0841	C7H13NS
+1664	328.1387	 C15H21NO7
+1270	276.1260	C12H21SNO4
+961	242.0996	C9H17NO5Na
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/input05.tabular	Tue Jan 17 10:31:32 2023 +0000
@@ -0,0 +1,202 @@
+Code	mz	formula
+165	144.0841	C7H13NS
+1664	328.1387	 C15H21NO7
+1270	276.1260	C12H21SNO4
+961	242.0996	C9H17NO5Na
+961	242.0996	C9H17NO5Na
+165	144.0841	C7H13NS
+1664	328.1387	 C15H21NO7
+1270	276.1260	C12H21SNO4
+961	242.0996	C9H17NO5Na
+165	144.0841	C7H13NS
+1664	328.1387	 C15H21NO7
+1270	276.1260	C12H21SNO4
+961	242.0996	C9H17NO5Na
+165	144.0841	C7H13NS
+1664	328.1387	 C15H21NO7
+1270	276.1260	C12H21SNO4
+961	242.0996	C9H17NO5Na
+165	144.0841	C7H13NS
+1664	328.1387	 C15H21NO7
+1270	276.1260	C12H21SNO4
+961	242.0996	C9H17NO5Na
+165	144.0841	C7H13NS
+1664	328.1387	 C15H21NO7
+1270	276.1260	C12H21SNO4
+961	242.0996	C9H17NO5Na
+165	144.0841	C7H13NS
+1664	328.1387	 C15H21NO7
+1270	276.1260	C12H21SNO4
+961	242.0996	C9H17NO5Na
+165	144.0841	C7H13NS
+1664	328.1387	 C15H21NO7
+1270	276.1260	C12H21SNO4
+961	242.0996	C9H17NO5Na
+165	144.0841	C7H13NS
+1664	328.1387	 C15H21NO7
+1270	276.1260	C12H21SNO4
+961	242.0996	C9H17NO5Na
+165	144.0841	C7H13NS
+1664	328.1387	 C15H21NO7
+1270	276.1260	C12H21SNO4
+961	242.0996	C9H17NO5Na
+165	144.0841	C7H13NS
+1664	328.1387	 C15H21NO7
+1270	276.1260	C12H21SNO4
+961	242.0996	C9H17NO5Na
+165	144.0841	C7H13NS
+1664	328.1387	 C15H21NO7
+1270	276.1260	C12H21SNO4
+961	242.0996	C9H17NO5Na
+165	144.0841	C7H13NS
+1664	328.1387	 C15H21NO7
+1270	276.1260	C12H21SNO4
+961	242.0996	C9H17NO5Na
+165	144.0841	C7H13NS
+1664	328.1387	 C15H21NO7
+1270	276.1260	C12H21SNO4
+961	242.0996	C9H17NO5Na
+165	144.0841	C7H13NS
+1664	328.1387	 C15H21NO7
+1270	276.1260	C12H21SNO4
+961	242.0996	C9H17NO5Na
+165	144.0841	C7H13NS
+1664	328.1387	 C15H21NO7
+1270	276.1260	C12H21SNO4
+961	242.0996	C9H17NO5Na
+165	144.0841	C7H13NS
+1664	328.1387	 C15H21NO7
+1270	276.1260	C12H21SNO4
+961	242.0996	C9H17NO5Na
+165	144.0841	C7H13NS
+1664	328.1387	 C15H21NO7
+1270	276.1260	C12H21SNO4
+961	242.0996	C9H17NO5Na
+165	144.0841	C7H13NS
+1664	328.1387	 C15H21NO7
+1270	276.1260	C12H21SNO4
+961	242.0996	C9H17NO5Na
+165	144.0841	C7H13NS
+1664	328.1387	 C15H21NO7
+1270	276.1260	C12H21SNO4
+961	242.0996	C9H17NO5Na
+165	144.0841	C7H13NS
+1664	328.1387	 C15H21NO7
+1270	276.1260	C12H21SNO4
+961	242.0996	C9H17NO5Na
+165	144.0841	C7H13NS
+1664	328.1387	 C15H21NO7
+1270	276.1260	C12H21SNO4
+961	242.0996	C9H17NO5Na
+165	144.0841	C7H13NS
+1664	328.1387	 C15H21NO7
+1270	276.1260	C12H21SNO4
+961	242.0996	C9H17NO5Na
+165	144.0841	C7H13NS
+1664	328.1387	 C15H21NO7
+1270	276.1260	C12H21SNO4
+961	242.0996	C9H17NO5Na
+165	144.0841	C7H13NS
+1664	328.1387	 C15H21NO7
+1270	276.1260	C12H21SNO4
+961	242.0996	C9H17NO5Na
+165	144.0841	C7H13NS
+1664	328.1387	 C15H21NO7
+1270	276.1260	C12H21SNO4
+961	242.0996	C9H17NO5Na
+165	144.0841	C7H13NS
+1664	328.1387	 C15H21NO7
+1270	276.1260	C12H21SNO4
+961	242.0996	C9H17NO5Na
+165	144.0841	C7H13NS
+1664	328.1387	 C15H21NO7
+1270	276.1260	C12H21SNO4
+961	242.0996	C9H17NO5Na
+165	144.0841	C7H13NS
+1664	328.1387	 C15H21NO7
+1270	276.1260	C12H21SNO4
+961	242.0996	C9H17NO5Na
+165	144.0841	C7H13NS
+1664	328.1387	 C15H21NO7
+1270	276.1260	C12H21SNO4
+961	242.0996	C9H17NO5Na
+165	144.0841	C7H13NS
+1664	328.1387	 C15H21NO7
+1270	276.1260	C12H21SNO4
+961	242.0996	C9H17NO5Na
+165	144.0841	C7H13NS
+1664	328.1387	 C15H21NO7
+1270	276.1260	C12H21SNO4
+961	242.0996	C9H17NO5Na
+165	144.0841	C7H13NS
+1664	328.1387	 C15H21NO7
+1270	276.1260	C12H21SNO4
+961	242.0996	C9H17NO5Na
+165	144.0841	C7H13NS
+1664	328.1387	 C15H21NO7
+1270	276.1260	C12H21SNO4
+961	242.0996	C9H17NO5Na
+165	144.0841	C7H13NS
+1664	328.1387	 C15H21NO7
+1270	276.1260	C12H21SNO4
+961	242.0996	C9H17NO5Na
+165	144.0841	C7H13NS
+1664	328.1387	 C15H21NO7
+1270	276.1260	C12H21SNO4
+961	242.0996	C9H17NO5Na
+165	144.0841	C7H13NS
+1664	328.1387	 C15H21NO7
+1270	276.1260	C12H21SNO4
+961	242.0996	C9H17NO5Na
+165	144.0841	C7H13NS
+1664	328.1387	 C15H21NO7
+1270	276.1260	C12H21SNO4
+961	242.0996	C9H17NO5Na
+165	144.0841	C7H13NS
+1664	328.1387	 C15H21NO7
+1270	276.1260	C12H21SNO4
+961	242.0996	C9H17NO5Na
+165	144.0841	C7H13NS
+1664	328.1387	 C15H21NO7
+1270	276.1260	C12H21SNO4
+961	242.0996	C9H17NO5Na
+165	144.0841	C7H13NS
+1664	328.1387	 C15H21NO7
+1270	276.1260	C12H21SNO4
+961	242.0996	C9H17NO5Na
+165	144.0841	C7H13NS
+1664	328.1387	 C15H21NO7
+1270	276.1260	C12H21SNO4
+961	242.0996	C9H17NO5Na
+165	144.0841	C7H13NS
+1664	328.1387	 C15H21NO7
+1270	276.1260	C12H21SNO4
+961	242.0996	C9H17NO5Na
+165	144.0841	C7H13NS
+1664	328.1387	 C15H21NO7
+1270	276.1260	C12H21SNO4
+961	242.0996	C9H17NO5Na
+165	144.0841	C7H13NS
+1664	328.1387	 C15H21NO7
+1270	276.1260	C12H21SNO4
+961	242.0996	C9H17NO5Na
+165	144.0841	C7H13NS
+1664	328.1387	 C15H21NO7
+1270	276.1260	C12H21SNO4
+961	242.0996	C9H17NO5Na
+165	144.0841	C7H13NS
+1664	328.1387	 C15H21NO7
+1270	276.1260	C12H21SNO4
+961	242.0996	C9H17NO5Na
+165	144.0841	C7H13NS
+1664	328.1387	 C15H21NO7
+1270	276.1260	C12H21SNO4
+961	242.0996	C9H17NO5Na
+165	144.0841	C7H13NS
+1664	328.1387	 C15H21NO7
+1270	276.1260	C12H21SNO4
+961	242.0996	C9H17NO5Na
+165	144.0841	C7H13NS
+1664	328.1387	 C15H21NO7
+1270	276.1260	C12H21SNO4
+961	242.0996	C9H17NO5Na
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/out1.html	Tue Jan 17 10:31:32 2023 +0000
@@ -0,0 +1,1 @@
+<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="description" content=""><meta name="author" content="INRAE Clermont-Ferrand"><title>Galaxy HR2 queries - All results</title><link rel="stylesheet" href="css.php" media="all"><link rel="stylesheet" href="https://cdn.rawgit.com/fgiacomoni/galaxy_utils/master/style/simplePagination.css"/><script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script><script src="https://cdn.rawgit.com/fgiacomoni/galaxy_utils/master/scripts/jquery.simplePagination.js"></script><style>body{padding-top:70px} div.lm-table-warning{font-size:1.4em;font-weight:bold;padding-right:25px;color:#21536a;margin-left:3px;}tr.green td{background-color:#eaf2d3;color:black;} tr.blank td{background-color:#9999CC;color:black;} table{font-family:\"Trebuchet MS\", Arial, Helvetica, sans-serif;width:100%;border-collapse:collapse;}table.detail, table.detail tr.parent, table.detail td, table.detail th, table.detail tr.category {border-collapse:collapse;border:1px solid #98bf21;}table.detail th {font-size:1.2em;text-align:center;padding-top:5px;padding-bottom:10px;background-color:#a7c942;color:#ffffff;}td {text-align:center;}footer{margin:50px 0;}</style><script>function test(pageNumber){var page="#page-id-"+pageNumber;$('.select').hide();$(page).show()}</script></head><body><div class="container"><div class="lm-table-warning">Results of HR elucidation queries - Mode used: negative / Charge: +1 / Mass tolerance: 1.0 / Composition:  -H 0-200 -L 0-0 -C 0-100 -B 0-0 -S 0-10 -F 0-0 -P 0-0 -A 0-0 -O 0-70 -N 0-40 -1 0-0 -K 0-0</div><div id="detail_table_source" style="display:none"></div><p><div id="choose"></div><p><div id="ms_search_0" class="ms-search-table"></div><table id="detail_table" class="detail"><col style="width:20px;"><!-- Ids (m/z)--><col style="width:20px;"><!-- Mass (m/z)--><col style="width:20px;"><!-- Formula--><col style="width:60px;"><!-- cpd mw--><col style="width:50px;"><!-- delta--><col style="width:50px;"><!-- total--><thead><th>ID from input</th><th>Mass (m/z)</th><th>Formula</th><th>Compound MW (Da)</th><th>Delta</th><th>Total</th></thead><tbody class="select" id="page-id-1"><tr class="white"><td>mass_01</td><td id="1">175.125</td><td colspan="3"></td><td>1</td></tr><tr class="white"><td colspan="2"></td><td >C11H16N2</td><td >176.1313485</td><td >0.93</td><td colspan="1"></td></tr></tbody></table></div><div class="container"><hr><footer><div class="row"><div class="col-lg-12"><p><a href="http://jigsaw.w3.org/css-validator/check/referer" target="_blank"><img style="border:0;width:88px;height:31px" src="http://jigsaw.w3.org/css-validator/images/vcss-blue" alt="Valid CSS!" /></a></p><p>Copyright &copy; INRAE, N Paulhe, L Pavot, F Giacomoni 2023</a></p></div> </div></footer></div><script language="javascript">$(function() {$('#choose').pagination({items: 1,itemsOnPage: 1,currentPage: 1,onInit: function () { test(1); },cssStyle: 'light-theme',onPageClick: function(pageNumber){test(pageNumber)}}).pagination('redraw');});</script></body></html>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/out2.html	Tue Jan 17 10:31:32 2023 +0000
@@ -0,0 +1,1 @@
+<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="description" content=""><meta name="author" content="INRAE Clermont-Ferrand"><title>Galaxy HR2 queries - All results</title><link rel="stylesheet" href="css.php" media="all"><link rel="stylesheet" href="https://cdn.rawgit.com/fgiacomoni/galaxy_utils/master/style/simplePagination.css"/><script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script><script src="https://cdn.rawgit.com/fgiacomoni/galaxy_utils/master/scripts/jquery.simplePagination.js"></script><style>body{padding-top:70px} div.lm-table-warning{font-size:1.4em;font-weight:bold;padding-right:25px;color:#21536a;margin-left:3px;}tr.green td{background-color:#eaf2d3;color:black;} tr.blank td{background-color:#9999CC;color:black;} table{font-family:\"Trebuchet MS\", Arial, Helvetica, sans-serif;width:100%;border-collapse:collapse;}table.detail, table.detail tr.parent, table.detail td, table.detail th, table.detail tr.category {border-collapse:collapse;border:1px solid #98bf21;}table.detail th {font-size:1.2em;text-align:center;padding-top:5px;padding-bottom:10px;background-color:#a7c942;color:#ffffff;}td {text-align:center;}footer{margin:50px 0;}</style><script>function test(pageNumber){var page="#page-id-"+pageNumber;$('.select').hide();$(page).show()}</script></head><body><div class="container"><div class="lm-table-warning">Results of HR elucidation queries - Mode used: neutral / Charge: +1 / Mass tolerance: 1.0 / Composition:  -A 0-0 -S 0-0 -B 0-0 -O 0-70 -C 0-100 -N 0-0 -P 0-0 -K 0-0 -F 0-0 -L 0-0 -H 0-200 -1 0-0</div><div id="detail_table_source" style="display:none"></div><p><div id="choose"></div><p><div id="ms_search_0" class="ms-search-table"></div><table id="detail_table" class="detail"><col style="width:20px;"><!-- Ids (m/z)--><col style="width:20px;"><!-- Mass (m/z)--><col style="width:20px;"><!-- Formula--><col style="width:60px;"><!-- cpd mw--><col style="width:50px;"><!-- delta--><col style="width:50px;"><!-- total--><thead><th>ID from input</th><th>Mass (m/z)</th><th>Formula</th><th>Compound MW (Da)</th><th>Delta</th><th>Total</th></thead><tbody class="select" id="page-id-1"><tr class="white"><td>mass_01</td><td id="1">88.052</td><td colspan="3"></td><td>1</td></tr><tr class="white"><td colspan="2"></td><td >C4H8O2</td><td >88.0524295</td><td >-0.43</td><td colspan="1"></td></tr></tbody></table></div><div class="container"><hr><footer><div class="row"><div class="col-lg-12"><p><a href="http://jigsaw.w3.org/css-validator/check/referer" target="_blank"><img style="border:0;width:88px;height:31px" src="http://jigsaw.w3.org/css-validator/images/vcss-blue" alt="Valid CSS!" /></a></p><p>Copyright &copy; INRAE, N Paulhe, L Pavot, F Giacomoni 2023</a></p></div> </div></footer></div><script language="javascript">$(function() {$('#choose').pagination({items: 1,itemsOnPage: 1,currentPage: 1,onInit: function () { test(1); },cssStyle: 'light-theme',onPageClick: function(pageNumber){test(pageNumber)}}).pagination('redraw');});</script></body></html>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/out4.html	Tue Jan 17 10:31:32 2023 +0000
@@ -0,0 +1,1 @@
+<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="description" content=""><meta name="author" content="INRAE Clermont-Ferrand"><title>Galaxy HR2 queries - All results</title><link rel="stylesheet" href="css.php" media="all"><link rel="stylesheet" href="https://cdn.rawgit.com/fgiacomoni/galaxy_utils/master/style/simplePagination.css"/><script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script><script src="https://cdn.rawgit.com/fgiacomoni/galaxy_utils/master/scripts/jquery.simplePagination.js"></script><style>body{padding-top:70px} div.lm-table-warning{font-size:1.4em;font-weight:bold;padding-right:25px;color:#21536a;margin-left:3px;}tr.green td{background-color:#eaf2d3;color:black;} tr.blank td{background-color:#9999CC;color:black;} table{font-family:\"Trebuchet MS\", Arial, Helvetica, sans-serif;width:100%;border-collapse:collapse;}table.detail, table.detail tr.parent, table.detail td, table.detail th, table.detail tr.category {border-collapse:collapse;border:1px solid #98bf21;}table.detail th {font-size:1.2em;text-align:center;padding-top:5px;padding-bottom:10px;background-color:#a7c942;color:#ffffff;}td {text-align:center;}footer{margin:50px 0;}</style><script>function test(pageNumber){var page="#page-id-"+pageNumber;$('.select').hide();$(page).show()}</script></head><body><div class="container"><div class="lm-table-warning">Results of HR elucidation queries - Mode used: positive / Charge: +1 / Mass tolerance: 1.0 / Composition:  -F 0-0 -O 0-70 -1 0-0 -P 0-10 -S 0-10 -C 0-100 -A 0-10 -H 0-200 -N 0-40 -L 0-0 -K 0-0 -B 0-0</div><div id="detail_table_source" style="display:none"></div><p><div id="choose"></div><p><div id="ms_search_0" class="ms-search-table"></div><table id="detail_table" class="detail"><col style="width:20px;"><!-- Ids (m/z)--><col style="width:20px;"><!-- Mass (m/z)--><col style="width:20px;"><!-- Formula--><col style="width:60px;"><!-- cpd mw--><col style="width:50px;"><!-- delta--><col style="width:50px;"><!-- total--><thead><th>ID from input</th><th>Mass (m/z)</th><th>Formula</th><th>Compound MW (Da)</th><th>Delta</th><th>Total</th></thead><tbody class="select" id="page-id-1"><tr class="white"><td>165</td><td id="1">144.0841</td><td colspan="3"></td><td>1</td></tr><tr class="white"><td colspan="2"></td><td >C7H13N1S1</td><td >143.0768701</td><td >-0.05</td><td colspan="1"></td></tr><tr class="green"><td>1664</td><td id="2">328.1387</td><td colspan="3"></td><td>15</td></tr><tr class="green"><td colspan="2"></td><td >C12H13N11O1</td><td >327.1304541</td><td >0.97</td><td colspan="1"></td></tr><tr class="green"><td colspan="2"></td><td >C15H21N1O7</td><td >327.1318020</td><td >-0.38</td><td colspan="1"></td></tr><tr class="green"><td colspan="2"></td><td >C14H18N5O3Na1</td><td >327.1307338</td><td >0.69</td><td colspan="1"></td></tr><tr class="green"><td colspan="2"></td><td >C17H19N3O1Na2</td><td >327.1323508</td><td >-0.93</td><td colspan="1"></td></tr><tr class="green"><td colspan="2"></td><td >C10H18N9O2P1</td><td >327.1321075</td><td >-0.68</td><td colspan="1"></td></tr><tr class="green"><td colspan="2"></td><td >C9H22N5O6P1</td><td >327.1307701</td><td >0.65</td><td colspan="1"></td></tr><tr class="green"><td colspan="2"></td><td >C12H23N3O4Na1P1</td><td >327.1323872</td><td >-0.96</td><td colspan="1"></td></tr><tr class="green"><td colspan="2"></td><td >C11H20N7Na2P1</td><td >327.1313189</td><td >0.10</td><td colspan="1"></td></tr><tr class="green"><td colspan="2"></td><td >C13H25N1O2Na3P1</td><td >327.1315985</td><td >-0.17</td><td colspan="1"></td></tr><tr class="green"><td colspan="2"></td><td >C19H23N1P2</td><td >327.1305730</td><td >0.85</td><td colspan="1"></td></tr><tr class="green"><td colspan="2"></td><td >C7H18N11O1Na1S1</td><td >327.1314192</td><td >0.00</td><td colspan="1"></td></tr><tr class="green"><td colspan="2"></td><td >C9H23N5O3Na2S1</td><td >327.1316989</td><td >-0.28</td><td colspan="1"></td></tr><tr class="green"><td colspan="2"></td><td >C10H25N3O1Na4S1</td><td >327.1309103</td><td >0.51</td><td colspan="1"></td></tr><tr class="green"><td colspan="2"></td><td >C14H28N1Na1P2S1</td><td >327.1315381</td><td >-0.11</td><td colspan="1"></td></tr><tr class="green"><td colspan="2"></td><td >C10H26N5O1P1S2</td><td >327.1316385</td><td >-0.21</td><td colspan="1"></td></tr><tr class="white"><td>1270</td><td id="3">276.1260</td><td colspan="3"></td><td>6</td></tr><tr class="white"><td colspan="2"></td><td >C6H15N9O1Na2</td><td >275.1194947</td><td >-0.77</td><td colspan="1"></td></tr><tr class="white"><td colspan="2"></td><td >C14H18N3O1P1</td><td >275.1187488</td><td >-0.03</td><td colspan="1"></td></tr><tr class="white"><td colspan="2"></td><td >C10H24N1O2Na1P2</td><td >275.1179966</td><td >0.73</td><td colspan="1"></td></tr><tr class="white"><td colspan="2"></td><td >C12H21N1O4S1</td><td >275.1191289</td><td >-0.41</td><td colspan="1"></td></tr><tr class="white"><td colspan="2"></td><td >C11H18N5Na1S1</td><td >275.1180606</td><td >0.66</td><td colspan="1"></td></tr><tr class="white"><td colspan="2"></td><td >C9H23N3O1Na1P1S1</td><td >275.1197140</td><td >-0.99</td><td colspan="1"></td></tr><tr class="green"><td>961</td><td id="4">242.0996</td><td colspan="3"></td><td>7</td></tr><tr class="green"><td colspan="2"></td><td >C7H11N7O3</td><td >241.0923373</td><td >-0.01</td><td colspan="1"></td></tr><tr class="green"><td colspan="2"></td><td >C9H16N1O5Na1</td><td >241.0926169</td><td >-0.29</td><td colspan="1"></td></tr><tr class="green"><td colspan="2"></td><td >C8H13N5O1Na2</td><td >241.0915486</td><td >0.77</td><td colspan="1"></td></tr><tr class="green"><td colspan="2"></td><td >C6H18N3O2Na2P1</td><td >241.0932020</td><td >-0.88</td><td colspan="1"></td></tr><tr class="green"><td colspan="2"></td><td >C15H15N1S1</td><td >241.0925202</td><td >-0.20</td><td colspan="1"></td></tr><tr class="green"><td colspan="2"></td><td >C7H21N3P2S1</td><td >241.0931416</td><td >-0.82</td><td colspan="1"></td></tr><tr class="green"><td colspan="2"></td><td >C7H19N3O2S2</td><td >241.0918682</td><td >0.46</td><td colspan="1"></td></tr></tbody></table></div><div class="container"><hr><footer><div class="row"><div class="col-lg-12"><p><a href="http://jigsaw.w3.org/css-validator/check/referer" target="_blank"><img style="border:0;width:88px;height:31px" src="http://jigsaw.w3.org/css-validator/images/vcss-blue" alt="Valid CSS!" /></a></p><p>Copyright &copy; INRAE, N Paulhe, L Pavot, F Giacomoni 2023</a></p></div> </div></footer></div><script language="javascript">$(function() {$('#choose').pagination({items: 1,itemsOnPage: 1,currentPage: 1,onInit: function () { test(1); },cssStyle: 'light-theme',onPageClick: function(pageNumber){test(pageNumber)}}).pagination('redraw');});</script></body></html>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/out4.tabular	Tue Jan 17 10:31:32 2023 +0000
@@ -0,0 +1,5 @@
+Code	mz	formula	hr2
+165	144.0841	C7H13NS	-0.05::(C7H13N1S1)::143.0768701
+1664	328.1387	" C15H21NO7"	0.97::(C12H13N11O1)::327.1304541|-0.38::(C15H21N1O7)::327.1318020|0.69::(C14H18N5O3Na1)::327.1307338|-0.93::(C17H19N3O1Na2)::327.1323508|-0.68::(C10H18N9O2P1)::327.1321075|0.65::(C9H22N5O6P1)::327.1307701|-0.96::(C12H23N3O4Na1P1)::327.1323872|0.10::(C11H20N7Na2P1)::327.1313189|-0.17::(C13H25N1O2Na3P1)::327.1315985|0.85::(C19H23N1P2)::327.1305730|0.00::(C7H18N11O1Na1S1)::327.1314192|-0.28::(C9H23N5O3Na2S1)::327.1316989|0.51::(C10H25N3O1Na4S1)::327.1309103|-0.11::(C14H28N1Na1P2S1)::327.1315381|-0.21::(C10H26N5O1P1S2)::327.1316385
+1270	276.1260	C12H21SNO4	-0.77::(C6H15N9O1Na2)::275.1194947|-0.03::(C14H18N3O1P1)::275.1187488|0.73::(C10H24N1O2Na1P2)::275.1179966|-0.41::(C12H21N1O4S1)::275.1191289|0.66::(C11H18N5Na1S1)::275.1180606|-0.99::(C9H23N3O1Na1P1S1)::275.1197140
+961	242.0996	C9H17NO5Na	-0.01::(C7H11N7O3)::241.0923373|-0.29::(C9H16N1O5Na1)::241.0926169|0.77::(C8H13N5O1Na2)::241.0915486|-0.88::(C6H18N3O2Na2P1)::241.0932020|-0.20::(C15H15N1S1)::241.0925202|-0.82::(C7H21N3P2S1)::241.0931416|0.46::(C7H19N3O2S2)::241.0918682