changeset 0:023c380900ef draft default tip

Init repository with last massbank_ws_searchspectrum master version
author fgiacomoni
date Wed, 19 Apr 2017 11:31:58 -0400
parents
children
files README.md README.txt conf_massbank.cfg lib/conf.pm lib/csv.pm lib/mapper.pm lib/massbank_api.pm lib/massbank_parser.pm lib/threader.pm lib/writter.pm massbank.tmpl massbank_ws_searchspectrum.pl massbank_ws_searchspectrum.xml t/lib/massbank_api_Test.pm t/lib/massbank_main_Test.pm t/lib/massbank_mapper_Test.pm t/massbank_ws_searchspectrum_Test.t test-data/input01_69-pcgroups-mz-relative_int.tabular test-data/input02_2214-mz-int-pcgroups.tabular test-data/input03_1mz-1pcgroup-mz-relative_int.tabular test-data/out_test01.html test-data/out_test01.json test-data/out_test01.tabular test-data/out_test01.txt
diffstat 24 files changed, 8564 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/README.md	Wed Apr 19 11:31:58 2017 -0400
@@ -0,0 +1,53 @@
+MassBank spectrum searches - Search by pseudo-spectra on a High Quality Mass Spectral Database.
+===============================================================================================
+
+[![bioconda-badge](https://img.shields.io/badge/install%20with-bioconda-brightgreen.svg?style=flat-square)](http://bioconda.github.io) [![Build Status](https://travis-ci.org/workflow4metabolomics/wrapper-bank-massbank-spectrum_search.svg?branch=master)](https://travis-ci.org/workflow4metabolomics/wrapper-bank-massbank-spectrum_search)
+
+Our project
+-----------
+The [Workflow4Metabolomics](http://workflow4metabolomics.org), W4M in short, is a French infrastructure offering software tool processing, analyzing and annotating metabolomics data. It is based on the Galaxy platform.
+
+
+MassBank spectrum searches - Search by pseudo-spectra on a High Quality Mass Spectral Database.
+-----------------------------------------------------------------------------------------------
+
+Tool using the MassBank API Spectrum Search.
+
+
+Galaxy
+------
+Galaxy is an open, web-based platform for data intensive biomedical research. Whether on the free public server or your own instance, you can perform, reproduce, and share complete analyses. 
+
+Homepage: [https://galaxyproject.org/](https://galaxyproject.org/)
+
+
+Dependencies using Conda
+------------------------
+[![bioconda-badge](https://img.shields.io/badge/install%20with-bioconda-brightgreen.svg?style=flat-square)](http://bioconda.github.io)
+
+
+[Conda](http://conda.pydata.org/) is package manager that among many other things can be used to manage Python packages.
+
+```
+#To install miniconda2
+#http://conda.pydata.org/miniconda.html
+#To install the tool dependencies using conda:
+conda install perl-lwp-simple perl-lwp-useragent perl-uri-url perl-soap-lite perl-list-moreutils perl-text-csv perl perl-html-template
+#To set an environment:
+conda create -n wrapper-bank-massbank-spectrum_search perl-soap-lite perl-list-moreutils perl-json perl-html-template`
+#To activate the environment:
+. activate wrapper-bank-massbank-spectrum_search
+```
+
+
+Travis
+------
+[![Build Status](https://travis-ci.org/workflow4metabolomics/wrapper-bank-massbank-spectrum_search.svg?branch=master)](https://travis-ci.org/workflow4metabolomics/wrapper-bank-massbank-spectrum_search)
+
+Test and Deploy with Confidence. Easily sync your GitHub projects with Travis CI and you'll be testing your code in minutes!
+
+Historic contributors
+---------------------
+- Franck Giacomoni @fgiacomoni - [French Metabolomics and Fluxomics Infrastructure (MetaboHUB)](http://www.metabohub.fr/en) - [La plateforme "Exploration du Métabolisme" (PFEM, Clermont-Ferrand)](http://www6.clermont.inra.fr/plateforme_exploration_metabolisme)
+- Marion Landi - [LIFEGRID grant](http://www.lifegrid.fr/fr/home/le-pra-lifegrid.html) - [La plateforme "Exploration du Métabolisme" (PFEM, Clermont-Ferrand)](http://www6.clermont.inra.fr/plateforme_exploration_metabolisme)
+- Yann Guitton @yguitton - [LABERCA - Laboratory of Food Contaminants and Residue Analysis](http://www.laberca.org/) - Ecole Nationale Vétérinaire, Agroalimentaire et de l'Alimentation Nantes-Atlantique - France
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/README.txt	Wed Apr 19 11:31:58 2017 -0400
@@ -0,0 +1,74 @@
+## ****** MassBank Searching Spectra environnemnt : ****** ##
+# version Janv 2017 F Giacomoni - INRA - METABOHUB - workflow4metabolomics.org core team
+
+## --- PERL compilator / libraries : --- ##
+$ perl -v
+This is perl, v5.10.1 (*) built for x86_64-linux-thread-multi
+
+# libs CORE PERL : 
+use strict ;
+use warnings ;
+use Carp qw (cluck croak carp) ;
+use Exporter ;
+use Data::Dumper ;
+use Getopt::Long ;
+use FindBin ;
+use Encode;
+use POSIX ;
+
+
+# libs CPAN PERL : 
+$ perl -e 'use Text::CSV'
+use Text::CSV ;
+use JSON ;
+use HTML::Template ;
+use SOAP::Lite ;
+use threads;
+use threads::shared;
+use Thread::Queue;
+use LWP::UserAgent;
+use LWP::Simple ;
+use File::Basename;
+
+$ sudo perl -MCPAN -e shell
+cpan> install Text::CSV
+
+# libs pfem PERL : this lib were included in lib dir.
+use conf::conf  qw( :ALL ) ;
+use formats::csv  qw( :ALL ) ;
+--
+
+## --- Conda compliant --- ##
+This tool and its PERL dependencies are "Conda compliant".
+The requirements section in the Xml file is still commented, waiting for "Conda" deployment improvement in Galaxy project.
+
+## --- R bin and Packages : --- ##
+No interaction with R
+-- 
+
+## --- Binary dependencies --- ##
+No interaction with binary - use only MassBank (JP or EU server) SOAP method (http://www.massbank.jp/api/services/MassBankAPI?wsdl)
+--
+
+## --- Config : --- ##
+JS and CSS (used in HTML output format) are now hosted on cdn.rawgit.com server - no local config needed
+
+
+PS :If Galaxy can't find the file "massbank.tmpl", perform this command line : perl -pi -e 's/\r//g' conf_massbank.cfg
+--
+
+## --- XML HELP PART --- ##
+one image : 
+massbank_spectra.png
+--
+
+## --- DATASETS OR TUTORIAL --- ##
+Please find help on W4M: http://workflow4metabolomics.org/howto 
+--
+
+## --- ??? COMMENTS ??? --- ##
+If Galaxy can't find the file "massbank.tmpl", perform this command line : " perl -pi -e 's/\r//g' " on the conf file "conf_massbank.cfg".
+
+To use fully functionalities of HTML output format file : 
+  - check that sanitize_all_html option in universe_wsgi.ini file is uncomment and set to FALSE.
+--
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/conf_massbank.cfg	Wed Apr 19 11:31:58 2017 -0400
@@ -0,0 +1,19 @@
+## Conf file for massbank_ws_searchspectrum.pl script
+#
+## Version of
+VERSION=2017-01-06
+#
+## Threads
+THREADING_THRESHOLD=6
+
+## Galaxy url for HTML JS and CSS path 
+JS_GALAXY_PATH=https://cdn.rawgit.com/fgiacomoni/galaxy_utils/master/scripts
+CSS_GALAXY_PATH=https://cdn.rawgit.com/fgiacomoni/galaxy_utils/master/style
+#
+## HTML OUTPUT : 
+HTML_ENTRIES_PER_PAGE=4
+#
+#
+#
+## MASSBANK FEATURES
+URL_MASSBANK=http://www.massbank.jp/jsp/FwdRecord.jsp?id=
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/lib/conf.pm	Wed Apr 19 11:31:58 2017 -0400
@@ -0,0 +1,259 @@
+package lib::conf ;
+
+use strict;
+use warnings ;
+use Exporter ;
+use Carp ;
+use Data::Dumper ;
+
+use vars qw($VERSION @ISA @EXPORT %EXPORT_TAGS);
+
+our $VERSION = "1.0" ;
+our @ISA = qw(Exporter) ;
+our @EXPORT = qw( as_conf get_value_from_conf check_path_and_file ) ;
+our %EXPORT_TAGS = ( ALL => [qw( as_conf get_value_from_conf )] ) ;
+
+=head1 NAME
+
+conf - A module for manage pfem conf file
+
+=head1 SYNOPSIS
+
+    use conf ;
+    my $object = conf->new() ;
+
+=head1 DESCRIPTION
+
+This module does manage conf file (extract all or selected fields)
+
+=head1 METHODS
+
+Methods are :
+
+=head2 METHOD new
+
+	## Description : new
+	## Input : $self
+	## Ouput : bless $self ;
+	## Usage : new() ;
+
+=cut
+## START of SUB
+sub new {
+    ## Variables
+    my $self={};
+    bless($self) ;
+    return $self ;
+}
+### END of SUB
+
+=head2 METHOD as_conf
+
+	## Description : permet de creer l'object conf a partir d'un fichier de conf de type KEY=VALUE
+	## Input : $file
+	## Ouput : $oConf (a hash)
+	## Usage : my ( $oConf ) = as_conf( $file ) ;
+	
+=cut
+## START of SUB
+sub as_conf {
+	## Retrieve Values
+    my $self = shift ;
+    my ( $file, $separator ) = @_ ;
+    
+#    if (!defined $separator) { $separator = ';' } ## set separator to ;
+    
+    if ( !defined $file )  {  croak "Can't create object with an none defined file\n" ; }
+    
+    my %Conf = () ; ## Hash devant contenir l'ensemble des parametres locaux
+	
+	if (-e $file) {
+		open (CFG, "<$file") or die "Can't open $file\n" ;
+		while (<CFG>) {
+			chomp $_ ;
+			if ( $_ =~ /^#(.*)/)  {	next ; }
+			elsif ($_ =~/^(\w+?)=(.*)/) { ## ALPHANUMERIC OR UNDERSCORE ONLY FOR THE KEY AND ANYTHING ELSE FOR VALUE
+				
+				my ($key, $value) = ($1, $2) ;
+				
+				if (defined $separator) {
+					if ( $value=~/$separator/ ) { ## is a list to split
+						my @tmp = split(/$separator/ , $value) ;
+						$Conf{$key} = \@tmp ;
+					}
+				}
+				else {
+					$Conf{$key} = $value ;
+				}
+			}
+		}
+		close(CFG) ;
+	}
+	else { 
+		croak "Can't create object with an none existing file\n" ;
+	}
+	
+    return ( \%Conf ) ;
+}
+## END of SUB
+
+=head2 METHOD as_conf_list
+
+	## Description : permet de charger une liste txt en array
+	## Input : $file
+	## Output : elements
+	## Usage : my ( elements ) = as_conf_list( $conf_file ) ;
+	
+=cut
+## START of SUB
+sub as_conf_list {
+	## Retrieve Values
+    my $self = shift ;
+    my ( $file ) = @_ ;
+    
+    my @elements = () ;
+    if ( !defined $file )  {  croak "Can't create object with an none defined file\n" ; }
+    
+    if (-e $file) {
+		open (CFG, "<$file") or die "Can't open $file\n" ;
+		while (<CFG>) {
+			chomp $_ ;
+			if ( $_ =~ /^#(.*)/)  {	next ; }
+			elsif ($_ =~/^(.*)/) { if (defined $1) { push (@elements, $1) ; } 	}
+		}
+    }
+    else {
+		croak "Can't create object with an none existing file\n" ;
+	}
+    return(\@elements) ;
+}
+## END of SUB
+
+=head2 METHOD get_value_from_conf
+
+	## Description : permet de retourner une valeur du hash de conf a partir d'une key
+	## Input : $oConf, $Key
+	## Ouput : $Value
+	## Usage : my ( $Value ) = get_value_from_conf( $oConf, $Key ) ;
+	
+=cut
+## START of SUB
+sub get_value_from_conf {
+	## Retrieve Values
+    my $self = shift ;
+    my ( $oConf, $Key ) = @_ ;
+    
+    my $Value = undef ;
+    
+    if ( defined $oConf ) {
+    	if ( defined $oConf->{$Key} ) {
+    		$Value = $oConf->{$Key} ;
+    	}
+    }
+    else {
+    	croak "Can't manage value with undefined object\n" ;
+    }
+    return($Value) ;
+}
+## END of SUB
+
+=head2 METHOD get_value_from_conf
+
+	## Description : permet de retourner une valeur du hash de conf a partir d'une key
+	## Input : $oConf, $Key
+	## Ouput : $Value
+	## Usage : my ( $Value ) = get_value_from_conf( $oConf, $Key ) ;
+	
+=cut
+## START of SUB
+sub split_value_from_conf {
+	## Retrieve Values
+    my $self = shift ;
+    my ( $oConf, $Key, $sep ) = @_ ;
+    
+    my $value = undef ;
+    my @values = () ;
+    
+    if ( defined $oConf ) {
+    	if ( defined $oConf->{$Key} ) {
+    		$value = $oConf->{$Key} ;
+    		@values = split ( /$sep/, $value) ;
+    	}
+    }
+    else {
+    	croak "Can't manage value with undefined object\n" ;
+    }
+    return(\@values) ;
+}
+## END of SUB
+
+
+=head2 METHOD check_path_and_file
+
+	## Description : permet de verifier les path et la presence des exe decrits dans le file conf. Bloque le script en cas de probleme
+	## Input : $oConfs
+	## Ouput : NA
+	## Usage : &get_value_from_conf( $oConf ) ;
+	
+=cut
+## START of SUB
+sub check_path_and_file {
+	
+	my $self = shift ;
+	my ( $oConfs ) = @_ ;
+	
+	foreach my $conf ( keys %{ $oConfs } ) {
+		if ( $conf =~ /^FILE/ ) {
+			if ( -e $oConfs->{$conf} ) {
+				if ( -s $oConfs->{$conf} ) { next ; }
+				else { carp "[Warning] : The size of file $oConfs->{$conf} is null\n" ; }
+			}
+			else {
+					carp "[Warning] : The file $oConfs->{$conf} doesn't exist\n" ;
+			}
+		}
+		elsif ( $conf =~ /^PATH/ ) {
+			if ( -d $oConfs->{$conf} ) { next ; }
+			else { carp "[Warning] :  The dir $oConfs->{$conf} doesn't exist\n" ;	}
+		}
+		else { 	next ; 	}
+	}
+	return ;
+}
+## END of SUB
+
+1 ;
+
+
+__END__
+
+=head1 SUPPORT
+
+You can find documentation for this module with the perldoc command.
+
+ perldoc conf.pm
+
+
+=head1 Exports
+
+=over 4
+
+=item :ALL is as_conf get_value_from_conf
+
+=back
+
+=head1 AUTHOR
+
+Franck Giacomoni E<lt>franck.giacomoni@clermont.inra.frE<gt>
+
+=head1 LICENSE
+
+This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
+
+=head1 VERSION
+
+version 1 : 10 / 02 / 2013
+
+version 2 : ??
+
+=cut
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/lib/csv.pm	Wed Apr 19 11:31:58 2017 -0400
@@ -0,0 +1,285 @@
+package lib::csv ;
+
+use strict;
+use warnings ;
+use Exporter ;
+use Carp ;
+
+use Text::CSV ;
+
+use Data::Dumper ;
+
+use vars qw($VERSION @ISA @EXPORT %EXPORT_TAGS);
+
+our $VERSION = "1.0";
+our @ISA = qw(Exporter);
+our @EXPORT = qw( get_csv_object get_value_from_csv get_value_from_csv_multi_header );
+our %EXPORT_TAGS = ( ALL => [qw( get_csv_object get_value_from_csv get_value_from_csv_multi_header )] );
+
+=head1 NAME
+
+My::Module - An example module
+
+=head1 SYNOPSIS
+
+    use My::Module;
+    my $object = My::Module->new();
+    print $object->as_string;
+
+=head1 DESCRIPTION
+
+This module does not really exist, it
+was made for the sole purpose of
+demonstrating how POD works.
+
+=head1 METHODS
+
+Methods are :
+
+=head2 METHOD new
+
+	## Description : new
+	## Input : $self
+	## Ouput : bless $self ;
+	## Usage : new() ;
+
+=cut
+
+sub new {
+    ## Variables
+    my $self={};
+    bless($self) ;
+    return $self ;
+}
+### END of SUB
+
+=head2 METHOD get_csv_object
+
+	## Description : builds a csv object and etablishes format
+	## Input : $separator
+	## Output : $csv
+	## Usage : my ( $csv ) = get_csv_object( $separator ) ;
+	
+=cut
+## START of SUB
+sub get_csv_object {
+	## Retrieve Values
+    my $self = shift ;
+    my ( $separator ) = @_ ;
+    
+#    my $csv = Text::CSV->new({'sep_char' => "$separator"});
+    my $csv = Text::CSV->new ( {'sep_char' => "$separator", binary => 1,  } )  # should set binary attribute.
+    	or die "Cannot use CSV: ".Text::CSV->error_diag ();
+
+    return($csv) ;
+}
+## END of SUB
+
+=head2 METHOD get_value_from_csv
+
+	## Description : extract a targeted column in a csv file 
+	## Input : $csv, $file, $column, $is_header
+	## Output : $value
+	## Usage : my ( $value ) = get_value_from_csv( $csv, $file, $column, $is_header ) ;
+	
+=cut
+## START of SUB
+sub get_value_from_csv {
+	## Retrieve Values
+    my $self = shift ;
+    my ( $csv, $file, $column, $is_header ) = @_ ;
+    
+    my @value = () ;
+    
+    ## Adapte the number of the colunm : (nb of column to position in array)
+	$column = $column - 1 ;
+    
+    open (CSV, "<", $file) or die $! ;
+	
+	my $line = 0 ;
+	
+	while (<CSV>) {
+		$line++ ;
+	    chomp $_ ;
+		# file has a header
+		if ( defined $is_header ) { if ($line == 1) { next ; } }
+		# parsing the targeted column
+	    if ( $csv->parse($_) ) {
+	        my @columns = $csv->fields();
+	        push ( @value, $columns[$column] ) ;
+	    }
+	    else {
+	        my $err = $csv->error_input;
+	        die "Failed to parse line: $err";
+	    }
+	}
+	close CSV;
+    return(\@value) ;
+}
+## END of SUB
+
+=head2 METHOD get_value_from_csv_multi_header
+
+	## Description : extract a targeted column in a csv file 
+	## Input : $csv, $file, $column, $is_header, $nb_header
+	## Output : $value
+	## Usage : my ( $value ) = get_value_from_csv_multi_header( $csv, $file, $column, $is_header, $nb_header ) ;
+	
+=cut
+## START of SUB
+sub get_value_from_csv_multi_header {
+	## Retrieve Values
+    my $self = shift ;
+    my ( $csv, $file, $column, $is_header, $nb_header ) = @_ ;
+    
+    my @value = () ;
+    
+    ## Adapte the number of the colunm : (nb of column to position in array)
+	$column = $column - 1 ;
+    
+    open (CSV, "<", $file) or die $! ;
+	
+	my $line = 0 ;
+	
+	while (<CSV>) {
+		$line++ ;
+	    chomp $_ ;
+		# file has a header
+		if ( defined $is_header and $is_header eq 'yes') { if ($line <= $nb_header) { next ; } }
+		# parsing the targeted column
+	    if ( $csv->parse($_) ) {
+	        my @columns = $csv->fields();
+	        my $value = $columns[$column] ;
+	        $value =~s/\r|\n// ;
+	        push ( @value,  $value ) ;
+	    }
+	    else {
+	        my $err = $csv->error_input;
+	        die "Failed to parse line: $err";
+	    }
+	}
+	close CSV;
+    return(\@value) ;
+}
+## END of SUB
+
+=head2 METHOD parse_csv_object
+
+	## Description : parse_all csv object and return a array of rows
+	## Input : $csv, $file
+	## Output : $csv_matrix
+	## Usage : my ( $csv_matrix ) = parse_csv_object( $csv, $file ) ;
+	
+=cut
+## START of SUB
+sub parse_csv_object {
+	## Retrieve Values
+    my $self = shift ;
+    my ( $csv, $file ) = @_ ;
+    
+    my @csv_matrix = () ;
+    
+	open my $fh, "<:encoding(utf8)", $$file or die "Can't open csv file $$file: $!";
+	
+	while ( my $row = $csv->getline( $fh ) ) {
+	    push @csv_matrix, $row;
+	}
+	$csv->eof or $csv->error_diag();
+	close $fh;
+    
+    return(\@csv_matrix) ;
+}
+## END of SUB
+
+=head2 METHOD parse_allcsv_object
+
+	## Description : parse_all csv object and return a array of rows with or without header
+	## Input : $csv, $file, $keep_header
+	## Output : $csv_matrix
+	## Usage : my ( $csv_matrix ) = parse_csv_object( $csv, $file, $keep_header ) ;
+	
+=cut
+## START of SUB
+sub parse_allcsv_object {
+	## Retrieve Values
+    my $self = shift ;
+    my ( $csv, $file, $keep_header ) = @_ ;
+    
+    my @csv_matrix = () ;
+    my $line = 1 ;
+    
+	open my $fh, "<:encoding(utf8)", $$file or die "Can't open csv file $$file: $!";
+	
+	while ( my $row = $csv->getline( $fh ) ) {
+		if ( ( $keep_header eq 'n' )  and ($line == 1) ) {  }
+		else { push @csv_matrix, $row; }
+	    $line ++ ;
+	}
+	my $status = $csv->eof or $csv->error_diag();
+	close $fh;
+    
+    return(\@csv_matrix, $status) ;
+}
+## END of SUB
+
+
+=head2 METHOD write_csv_from_arrays
+
+	## Description : write a csv file from list of rows
+	## Input : $csv, $file_name, $rows
+	## Output : $csv_file
+	## Usage : my ( $csv_file ) = write_csv_from_arrays( $csv, $file_name, $rows ) ;
+	
+=cut
+## START of SUB
+sub write_csv_from_arrays {
+	## Retrieve Values
+    my $self = shift ;
+    my ( $csv, $file_name, $rows ) = @_ ;
+    
+    my $fh = undef ;
+    $csv->eol ("\n"); ##  end-of-line string to add to rows
+    $csv->quote_char(undef) ;
+    open $fh, ">:encoding(utf8)", "$file_name" or die "$file_name: $!";
+    
+	my $status = $csv->print ($fh, $_) for @{$rows};
+	close $fh or die "$file_name: $!";
+    
+    return(\$file_name) ;
+}
+## END of SUB
+
+1 ;
+
+
+__END__
+
+=head1 SUPPORT
+
+You can find documentation for this module with the perldoc command.
+
+ perldoc csv.pm
+
+=head1 Exports
+
+=over 4
+
+=item :ALL is get_csv_object, get_value_from_csv
+
+=back
+
+=head1 AUTHOR
+
+Franck Giacomoni E<lt>franck.giacomoni@clermont.inra.frE<gt>
+
+=head1 LICENSE
+
+This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
+
+=head1 VERSION
+
+version 1 : 23 / 10 / 2013
+
+version 2 : ??
+
+=cut
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/lib/mapper.pm	Wed Apr 19 11:31:58 2017 -0400
@@ -0,0 +1,899 @@
+package lib::mapper ;
+
+use strict;
+use warnings ;
+use Exporter ;
+use Carp ;
+
+use Data::Dumper ;
+
+use vars qw($VERSION @ISA @EXPORT %EXPORT_TAGS);
+
+our $VERSION = "1.0";
+our @ISA = qw(Exporter);
+our @EXPORT = qw( add_min_max_for_pcgroup_res get_massbank_records_by_chunk compute_ids_from_pcgroups_res filter_pcgroup_res get_pcgroup_list get_pcgroups set_massbank_matrix_object add_massbank_matrix_to_input_matrix map_pc_to_generic_json set_html_tbody_object add_mz_to_tbody_object add_entries_to_tbody_object);
+our %EXPORT_TAGS = ( ALL => [qw( add_min_max_for_pcgroup_res get_massbank_records_by_chunk compute_ids_from_pcgroups_res filter_pcgroup_res get_pcgroup_list get_pcgroups set_massbank_matrix_object add_massbank_matrix_to_input_matrix map_pc_to_generic_json set_html_tbody_object add_mz_to_tbody_object add_entries_to_tbody_object)] );
+
+=head1 NAME
+
+My::Module - An example module
+
+=head1 SYNOPSIS
+
+    use My::Module;
+    my $object = My::Module->new();
+    print $object->as_string;
+
+=head1 DESCRIPTION
+
+This module does not really exist, it
+was made for the sole purpose of
+demonstrating how POD works.
+
+=head1 METHODS
+
+Methods are :
+
+=head2 METHOD new
+
+	## Description : new
+	## Input : $self
+	## Ouput : bless $self ;
+	## Usage : new() ;
+
+=cut
+
+sub new {
+    ## Variables
+    my $self={};
+    bless($self) ;
+    return $self ;
+}
+### END of SUB
+
+=head2 METHOD get_pcgroups
+
+	## Description : get and prepare pcgroup features (mzs, into, names) from input cvs parser
+	## Input : $pcs, $mzs, $ints, $names
+	## Output : $pcgroups
+	## Usage : my ( $pcgroups ) = get_pcgroups( $pcs, $mzs, $ints, $names ) ;
+	
+=cut
+## START of SUB
+sub get_pcgroups {
+    my $self = shift;
+    my ( $pcs, $mzs, $ints ) = @_;
+    
+    my %pcgroups = () ;
+    my $i = 0 ;
+    
+    ## Warn diff matrix dimension :
+    my $num_pcs = scalar(@{$pcs}) ;
+    my $num_mzs = scalar(@{$mzs}) ;
+    my $num_ints = scalar(@{$ints}) ;
+    
+    if ( ($num_pcs == $num_mzs ) and ( $num_mzs == $num_ints ) ) {
+		my @pcs = @{$pcs} ;
+    	
+    	foreach my $pc (@{$pcs}) {
+	    	
+	    	if ( ! $pcgroups{$pc} ) { $pcgroups{$pc}->{'id'} = $pc ;	$pcgroups{$pc}->{'annotation'} = {} ; $pcgroups{$pc}->{'massbank_ids'} = [] ; }
+	    	
+	    	push (@{$pcgroups{$pc}->{'mzmed'}}, $mzs->[$i]) if ($mzs->[$i]) ; ## map mzs by pcgroup
+
+	    	if ($ints->[$i] > 0 ) { 	push (@{$pcgroups{$pc}->{'into'}}, $ints->[$i])  ; ## map into by pcgroup
+	    	}
+	    	elsif ($ints->[$i] == 0) {
+	    		push (@{$pcgroups{$pc}->{'into'}}, $ints->[$i])  ; ## map into by pcgroup even value is 0
+	    	}
+	    	else {
+	    		warn "Undefined value found in pcgroups array\n" ;
+	    	}
+	    	$i++ ;
+	    }
+    }
+    else {
+    	warn "The different ARRAYS (pcs, mzs, ints) doesn't have the same size : mapping is not possible \n!!"
+    }
+    return (\%pcgroups) ;
+}
+### END of SUB
+
+=head2 METHOD get_pcgroup_list
+
+	## Description : get and prepare unik pcgroup list from input cvs parsed list
+	## Input : $pcs
+	## Output : $list
+	## Usage : my ( $list ) = get_pcgroup_list( $pcs ) ;
+	
+=cut
+## START of SUB
+sub get_pcgroup_list {
+	my $self = shift;
+    my ( $pcs ) = @_;
+    
+    my @pcgroup_list = () ;
+    my $i = 0 ;
+    
+    my %hash = map { $_, 1 } @{$pcs} ;
+ 	@pcgroup_list = keys %hash;
+ 	@pcgroup_list = sort { $a <=> $b } @pcgroup_list ;
+	
+	return (\@pcgroup_list) ;
+}
+
+### END of SUB
+
+
+=head2 METHOD filter_pcgroup_res
+
+	## Description : This method filter the results returned by massbank with a user defined score threshold
+	## Input : $pcgroups, $threshold
+	## Output : $pcgroups
+	## Usage : my ( $pcgroups ) = filter_pcgroup_res ( $pcgroups, $threshold ) ;
+	
+=cut
+## START of SUB
+sub filter_pcgroup_res {
+    ## Retrieve Values
+    my $self = shift ;
+    my ( $pcgroups, $threshold ) = @_ ;
+
+    my %temp = () ;
+    
+    if (!defined $threshold) {
+    	$threshold = 0.5 ; ## default value
+    }
+
+	if ( (defined $pcgroups) and (defined $threshold) ) {
+		%temp = %{$pcgroups} ;
+		
+		foreach my $pc (keys %temp) {
+			
+			if ( $temp{$pc}{'annotation'}{'num_res'} > 0 ) {
+					my @filtered_annot = reverse(grep { $_->{'score'} >= $threshold if ($_->{'score'})  } @{$temp{$pc}{'annotation'}{'res'}}) ;
+					my $new_num_res = scalar (@filtered_annot) ;
+					my @ids = () ;
+					foreach (@filtered_annot) { push (@ids, $_->{'id'} ) }
+					$temp{$pc}{'annotation'}{'res'} =\@filtered_annot ;
+					$temp{$pc}{'annotation'}{'num_res'}  = $new_num_res ;
+					$temp{$pc}{'massbank_ids'} = \@ids ;
+			}
+			else {
+				warn "No result found for this pcgroup $pc\n" ;
+			}
+		}
+	} ## End IF
+	else {
+		warn "No pcgroup and threshold defined\n" ;
+	}
+    return (\%temp) ;
+}
+### END of SUB
+
+=head2 METHOD add_min_max_for_pcgroup_res
+
+	## Description : This method add min / max value for each mzmed contained in pcgroup
+	## Input : $pcgroups
+	## Output : $pcgroups
+	## Usage : my ( $pcgroups ) = add_min_max_for_pcgroup_res ( $pcgroups ) ;
+	
+=cut
+## START of SUB
+sub add_min_max_for_pcgroup_res {
+    ## Retrieve Values
+    my $self = shift ;
+    my ( $pcgroups, $delta ) = @_ ;
+
+    my %temp = () ;
+    
+    if (!defined $delta) {
+    	$delta = 0.01 ; ## default value
+    }
+
+	if ( defined $pcgroups) {
+		%temp = %{$pcgroups} ;
+
+		foreach my $pc (keys %temp) {
+			my %mz_intervales = () ;
+			if ( $temp{$pc}{'mzmed'} ) {
+				my @temp = @{$temp{$pc}{'mzmed'}} ;
+				foreach my $mz (@temp) {
+					my ($min, $max) = lib::mapper::new->min_and_max_from_double_with_delta($mz, 'Da', $delta);
+					$mz_intervales{$mz} = {'min' => $min, 'max' => $max } ;
+				}
+			}
+			else {
+				warn "No mzmed found for this pcgroup\n" ;
+			}
+			$temp{$pc}{'intervales'} = \%mz_intervales ;
+			
+		}
+	} ## End IF
+	else {
+		warn "No pcgroup and threshold defined\n" ;
+	}
+    return (\%temp) ;
+}
+### END of SUB
+
+
+
+=head2 METHOD min_and_max_from_double_with_delta
+
+	## Description : returns the minimum and maximum double according to the delta
+	## Input : \$double, \$delta_type, \$delta
+	## Output : \$min, \$max
+	## Usage : ($min, $max)= min_and_max_from_double_with_delta($double, $delta_type, $mz_delta) ;
+	
+=cut
+## START of SUB
+sub min_and_max_from_double_with_delta {
+	## Retrieve Values
+    my $self = shift ;
+    my ( $double, $delta_type, $delta ) = @_ ;
+    my ( $min, $max ) = ( undef, undef ) ;
+    
+	if ($delta_type eq 'ppm'){
+		$min = $double - ($delta * 10**-6 * $double);
+		$max = $double + ($delta * 10**-6 * $double) + 0.0000000001; ## it's to included the maximum value in the search
+	}
+	elsif ($delta_type eq 'Da'){
+		$min = $double - $delta;
+		$max = $double + $delta + 0.0000000001; ## it's to included the maximum value in the search
+	}
+	else {	croak "The double delta type '$delta_type' isn't a valid type !\n" ;	}
+	
+    return($min, $max) ;
+}
+## END of SUB
+
+
+=head2 METHOD compute_ids_from_pcgroups_res
+
+	## Description : get all ids returned by massbank with sent queries and keep only unique ones.
+	## Input : $pcgroups
+	## Output : $unique_ids
+	## Usage : my ( $unique_ids ) = compute_ids_from_pcgroups_res ( $pcgroups ) ;
+	
+=cut
+## START of SUB
+sub compute_ids_from_pcgroups_res {
+    ## Retrieve Values
+    my $self = shift ;
+    my ( $pcgroups ) = @_;
+    my ( @ids, @unique ) = ( (), () ) ;
+    
+    if ( defined $pcgroups ) {
+		
+		foreach my $pc ( keys %{$pcgroups} ) {
+			if ( $pcgroups->{$pc}{'massbank_ids'} ) {
+				push (@ids , @{ $pcgroups->{$pc}{'massbank_ids'} } ) ;
+			}
+		}
+		
+		if ( ( scalar (@ids) ) > 0 ) {
+#			print Dumper @ids ;
+			@unique = do { my %seen; grep { !$seen{$_}++ if (defined $_) } @ids };
+			@unique = sort { $a cmp $b } @unique;
+		}
+		else {
+			@unique = () ;
+		}
+		
+		
+	}
+    return (\@unique) ;
+}
+### END of SUB
+
+
+=head2 METHOD get_massbank_records_by_chunk
+
+	## Description : get massbank records from a complete list but send queries chunk by chunk.
+	## Input : $ids, $chunk_size
+	## Output : $records
+	## Usage : my ( $records ) = get_massbank_records_by_chunk ( $ids, $chunk_size ) ;
+	
+=cut
+## START of SUB
+sub get_massbank_records_by_chunk {
+    ## Retrieve Values
+    my $self = shift ;
+    my ( $server, $ids, $chunk_size ) = @_;
+    my ( @records, @sent_ids ) = ( (), () ) ;
+    
+    my $current = 0 ;
+    my $pos = 1 ; 
+    my @temp_ids = () ;
+    
+    my $num_ids = scalar(@{$ids}) ;
+#    print "The number of given massbank ids is: $num_ids\n" ;
+    
+    foreach my $id (@{$ids}) {
+    	$current++ ;
+#    	print "$id - - $current/$num_ids) - - $pos \n" ;
+    	
+    	if (  ($current == $num_ids) or ($pos == $chunk_size)  ) {
+#    		print "Querying Massbank with...\n" ;
+    		push (@temp_ids, $id) ;
+    		## send query
+    		my $omassbank = lib::massbank_api->new() ;
+			my ($osoap) = $omassbank->selectMassBank($server) ;
+			my ($records) = $omassbank->getRecordInfo($osoap, \@temp_ids) ;
+			push (@records, @{$records}) ;
+    		
+    		@temp_ids = () ; 
+    		$pos = 0 ;
+    	}
+    	elsif ($pos < $chunk_size) {
+#    		print "store...\n";
+    		push (@temp_ids, $id) ;
+    		$pos ++ ;
+    	}
+    	else {
+    		warn "Something goes wrong : out of range\n"
+    	}
+    	
+    	
+    }
+    my $num_records = scalar(@records) ;
+#    print "The number of received massbank records is: $num_records\n" ;
+    return (\@records) ;
+}
+### END of SUB
+
+=head2 METHOD set_massbank_matrix_object
+
+	## Description : build the massbank_row under its ref form
+	## Input : $header, $init_pcs, $init_mzs, $pcgroups, $records
+	## Output : $massbank_matrix
+	## Usage : my ( $massbank_matrix ) = set_lm_matrix_object( $header, $init_pcs, $init_mzs, $pcgroups, $records ) ;
+	
+=cut
+## START of SUB
+sub set_massbank_matrix_object {
+	## Retrieve Values
+    my $self = shift ;
+    my ( $header, $init_pcs, $init_mzs, $pcgroups, $records ) = @_ ;
+    my @massbank_matrix = () ;
+	
+	my $current_pos = 0 ;
+    
+    ## format massbank(score::name::mz::formula::adduct::id)
+    if ( defined $header ) {
+    	$header .= '(score::name::mz::formula::adduct::id)' ;
+    	my @headers = () ;
+    	push @headers, $header ;
+    	push @massbank_matrix, \@headers ;
+    }
+			
+	## foreach mz of the input file
+	foreach my $mz (@{$init_mzs}) {
+		
+		my $nb_ids = 0 ;
+		my @ids = () ;
+		
+		my $pc = $init_pcs->[$current_pos] ; ## get the rigth pcgroup with maz postion in list
+#		print "---> Current PCGROUP is $pc\n" ;
+		if ( $pcgroups->{$pc}{'enrich_annotation'}{$mz} ) {
+			## get record_ids 
+			my @massbank_ids = @{ $pcgroups->{$pc}{'enrich_annotation'}{$mz} } ; ## get validated ids relative to one mz
+			$nb_ids = scalar (@massbank_ids) ;
+#			print "- - - NB RECORDS FOR MZ $mz = $nb_ids - - STATUS => \t" ;
+			my $massbank_ids_string = undef ;
+			## manage empty array
+			if (!defined $nb_ids) { carp "The number of massbank ids is not defined\n" ; }
+			elsif ( $nb_ids > 0 ) {
+				## get data from records and init_annotation
+				my $index_entries = 0 ;
+				foreach my $record_id (@massbank_ids) {
+					my $massbank_name = $records->{$record_id}{names}[0] ;
+		    		my $massbank_id = $record_id  ;
+		    		my $massbank_formula = $records->{$record_id}{formula} ;
+		    		my $massbank_cpd_mz = $records->{$record_id}{exact_mz}  ;
+		    		my $massbank_adduct = $records->{$record_id}{precursor_type}  ;
+		    		my $massbank_score = 0 ;
+		    		
+		    		## getting the score 
+		    		my @filtered_records= @{ $pcgroups->{$pc}{'annotation'}{res} } ;
+		    		foreach my $record (@filtered_records) {
+		    			if ($record->{id} eq $massbank_id ) {
+		    				$massbank_score = $record->{score} ;
+		    				last ;
+		    			}
+		    			else {
+		    				next ;
+		    			}
+		    		}
+			    	
+			    	## METLIN data display model
+			   		## entry1= ENTRY_DELTA::ENTRY_ENTRY_NAME::ENTRY_CPD_MZ::ENTRY_FORMULA::ENTRY_ADDUCT::ENTRY_ENTRY_ID | entry2=VAR1::VAR2::VAR3::VAR4|...
+			   		my $massbank_id_string = $massbank_score.'::['."$massbank_name".']::'.$massbank_cpd_mz.'::'.$massbank_formula.'::['.$massbank_adduct.']::'.$massbank_id ;
+			   		
+			   		# manage final pipe
+			   		if ($index_entries < $nb_ids-1 ) { 	$massbank_ids_string .= $massbank_id_string.' | ' ; }
+			   		else { 						   			$massbank_ids_string .= $massbank_id_string ; 	}
+			   		$index_entries++;
+				}
+			}
+			elsif ( $nb_ids == 0 ) { $massbank_ids_string = 'NONE' ; }
+			else {
+				$massbank_ids_string = 'NONE' ;
+			}
+#			print "$massbank_ids_string\n" ;
+			push (@ids, $massbank_ids_string) ;
+		} ## End if
+		else {
+			next;
+		}
+		$current_pos++ ;
+		
+		push (@massbank_matrix, \@ids) ;
+	} ## End foreach mz
+#	print "* * * * Start of the MATRIX: * * * *\n" ;
+#    print Dumper @massbank_matrix ;
+#    print "* * * * END of the MATRIX * * * *\n" ;
+    return(\@massbank_matrix) ;
+}
+## END of SUB
+
+=head2 METHOD add_massbank_matrix_to_input_matrix
+
+	## Description : build a full matrix (input + lm column)
+	## Input : $input_matrix_object, $massbank_matrix_object
+	## Output : $output_matrix_object
+	## Usage : my ( $output_matrix_object ) = add_massbank_matrix_to_input_matrix( $input_matrix_object, $massbank_matrix_object ) ;
+	
+=cut
+## START of SUB
+sub add_massbank_matrix_to_input_matrix {
+	## Retrieve Values
+    my $self = shift ;
+    my ( $input_matrix_object, $massbank_matrix_object ) = @_ ;
+    
+    my @output_matrix_object = () ;
+    my $index_row = 0 ;
+    
+    foreach my $row ( @{$input_matrix_object} ) {
+    	my @init_row = @{$row} ;
+    	
+    	if ( $massbank_matrix_object->[$index_row] ) {
+    		my $dim = scalar(@{$massbank_matrix_object->[$index_row]}) ;
+    		
+    		if ($dim > 1) { warn "the add method can't manage more than one column\n" ;}
+    		my $lm_col =  $massbank_matrix_object->[$index_row][$dim-1] ;
+
+   		 	push (@init_row, $lm_col) ;
+	    	$index_row++ ;
+    	}
+    	push (@output_matrix_object, \@init_row) ;
+    }
+    return(\@output_matrix_object) ;
+}
+## END of SUB
+
+=head2 METHOD map_res_to_generic_json
+
+	## Description : build json structure with all massbank results
+	## Input : $mzs, $pcs, $pcgroups_results
+	## Output : $json_scalar
+	## Usage : my ( $json_scalar ) = add_massbank_matrix_to_input_matrix( $mzs, $pcs, $pcgroups_results ) ;
+	
+=cut
+## START of SUB
+sub map_pc_to_generic_json {
+    my $self = shift;
+    my ( $pcs, $pcgroups, $records ) = @_ ;
+    
+#    print Dumper $pcgroups ;
+#    print Dumper $records ;
+
+    ## JSON DESIGN
+	my %JSON = (
+		QUERY => {},
+		PARAM => {},
+		TYPE => {}	
+	) ;
+	
+	my %oEntry = (
+		mzmed => undef,
+		into  => undef,
+		mzmin => undef,
+		mzmax => undef,
+		pcgroup => undef,
+		num_res => undef,
+		RECORDS => undef,
+	) ;
+	
+	
+	my %oRecord = (
+		id  => undef,
+		exact_mz  => undef,
+		score  => undef,
+		formula => undef,
+		inchi => undef,
+		ms_type => undef,
+		precursor_type => undef,
+		instrument_type => undef,
+		name => undef,
+		peaks => undef,
+	) ;
+	
+	
+    
+    foreach my $pc (@{$pcs}) {
+		
+    	my $pc_res = {} ;
+    	my $num_res = undef ;
+    	
+    	if ($pcgroups->{$pc}) {
+			my $pos = 0 ;
+			## foreach mz of the pcgroup
+			foreach my $mz (@{ $pcgroups->{$pc}{mzmed} } ) {
+				
+				my %entry = %oEntry ;
+				##
+				if ( defined $mz ) 								{	$entry{mzmed} = $mz ; }
+				if ( $pcgroups->{$pc}{intervales}{$mz} ) 		{	$entry{mzmin} = $pcgroups->{$pc}{intervales}{$mz}{min} ; }
+				if ( $pcgroups->{$pc}{intervales}{$mz} ) 		{	$entry{mzmax} = $pcgroups->{$pc}{intervales}{$mz}{max} ; }
+				if ( $pcgroups->{$pc}{into}[$pos] )	 			{	$entry{into} = $pcgroups->{$pc}{into}[$pos] ; }
+				if ( defined $pc ) 								{	$entry{pcgroup} = $pc ; }
+				## get RECORDS
+				if ( $pcgroups->{$pc}{enrich_annotation}{$mz} ) 	{
+					
+					my @recs = @{ $pcgroups->{$pc}{enrich_annotation}{$mz} } ;
+					$entry{num_res} = scalar(@recs) ;
+					
+					foreach my $recId (@recs) {
+						
+						my %record = %oRecord ;
+						if ( $records->{$recId} ) 					{ 	$record{id} = $recId ; }
+						if ( $records->{$recId}{exact_mz} ) 		{ 	$record{exact_mz} = $records->{$recId}{exact_mz} ; }
+						if ( $records->{$recId}{formula} ) 			{ 	$record{formula} = $records->{$recId}{formula} ; }
+						if ( $records->{$recId}{ms_type} ) 			{ 	$record{ms_type} = $records->{$recId}{ms_type} ; }
+						if ( $records->{$recId}{precursor_type} ) 	{ 	$record{precursor_type} = $records->{$recId}{precursor_type} ; }
+						if ( $records->{$recId}{instrument_type} ) 	{ 	$record{instrument_type} = $records->{$recId}{instrument_type} ; }
+						if ( $records->{$recId}{names} ) 			{ 	$record{name} = $records->{$recId}{names}[0] ; }
+						if ( $records->{$recId}{inchi} ) 			{ 	$record{inchi} = $records->{$recId}{inchi} ; }
+						## peaks TODO...
+						
+						## Score / BIG SHIT /
+						foreach my $record (@{ $pcgroups->{$pc}{'annotation'}{res} }) {
+			    			if ($record->{id} eq $recId ) {
+			    				$record{score} = $record->{score} ;
+			    				last ;
+			    			}
+			    			else {
+			    				next ;
+			    			}
+			    		} ## foreach record - - - for score
+						$entry{RECORDS}{$recId} = \%record ;
+					} ## foreach recId
+				} ## end IF
+				
+				$JSON{QUERY}{$mz} = \%entry ;
+				$pos ++ ;
+			} ## End FOREACH MZ
+    	}
+    	else {
+    		warn "The pc group $pc doesn't exist in results !" ;
+    	}    	
+    }
+#    print Dumper %JSON ;
+	return(\%JSON) ;
+}
+## END of SUB
+
+
+=head2 METHOD mapGroupsWithRecords
+
+	## Description : map records with pcgroups mz to adjust massbank id annotations
+	## Input : $pcgroups, $records
+	## Output : $pcgroups
+	## Usage : my ( $var4 ) = mapGroupsWithRecords ( $$pcgroups, $records ) ;
+	
+=cut
+## START of SUB
+sub mapGroupsWithRecords {
+    ## Retrieve Values
+    my $self = shift ;
+    my ( $pcgroups, $records ) = @_;
+
+    my %temp = () ;
+    my (%intervales, @annotation_ids) = ( (), ()  ) ;
+    
+    if ( ( defined $pcgroups ) and ( defined $records )  ) {
+    	
+		%temp = %{$pcgroups} ;
+		my %unik_real_ids = () ;
+		my @real_ids = () ;
+		
+		foreach my $pc (keys %temp) {
+
+			if ( $temp{$pc}{'intervales'} ) { %intervales = %{$temp{$pc}{'intervales'}} ; }
+			else { warn "Cant't find any intervale values\n" ; }
+			if ( $temp{$pc}{'massbank_ids'} ) { @annotation_ids = @{$temp{$pc}{'massbank_ids'}} ; }
+			else { warn "Cant't find any massbank id values\n" ; }
+			
+#			print Dumper %intervales;
+#			print Dumper @annotation_ids ;
+			
+			## map with intervales 
+			foreach my $mz (keys %intervales) {
+				my @filteredIds = () ;
+				my ( $min, $max ) = ( $intervales{$mz}{'min'}, $intervales{$mz}{'max'} ) ;
+				
+				foreach my $id (@annotation_ids) {
+#					print "Analyse mzs of id: $id...\n" ;
+					if ( (defined $id) and ( $records->{$id}) ) {
+						
+						my %currentRecord = %{$records->{$id}} ;
+						
+						if (scalar @{$currentRecord{'peaks'} } > 0 ) {
+							## 
+							foreach my $peak_mz (@{ $currentRecord{'peaks'} } ) {
+								if ($peak_mz) {
+									my $record_mz = $peak_mz->{'mz'} ;
+									if ( ($record_mz > $min ) and ($record_mz < $max) ){
+										
+										if (!exists $unik_real_ids{$id}) {
+											$unik_real_ids{$id} = 1 ;
+											push (@filteredIds, $id) ;
+		#									print "$mz - - $id\n" ;
+										}
+										
+										
+									}
+									else {
+										next ;
+									}
+								}
+								else {
+									warn "The mz field is not defined\n" ;
+								}
+							} ## foreach
+						}
+						else {
+							warn "The record ($id) has no peak\n" ;
+						}
+					}
+					else {
+						if (defined $id) {
+							warn "The id $id seems to be not present in getting records\n" ;
+						}
+						else {
+							warn "This catched id seems to be undef in getting records\n" ;
+						}
+						
+						next ;
+					}
+				} ## end foreach
+				## to avoid multiple ids
+#				foreach my $id (keys %unik_real_ids) {
+#					push(@real_ids, $id) ;
+#				}
+				%unik_real_ids = () ;
+#				my @temp = @real_ids ;
+				my @temp = @filteredIds ;
+				$temp{$pc}{'enrich_annotation'}{$mz} = \@temp ;
+				@real_ids = () ;
+				@filteredIds = () ;
+			} ## End foreach mz
+			@annotation_ids = () ;
+		} ## End foreach pc
+    }
+    else {
+    	warn"Can't find record or pcgroup data\n" ;
+    }
+    
+    return (\%temp) ;
+}
+### END of SUB
+
+=head2 METHOD set_html_tbody_object
+
+	## Description : initializes and build the tbody object (perl array) needed to html template
+	## Input : $nb_pages, $nb_items_per_page
+	## Output : $tbody_object
+	## Usage : my ( $tbody_object ) = set_html_tbody_object($nb_pages, $nb_items_per_page) ;
+	
+=cut
+## START of SUB
+sub set_html_tbody_object {
+	my $self = shift ;
+    my ( $nb_pages, $nb_items_per_page ) = @_ ;
+
+	my ( @tbody_object ) = ( ) ;
+	
+	for ( my $i = 1 ; $i <= $nb_pages ; $i++ ) {
+	    
+	    my %pages = ( 
+	    	# tbody feature
+	    	PAGE_NB => $i,
+	    	MASSES => [], ## end MASSES
+	    ) ; ## end TBODY N
+	    push (@tbody_object, \%pages) ;
+	}
+    return(\@tbody_object) ;
+}
+## END of SUB
+
+=head2 METHOD add_mz_to_tbody_object
+
+	## Description : initializes and build the mz object (perl array) needed to html template
+	## Input : $tbody_object, $nb_items_per_page, $mz_list
+	## Output : $tbody_object
+	## Usage : my ( $tbody_object ) = add_mz_to_tbody_object( $tbody_object, $nb_items_per_page, $mz_list ) ;
+	
+=cut
+## START of SUB
+sub add_mz_to_tbody_object {
+	my $self = shift ;
+    my ( $tbody_object, $nb_items_per_page, $mz_list, $json ) = @_ ;
+
+	my ( $current_page, $mz_index ) = ( 0, 0 ) ;
+	
+	foreach my $page ( @{$tbody_object} ) {
+		
+		my @colors = ('white', 'green') ;
+		my ( $current_index, , $icolor ) = ( 0, 0 ) ;
+		
+		for ( my $i = 1 ; $i <= $nb_items_per_page ; $i++ ) {
+			# 
+			if ( $current_index > $nb_items_per_page ) { ## manage exact mz per html page
+				$current_index = 0 ; 
+				last ; ##
+			}
+			else {
+				$current_index++ ;
+				if ( $icolor > 1 ) { $icolor = 0 ; }
+				
+				if ( exists $mz_list->[$mz_index]  ) {
+					
+					my %mz = (
+						# mass feature
+						MASSES_ID_QUERY => "mz_0".sprintf("%04s", $mz_index+1 ) ,
+						MASSES_MZ_QUERY => $mz_list->[$mz_index],
+						MASSES_PCGROUP_QUERY => $json->{QUERY}{ $mz_list->[$mz_index] }{pcgroup} ,
+						MZ_COLOR => $colors[$icolor],
+						MASSES_NB => $mz_index+1,
+						ENTRIES => [] ,
+					) ;
+					push ( @{ $tbody_object->[$current_page]{MASSES} }, \%mz ) ;
+					# Html attr for mass
+					$icolor++ ;
+				}
+			}
+			$mz_index++ ;
+		} ## foreach mz
+
+		$current_page++ ;
+	}
+    return($tbody_object) ;
+}
+## END of SUB
+
+=head2 METHOD add_entries_to_tbody_object
+
+	## Description : initializes and build the entries object (perl array) needed to html template
+	## Input : $tbody_object, $nb_items_per_page, $mz_list, $entries
+	## Output : $tbody_object
+	## Usage : my ( $tbody_object ) = add_entries_to_tbody_object( $tbody_object, $nb_items_per_page, $mz_list, $entries ) ;
+	
+=cut
+## START of SUB
+sub add_entries_to_tbody_object {
+	## Retrieve Values
+    my $self = shift ;
+    my ( $tbody_object, $nb_items_per_page, $mz_list, $JSON ) = @_ ;
+    
+    my $index_page = 0 ;
+    my $index_mz_continous = 0 ;
+    
+    foreach my $page (@{$tbody_object}) {
+    	
+    	my $index_mz = 0 ;
+    	
+    	foreach my $mz (@{ $tbody_object->[$index_page]{MASSES} }) {
+    		my $index_entry = 0 ;
+    		my $check_noentry = 0 ;
+    		my @toSort = () ;
+    		
+    		foreach my $record (keys %{ $JSON->{QUERY}{$mz->{MASSES_MZ_QUERY}}{RECORDS} }) {
+    			$check_noentry ++ ;
+
+    				my %entry = (
+		    			ENTRY_COLOR => $tbody_object->[$index_page]{MASSES}[$index_mz]{MZ_COLOR},
+		    			ENTRY_ENTRY_NAME => $JSON->{QUERY}{$mz->{MASSES_MZ_QUERY}}{RECORDS}{$record}{name}, 	
+		   				ENTRY_ENTRY_ID => $JSON->{QUERY}{$mz->{MASSES_MZ_QUERY}}{RECORDS}{$record}{id}, 
+		   				ENTRY_ENTRY_ID2 => $JSON->{QUERY}{$mz->{MASSES_MZ_QUERY}}{RECORDS}{$record}{id},
+						ENTRY_FORMULA => $JSON->{QUERY}{$mz->{MASSES_MZ_QUERY}}{RECORDS}{$record}{formula},
+						ENTRY_CPD_MZ => $JSON->{QUERY}{$mz->{MASSES_MZ_QUERY}}{RECORDS}{$record}{exact_mz},
+						ENTRY_MS_TYPE => $JSON->{QUERY}{$mz->{MASSES_MZ_QUERY}}{RECORDS}{$record}{ms_type},
+						ENTRY_PRECURSOR_TYPE => $JSON->{QUERY}{$mz->{MASSES_MZ_QUERY}}{RECORDS}{$record}{precursor_type},
+						ENTRY_INSTRUMENT_TYPE => $JSON->{QUERY}{$mz->{MASSES_MZ_QUERY}}{RECORDS}{$record}{instrument_type},
+						ENTRY_SCORE => $JSON->{QUERY}{$mz->{MASSES_MZ_QUERY}}{RECORDS}{$record}{score},
+						ENTRY_ENTRY_INCHI => $JSON->{QUERY}{$mz->{MASSES_MZ_QUERY}}{RECORDS}{$record}{inchi},			
+		    		) ;
+	    			push ( @{ $tbody_object->[$index_page]{MASSES}[$index_mz]{ENTRIES} }, \%entry) ;
+
+    			$index_entry++ ;	
+    		} ## end foreach record
+    		if ($check_noentry == 0 ) {
+    			my %entry = (
+		    			ENTRY_COLOR => $tbody_object->[$index_page]{MASSES}[$index_mz]{MZ_COLOR},
+		    			ENTRY_ENTRY_NAME  => 'UNKNOWN',
+		   				ENTRY_ENTRY_ID => 'NONE',
+		   				ENTRY_ENTRY_ID2 => '',
+						ENTRY_FORMULA => 'n/a',
+						ENTRY_CPD_MZ => 'n/a',
+						ENTRY_MS_TYPE => 'n/a',
+						ENTRY_PRECURSOR_TYPE => 'n/a',
+						ENTRY_INSTRUMENT_TYPE => 'n/a',
+						ENTRY_SCORE => 0,
+						ENTRY_ENTRY_INCHI => 'n/a',
+		    		) ;
+		    		push ( @{ $tbody_object->[$index_page]{MASSES}[$index_mz]{ENTRIES} }, \%entry) ;
+    		}
+    		
+    		## sorted by score
+    		my @sorted = () ;
+    		my @temp = @{ $tbody_object->[$index_page]{MASSES}[$index_mz]{ENTRIES} } ;
+    		if (scalar (@temp) > 1 ) { ## for mz without record (only one entry with NA or 0 values)
+    			@sorted = sort {  $b->{ENTRY_SCORE} <=> $a->{ENTRY_SCORE} } @temp;
+    		}
+    		else {
+    			@sorted = @temp;
+    		}
+    		
+    		$tbody_object->[$index_page]{MASSES}[$index_mz]{ENTRIES} = \@sorted ;
+    		
+    		$index_mz ++ ;
+    		$index_mz_continous ++ ;
+
+    	} ## End foreach mz
+    	$index_page++ ;
+    	
+    } ## End foreach page
+#    print Dumper $tbody_object ;
+    return($tbody_object) ;
+}
+## END of SUB
+
+
+
+1 ;
+
+
+__END__
+
+=head1 SUPPORT
+
+You can find documentation for this module with the perldoc command.
+
+ perldoc XXX.pm
+
+=head1 Exports
+
+=over 4
+
+=item :ALL is ...
+
+=back
+
+=head1 AUTHOR
+
+Franck Giacomoni E<lt>franck.giacomoni@clermont.inra.frE<gt>
+
+=head1 LICENSE
+
+This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
+
+=head1 VERSION
+
+version 1 : xx / xx / 201x
+
+version 2 : ??
+
+=cut
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/lib/massbank_api.pm	Wed Apr 19 11:31:58 2017 -0400
@@ -0,0 +1,699 @@
+package lib::massbank_api ;
+
+use strict;
+use warnings ;
+use Exporter ;
+use Carp ;
+
+use Data::Dumper ;
+#use SOAP::Lite +trace => [qw (debug)];
+use SOAP::Lite ;
+
+use vars qw($VERSION @ISA @EXPORT %EXPORT_TAGS);
+
+our $VERSION = "1.0";
+our @ISA = qw(Exporter);
+our @EXPORT = qw( connectMassBankJP connectMassBankDE selectMassBank getInstrumentTypes getRecordInfo searchSpectrum getPeak);
+our %EXPORT_TAGS = ( ALL => [qw( connectMassBankJP connectMassBankDE selectMassBank getInstrumentTypes getRecordInfo searchSpectrum getPeak)] );
+
+
+
+
+=head1 NAME
+
+My::Module - An example module
+
+=head1 SYNOPSIS
+
+    use My::Module;
+    my $object = My::Module->new();
+    print $object->as_string;
+
+=head1 DESCRIPTION
+
+This module does not really exist, it
+was made for the sole purpose of
+demonstrating how POD works.
+
+=head1 METHODS
+
+Methods are :
+
+=head2 METHOD new
+
+	## Description : new
+	## Input : $self
+	## Ouput : bless $self ;
+	## Usage : new() ;
+
+=cut
+
+sub new {
+    ## Variables
+    my $self={};
+    bless($self) ;
+    return $self ;
+}
+### END of SUB
+
+
+=head2 METHOD connectMassBankJP
+
+	## Description : create a soap object throught the webservice japan massbank.
+	## Input : $self
+	## Ouput : $soap ;
+	## Usage : my $soap = connectMassBankJP() ;
+
+=cut
+sub connectMassBankJP() {
+	## Retrieve Values
+    my $self = shift ;
+	my $osoap = SOAP::Lite 
+		-> uri('http://api.massbank')
+		-> proxy('http://www.massbank.jp/api/services/MassBankAPI?wsdl', timeout => 100 )
+		-> on_fault(sub { my($soap, $res) = @_; 
+         eval { die ref $res ? $res->faultstring : $soap->transport->status, "\n"};
+         return ref $res ? $res : new SOAP::SOM ;
+         });
+	
+	return ($osoap);
+}
+### END of SUB
+
+=head2 METHOD connectMassBankDE
+
+	## Description : create a soap object throught the webservice UFZ-DE massbank.
+	## Input : $self
+	## Ouput : $soap ;
+	## Usage : my $soap = connectMassBankDE() ;
+
+=cut
+sub connectMassBankDE() {
+	## Retrieve Values
+    my $self = shift ;
+	my $osoap = SOAP::Lite 
+		-> uri('http://api.massbank')
+#		-> proxy('http://massbank.ufz.de/MassBank/api/services/MassBankAPI?wsdl', timeout => 500 )
+		-> proxy('http://massbank.normandata.eu/MassBank/api/services/MassBankAPI?wsdl', timeout => 500 )
+		-> on_fault(sub { my($soap, $res) = @_; 
+         eval { die ref $res ? $res->faultstring : $soap->transport->status, "\n"};
+         return ref $res ? $res : new SOAP::SOM ;
+         });
+         
+	return ($osoap);
+}
+### END of SUB
+
+=head2 METHOD selectMassBank
+
+	## Description : create a soap object throught a choice of servers like UFZ-DE mirror or JP mirror.
+	## Input : $server
+	## Ouput : $soap ;
+	## Usage : my $soap = selectMassBank($server) ;
+
+=cut
+sub selectMassBank() {
+	## Retrieve Values
+    my $self = shift ;
+    my ( $server ) = @_ ;
+    
+    my $osoap = undef ;
+    
+    my $ombk = new() ;
+    
+    if ( (defined $server ) and ($server eq 'JP') ) {
+    	$osoap = $ombk->connectMassBankJP() ;
+    }
+    elsif ( (defined $server ) and ($server eq 'EU') ){
+    	$osoap = $ombk->connectMassBankDE() ;
+    }
+    elsif ( !defined $server ) {
+    	croak "Can't adress SOAP connexion : undefined MassBank server\n" ;
+    }
+    else {
+    	croak "Can't adress SOAP connexion : unknown MassBank server ($server)\n" ;
+    }
+	return ($osoap);
+}
+### END of SUB
+
+
+
+=head2 METHOD getInstrumentTypes
+
+	## Description : Get a list of the instrument types resistered in MassBank
+	## Input : $soap
+	## Ouput : $res ;
+	## Usage : $res = getInstrumentTypes($soap) ;
+
+=cut
+sub getInstrumentTypes() {
+	## Retrieve Values
+    my $self = shift ;
+    my ($osoap) = @_ ;
+    my @records = () ;
+
+	my $res = $osoap -> getInstrumentTypes ;
+	
+	## DETECTING A SOAP FAULT
+	if ($res->fault) { 		@records = $res->faultdetail; }
+	else {					@records = $res->valueof('//return'); }
+	
+	return(\@records) ;
+}
+### END of SUB
+
+=head2 METHOD getRecordInfo
+
+	## Description : Get the data of MassBank records specified by Record IDs. A MassBank record includes peak data, analytical conditions and so on).
+	## Input : $osoap, $ids
+	## Ouput : $dats
+	## Usage : $dats = getRecordInfo($osoap, $ids) ;
+
+=cut
+
+sub getRecordInfo() {
+	## Retrieve Values
+    my $self = shift ;
+	my ($osoap, $ids) = @_ ;
+	
+	# init in case :
+	my @dats = () ;
+	my $numdats = 0 ;
+    
+    if ( defined $ids ) {
+    	my $nb_ids = scalar (@{$ids}) ;
+    	
+    	if ( $nb_ids > 0 ) {
+    		
+    		my @ids = @{$ids} ;
+			
+			my @params = ( SOAP::Data->name('ids' => @ids  ) );
+			
+			my $data = SOAP::Data -> value(@params);
+			my $som = $osoap -> getRecordInfo($data);
+			
+		    ## DETECTING A SOAP FAULT OR NOT
+		    if ( $som ) {
+		    	if ($som->fault) {
+		    		carp "\t\t WARN: The query Id is false, MassBank don't find any record\n" ;
+					push( @dats, undef ) ; 
+				}
+				else {
+					if (!defined $som->valueof('//info')) {
+						carp "\t\t WARN: The query Id is undef, and MassBank won't find any record\n" ;
+					}
+					elsif ($som->valueof('//info') ne '') { # avoid to fill array with false id returning '' value
+						@dats = $som->valueof('//info');	
+					}
+					else {
+						carp "\t\t WARN: The query Id is false, MassBank don't find any record\n" ;
+					}
+	    		}
+		    }
+		    else {
+		    	carp "The som return (from the getRecordInfo method) isn't defined\n" ; }
+    	}
+    	else { carp "Query MZs list is empty, MassBank soap will stop\n" ; }
+    }
+    else { carp "Query MZs list is undef, MassBank soap will stop\n" ; }
+
+    return(\@dats) ;
+}
+
+
+
+
+### END of SUB
+
+=head2 METHOD initRecordObject
+
+	## Description : init a massbank record object from a string
+	## Input : $string
+	## Output : $orecord
+	## Usage : my ( $orecord ) = initRecordObject ( $string ) ;
+	
+=cut
+## START of SUB
+sub initRecordObject {
+    ## Retrieve Values
+    my $self = shift ;
+    my ( $string ) = @_;
+    my ( %orecord ) = ( () ) ;
+    
+    if (defined $string) {
+    	my $pkcheck = 0 ;
+    	my (@mzs, @int, @relint) = ( (), (), () ) ;
+    	my @features = split(/\n/, $string) ;
+
+    	foreach (@features) {
+    		## for all key:value
+    		## todo : known issue with "COMMENT" part (wrong split)
+    		if ($_ =~ /(.+):(.+)/) {
+    			my ($key, $string)  = ($1, $2 );
+    			$string =~ s/^\s+|\s+$//g;
+    			$orecord{$key} = $string ;
+    			if ($key =~/^PK\$PEAK/) {
+    				$pkcheck = 1 ;
+    				(@mzs, @int, @relint) = ( (), (), () ) ;
+    			}
+    		}
+    		elsif ($pkcheck == 1) {
+    			## case 01 : m/z int. rel.int.
+    			if ($_ =~ /\s+(.+)\s+(.+)\s+(.+)/) {
+    				push (@mzs, $1) ; push (@int, $2) ; push (@relint, $3) ;
+    			}
+    		}
+    	}
+    	## init mzs, int and relint
+    	my %tmp = () ;
+    	$tmp{'mz'} =  \@mzs ;
+    	$tmp{'int'} =  \@int ;
+    	$tmp{'relint'} =  \@relint ;
+    	$orecord{'PK$PEAK'} = \%tmp ;
+    }
+    else {
+    	warn "The given massbank string is undef\n" ;
+    }
+    
+    return (\%orecord) ;
+}
+### END of SUB
+
+=head2 METHOD getRecordInfoId
+
+	## Description : get the Id value in the massbank info string
+	## Input : $orecord
+	## Output : $orecord
+	## Usage : my ( $orecord ) = getRecordInfoId ( $record ) ;
+	
+=cut
+## START of SUB
+sub getRecordInfoId {
+    ## Retrieve Values
+    my $self = shift ;
+    my ( $orecord ) = @_;
+
+    my $id = undef ;
+    if ($orecord->{'ACCESSION'}) { $id = $orecord->{'ACCESSION'} ; }
+    else { $id = 'NA' ; }
+    return (\$id) ;
+}
+### END of SUB
+
+
+
+
+
+=head2 METHOD getPeakFromId
+
+	## Description : Get the peak data of MassBank records specified by Record IDs.
+	## Input : $ids
+	## Ouput : 
+	## Usage : my ($pks) = getPeak($soap, $ids) ;
+
+=cut
+
+sub getPeak() { 
+	## Retrieve Values
+    my $self = shift ;
+	my ($osoap, $ids) = @_;
+	my (@dat, @ids, @dats) = ( (), () );
+	@ids = @{$ids} ;
+	
+	foreach my $id ( @ids ) {
+		push(@dat, SOAP::Data -> name('ids' => $id));
+	}
+	
+	my $data = SOAP::Data -> value(@dat);
+	my $som = $osoap -> getPeak($data) ;
+	
+	## DETECTING A SOAP FAULT OR NOT
+	if ($som->fault) { 		@dats = $som->faultdetail ; }
+	else {					@dats = $som->valueof('//return') ; }
+	
+#	print Dumper $som->valueof('//return') ;
+	return(\@dats) ;
+}
+
+=head2 METHOD searchSpectrum
+
+	## Description : Get the response equivalent to the "Spectrum Search" results.
+	## Input : $osoap, $pcgroup_id, $mzs, $intensities, $ion, $instruments, $max, $unit, $tol, $cutoff
+	## Ouput : $spectra, $numspectra
+	## Usage : ($spectra, $numspectra) = searchSpectrum($osoap, $mzs, $intensities, $ion, $instruments, $max, $unit, $tol, $cutoff) ;
+
+=cut
+
+sub searchSpectrum() {
+	## Retrieve Values
+    my $self = shift ;
+	my ($osoap, $pcgroup_id , $mzs, $intensities, $ion, $instruments, $max, $unit, $tol, $cutoff) = @_;
+	
+	# init in case :
+	$ion = 'both' if ( !defined $ion ) ;
+	$instruments = ['all'] if ( !defined $instruments ) ;
+	$max = 0 if ( !defined $max ) ;
+	$unit = 'unit' if ( !defined $unit ) ;
+	$cutoff = 5 if ( !defined $cutoff ) ;
+	if ( !defined $tol ) {
+		if ( $unit eq 'unit' ) { $tol = 0.3 ; }
+		else { $tol = 50 ; }
+	}
+	
+	my @dats = () ;
+	my %ret = (); # %ret = {'res' => [], 'num_res' => int, 'pcgroup_id'=> int }
+	my $numdats = 0 ;
+    
+    if ( defined $mzs ) {
+    	my $nb_mzs = scalar (@{$mzs}) ;
+    	
+    	if ( $nb_mzs > 0 ) {
+    		
+    		my @mzs = @{$mzs} ;
+    		my @ints = @{$intensities} ;
+    		my ( @dat1, @dat2 ) = ( (), () ) ;
+			my $i = 0 ;
+			
+			foreach my $mz (@mzs) {
+				push(@dat1, SOAP::Data -> name('mzs' => $mz) );
+				push(@dat2, SOAP::Data -> name('intensities' => $ints[$i]) );
+				$i++ ;
+			}
+			
+			push(@dat2, SOAP::Data -> name('unit' => $unit) ) ;
+			push(@dat2, SOAP::Data -> name('tolerance' => $tol) ) ;
+			push(@dat2, SOAP::Data -> name('cutoff' => $cutoff) ) ;
+
+			foreach my $ins ( @{$instruments} ) {
+				push(@dat2, SOAP::Data -> name('instrumentTypes' => $ins));
+			}
+			push(@dat2, SOAP::Data -> name('ionMode' => $ion));
+			push(@dat2, SOAP::Data -> name('maxNumResults' => $max));
+			
+			my $data = SOAP::Data -> value(@dat1, @dat2);
+			my $som = $osoap -> searchSpectrum($data);
+			
+		    ## DETECTING A SOAP FAULT OR NOT
+		    if ( $som ) {
+		    	if ($som->fault) {
+					$ret{'fault'} = $som->faultstring; $ret{'num_res'} = -1 ; 
+				}
+				else {
+#					print Dumper $som ;
+					@dats = $som->valueof('//results/[>0]'); 
+					$numdats = $som->valueof('//numResults') ;
+					my $i ;
+					my @res = () ;
+					
+					if (!defined $numdats) { $numdats = 0 ;	}
+					## For results
+					if ($numdats > 0) {
+						## insert nb of res 
+						$ret{ 'num_res'} = $numdats ;
+						$ret{ 'pcgroup_id'} = $pcgroup_id ;
+						
+						## manage mapping for spectral features
+						
+#						print Dumper @dats ; ## Bug with order depending of spectra source :
+						
+						for ( $i = 0; $i < $numdats; $i ++ ) {
+							my ($exactMass, $formula, $id, $score, $title) = @dats[($i * 5) .. ($i * 5 + 4)];
+							
+							## manage issue from massbank like ID MSJ00002 and formula == 1 FROM WS
+							if ($formula eq '1') {
+#								print "-------> WS sent mixed value for $id (EM:$exactMass, F:$formula, ID:$id, SC:$score, TI:$title)\n" ;
+								my (%val) = ('id', $title, 'title', $id, 'formula', $exactMass, 'exactMass', 'NA', 'score', $score);
+								push(@res, { %val });
+							}
+							else {
+								my (%val) = ('id', $id, 'title', $title, 'formula', $formula, 'exactMass', $exactMass, 'score', $score);
+								push(@res, { %val });
+							}
+						}
+						
+						## order res by score
+						my @sorted =  sort { $a->{score} <=> $b->{score} } @res;
+						
+						$ret{'res'} = \@sorted;
+					}
+					## for no results for the query
+					else {
+						$ret{ 'num_res'} = $numdats ;
+						$ret{ 'pcgroup_id'} = $pcgroup_id ;
+						my (%val) = ('id', undef, 'title', undef, 'formula', undef, 'exactMass', undef, 'score', undef);
+						push(@res, { %val });
+						$ret{'res'} = \@res;
+					}
+	    		}
+		    }
+		    else {
+		    	carp "The som return (from the searchSpectrum method) isn't defined\n" ; }
+    	}
+    	else { carp "Query MZs list is empty, MassBank soap will stop\n" ; }
+    }
+    else { carp "Query MZs list is undef, MassBank soap will stop\n" ; }
+#	print Dumper @ret ;
+    return(\%ret, $numdats) ;
+}
+### END of SUB
+
+
+
+
+#=head2 METHOD new
+#
+#	## Description : new
+#	## Input : $self
+#	## Ouput : bless $self ;
+#	## Usage : new() ;
+#
+#=cut
+#
+#sub searchPeak() { local($soap, $mz, $max, $ion, $rel, $inst, $tol) = @_;
+#	$ion = 'both' if ( $ion eq '' );
+#	$rel += 0;
+#	$max += 0;
+#	local(@inst) = @$inst;
+#	@inst = ('all') if ( scalar(@inst) == 0 );
+#	$tol = 0.3 if ( $tol eq '' );
+#	local(@mz) = @$mz;
+#	local(@dat) = ();
+#	local($mzv);
+#	foreach $mzv ( @mz ) {
+#		push(@dat, SOAP::Data -> name('mzs' => $mzv));
+#	}
+#	push(@dat, SOAP::Data -> name('relativeIntensity' => $rel));
+#	push(@dat, SOAP::Data -> name('tolerance' => $tol));
+#	local($ins);
+#	foreach $ins ( @inst ) {
+#		push(@dat, SOAP::Data -> name('instrumentTypes' => $ins));
+#	}
+#	push(@dat, SOAP::Data -> name('ionMode' => $ion));
+#	push(@dat, SOAP::Data -> name('maxNumResults' => $max));
+#	local($data) = SOAP::Data -> value(@dat);
+#	local($som) = $soap -> searchPeak($data);
+#	local($num) = $som -> valueof('/Envelope/Body/[1]/[>0]/numResults');
+#	local(@res) = $som -> valueof('/Envelope/Body/[1]/[>0]/results/[>0]');
+#	local($i);
+#	local(@ret) = ();
+#	for ( $i = 0; $i < $num; $i ++ ) {
+#		local($mw, $form, $id, $score, $title) = @res[($i * 5) .. ($i * 5 + 4)];
+#		local(%val) = ('id', $id, 'title', $title, 'formula', $form, 'exactMass', $mw);
+#		push(@ret, { %val });
+#	}
+#	return @ret;
+#}
+#
+#=head2 METHOD new
+#
+#	## Description : new
+#	## Input : $self
+#	## Ouput : bless $self ;
+#	## Usage : new() ;
+#
+#=cut
+#
+#sub searchPeakDiff() { local($soap, $mz, $max, $ion, $rel, $inst, $tol) = @_;
+#	$ion = 'both' if ( $ion eq '' );
+#	$rel += 0;
+#	$max += 0;
+#	local(@inst) = @$inst;
+#	@inst = ('all') if ( scalar(@inst) == 0 );
+#	$tol = 0.3 if ( $tol eq '' );
+#	local(@mz) = @$mz;
+#	local(@dat) = ();
+#	local($mzv);
+#	foreach $mzv ( @mz ) {
+#		push(@dat, SOAP::Data -> name('mzs' => $mzv));
+#	}
+#	push(@dat, SOAP::Data -> name('relativeIntensity' => $rel));
+#	push(@dat, SOAP::Data -> name('tolerance' => $tol));
+#	local($ins);
+#	foreach $ins ( @inst ) {
+#		push(@dat, SOAP::Data -> name('instrumentTypes' => $ins));
+#	}
+#	push(@dat, SOAP::Data -> name('ionMode' => $ion));
+#	push(@dat, SOAP::Data -> name('maxNumResults' => $max));
+#	local($data) = SOAP::Data -> value(@dat);
+#	local($som) = $soap -> searchPeakDiff($data);
+#	local($num) = $som -> valueof('/Envelope/Body/[1]/[>0]/numResults');
+#	local(@res) = $som -> valueof('/Envelope/Body/[1]/[>0]/results/[>0]');
+#	local($i);
+#	local(@ret) = ();
+#	for ( $i = 0; $i < $num; $i ++ ) {
+#		local($mw, $form, $id, $score, $title) = @res[($i * 5) .. ($i * 5 + 4)];
+#		local(%val) = ('id', $id, 'title', $title, 'formula', $form, 'exactMass', $mw);
+#		push(@ret, { %val });
+#	}
+#	return @ret;
+#}
+#
+#=head2 METHOD new
+#
+#	## Description : new
+#	## Input : $self
+#	## Ouput : bless $self ;
+#	## Usage : new() ;
+#
+#=cut
+#
+#sub execBatchJob() { local($soap, $spectra, $ion, $inst, $mail) = @_;
+#	$ion = 'both' if ( $ion eq '' );
+#	local(@inst) = @$inst;
+#	@inst = ('all') if ( scalar(@inst) == 0 );
+#	local(%spectra) = %$spectra;
+#	local($name);
+#	local(@query) = ();
+#	foreach $name ( keys %spectra ) {
+#		local(@q) = ("Name:$name");
+#		local(%peak) = %{$spectra{$name}};
+#		local($mz, $inte);
+#		foreach $mz ( keys %peak ) {
+#			$inte = $peak{$mz};
+#			push(@q, "$mz,$inte");
+#		}
+#		push(@query, join(';', @q));
+#	}
+#	local(@dat) = ();
+#	local($q);
+#	push(@dat, SOAP::Data -> name('type' => 1));
+#	push(@dat, SOAP::Data -> name('mailAddress' => $mail));
+#	foreach $q ( @query ) {
+#		push(@dat, SOAP::Data -> name('queryStrings' => $q));
+#	}
+#	local($ins);
+#	foreach $ins ( @inst ) {
+#		push(@dat, SOAP::Data -> name('instrumentTypes' => $ins));
+#	}
+#	push(@dat, SOAP::Data -> name('ionMode' => $ion));
+#	local($data) = SOAP::Data -> value(@dat);
+#	local($som) = $soap -> execBatchJob($data);
+#	local($res) = $som -> valueof('/Envelope/Body/[1]');
+#	return ${$res}{'return'};
+#}
+#
+#=head2 METHOD new
+#
+#	## Description : new
+#	## Input : $self
+#	## Ouput : bless $self ;
+#	## Usage : new() ;
+#
+#=cut
+#
+#sub getJobStatus() { local($soap, $job) = @_;
+#	local(@dat) = ();
+#	push(@dat, SOAP::Data -> name('jobId' => $job));
+#	local($data) = SOAP::Data -> value(@dat);
+#	local($som) = $soap -> getJobStatus($data);
+#	local($res) = $som -> valueof('/Envelope/Body/[1]/[1]');
+#	local(%res) = %{$res};
+#	local($status) = $res{'status'};
+#	local($code) = $res{'statusCode'};
+#	local($date) = $res{'requestDate'};
+#	return ($status, $code, $date);
+#}
+#
+#=head2 METHOD new
+#
+#	## Description : new
+#	## Input : $self
+#	## Ouput : bless $self ;
+#	## Usage : new() ;
+#
+#=cut
+#
+#sub getJobResult() { local($soap, $job) = @_;
+#	local(@dat) = ();
+#	push(@dat, SOAP::Data -> name('jobId' => $job));
+#	local($data) = SOAP::Data -> value(@dat);
+#	local($som) = $soap -> getJobResult($data);
+#	local(@res) = $som -> valueof('/Envelope/Body/[1]/[>0]');
+#	local($n) = scalar(@res);
+#	local(@ret) = ();
+#	local($i);
+#	for ( $i = 0; $i < $n; $i ++ ) {
+#		local(%res) = %{$res[$i]};
+#		local(@res1) = $som -> valueof('/Envelope/Body/[1]/['.($i+1).']/results/[>0]');
+#		local(%ret) = ();
+#		local($qname) = $res{'queryName'};
+#		$ret{'qname'} = $qname;
+#		local($num) = $res{'numResults'};
+#		$ret{'num'} = $num;
+#		local(@ret1) = ();
+#		local($j);
+#		for ( $j = 0; $j < $num; $j ++ ) {
+#			local($mw, $form, $id, $score, $title) = @res1[($j * 5) .. ($j * 5 + 4)];
+#			local(%val) = ('id', $id, 'title', $title, 'formula', $form, 'exactMass', $mw, 'score', $score);
+#			push(@ret1, { %val });
+#		}
+#		$ret{'list'} = [ @ret1 ];
+#		push(@ret, { %ret });
+#	}
+#	return @ret;
+#}
+
+
+1 ;
+
+
+__END__
+
+=head1 SUPPORT
+
+You can find documentation for this module with the perldoc command.
+
+ perldoc massbank_api.pm
+
+=head1 Exports
+
+=over 4
+
+=item :ALL is ...
+
+=back
+
+=head1 AUTHOR
+
+Franck Giacomoni E<lt>franck.giacomoni@clermont.inra.frE<gt> and marion Landi E<lt>marion.landi@clermont.inra.frE<gt>
+
+=head1 LICENSE
+
+This script is fully inspired by MassBank SOAP API Client Package Ver-2.0 with :
+	Author: Hisayuki Horail (MassBank Group, IAB, Keio U. and JST-BIRD)
+	Home page: http://www.massbank.jp/
+	Date: 25 May 2010
+	This software is licensed
+	under a Creative Commons Attribution License 2.1 Japan License (CC-BY)
+	(http://creativecommons.org/licensesby/2.1/jp/).
+	
+This new version of this program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.	
+
+=head1 VERSION
+
+version 1 : 25 / 05 / 2010
+
+version 2 : 04 / 06 / 2015
+
+=cut
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/lib/massbank_parser.pm	Wed Apr 19 11:31:58 2017 -0400
@@ -0,0 +1,992 @@
+package lib::massbank_parser ;
+
+use strict;
+use warnings ;
+use Exporter ;
+use Carp ;
+
+use File::Basename;
+
+use Data::Dumper ;
+
+use vars qw($VERSION @ISA @EXPORT %EXPORT_TAGS);
+
+our $VERSION = "1.0" ;
+our @ISA = qw(Exporter) ;
+our @EXPORT = qw( getChemNamesFromString getPeaksFromString ) ;
+our %EXPORT_TAGS = ( ALL => [qw( getChemNamesFromString getPeaksFromString )] ) ;
+
+=head1 NAME
+
+parser::chem::massbank - An example module
+
+=head1 SYNOPSIS
+
+    use parser::chem::massbank ;
+    my $object = parser::chem::massbank->new();
+    print $object->as_string;
+
+=head1 DESCRIPTION
+
+This module does not really exist, it
+was made for the sole purpose of
+demonstrating how POD works.
+
+=head1 METHODS
+
+Methods are :
+
+=head2 METHOD new
+
+	## Description : new
+	## Input : $self
+	## Ouput : bless $self ;
+	## Usage : new() ;
+
+=cut
+
+sub new {
+    ## Variables
+    my $self={};
+    bless($self) ;
+    return $self ;
+}
+### END of SUB
+
+=head2 METHOD get_list_of_analysis_intrument_names
+
+	## Description : permt de retourner la liste des nom uniques des instruments utilises
+	## Input : $dir, $ms_files (a list of files)
+	## Output : $names
+	## Usage : my ( $names ) = get_list_of_analysis_intrument_names( $ms_files ) ;
+	
+=cut
+## START of SUB
+sub get_list_of_analysis_intrument_names {
+	## Retrieve Values
+    my $self = shift ;
+    my ( $dir, $ms_files ) = @_ ;
+    my (%tmp_names, @names) = ( (), () ) ;
+    foreach my $ms_file (@{$ms_files}) {
+    	my $file = $dir.'\\'.$ms_file ;
+    	if ( ( defined $file ) and ( -e $file )) {
+	    	open(MS, "<$file") or die "Cant' read the file $file\n" ;
+	    	while ( my $field = <MS> ){
+	    		chomp $field ;
+	        	if ($field =~/AC\$INSTRUMENT:(.*)/) {
+	        		if ( $tmp_names{$1} ) { last ; }
+	        		else { $tmp_names{$1} = 1 ; push (@names, $1) ; }
+	        	}
+	    	}
+	    	close(MS) ;
+	    }
+	    else { 
+	    	croak "Can't work with a undef / none existing massbank file\n" ;
+	    }
+    }
+    return(\@names) ;
+}
+## END of SUB
+
+=head2 METHOD get_analysis_instruments_data
+
+	## Description : permet de recuperer tous les champs d'un object massbank
+	## Input : $ms_file
+	## Output : $features
+	## Usage : my ( $features ) = get_analysis_instruments_data( $ms_file ) ;
+	
+=cut
+## START of SUB
+sub get_analysis_instruments_data {
+	## Retrieve Values
+    my $self = shift ;
+    my ( $ms_file ) = @_ ;
+    
+    my $control = 0 ;
+    my %features = (
+    	'name' => undef,
+    	'type' => undef,
+    ) ;
+    if ( ( defined $ms_file ) and ( -e $ms_file )) {
+    	open(MS, "<$ms_file") or die "Cant' read the file $ms_file\n" ;
+    	while ( my $field = <MS> ){
+    		chomp $field ;    		
+    		if ($field =~/AC\$INSTRUMENT: (.*)/) { $features{'name'} = $1 ; $control++; }
+	    	elsif ($field =~/AC\$INSTRUMENT_TYPE: (.*)/) { $features{'type'} = $1 ; $control++; }
+	    	else { next ; }
+    	}
+    	close(MS) ;
+    }
+    else {
+    	croak "Can't work with a undef / none existing massbank file\n" ;
+    }
+    if ($control == 0) { %features = () ;  }
+    return(\%features) ;
+}
+## END of SUB
+     
+=head2 METHOD get_ms_methods_data
+
+	## Description : permet de recuperer tous les champs d'un object massbank
+	## Input : $ms_file
+	## Output : $features
+	## Usage : my ( $features ) = get_ms_methods_data( $ms_file ) ;
+	
+=cut
+## START of SUB
+sub get_ms_methods_data {
+	## Retrieve Values
+    my $self = shift ;
+    my ( $ms_file ) = @_ ;
+    
+    my $control = 0 ;
+    my %features = (
+    	'ion_mode' => undef,
+    	'ms_type' => undef,
+    	'collision_energy' => undef,
+    	'collision_gas' => undef,
+    	'desolvation_gas_flow' => undef,
+    	'desolvation_temperature' => undef,
+    	'ionization_energy' => undef,
+    	'laser' => undef,
+    	'matrix' => undef,
+    	'mass_accuracy' => undef,
+    	'reagent_gas' => undef,
+    	'scanning' => undef
+    ) ;
+    if ( ( defined $ms_file ) and ( -e $ms_file )) {
+    	open(MS, "<$ms_file") or die "Cant' read the file $ms_file\n" ;
+    	while ( my $field = <MS> ){
+    		chomp $field ;    		
+    		if ($field =~/AC\$MASS_SPECTROMETRY: ION_MODE:(.*)/) { $features{'ion_mode'} = $1 ; $control++; } # mandatory
+	    	elsif ($field =~/AC\$MASS_SPECTROMETRY: MS_TYPE:(.*)/) { $features{'ms_type'} = $1 ; $control++; } # mandatory
+	    	elsif ($field =~/AC\$MASS_SPECTROMETRY: COLLISION_ENERGY(.*)/) { $features{'collision_energy'} = $1 ; $control++; } # optionnal
+	    	elsif ($field =~/AC\$MASS_SPECTROMETRY: COLLISION_GAS(.*)/) { $features{'collision_gas'} = $1 ; $control++; } # optionnal
+	    	elsif ($field =~/AC\$MASS_SPECTROMETRY: DESOLVATION_GAS_FLOW(.*)/) { $features{'desolvation_gas_flow'} = $1 ; $control++;  } # optionnal
+	    	elsif ($field =~/AC\$MASS_SPECTROMETRY: DESOLVATION_TEMPERATURE(.*)/) { $features{'desolvation_temperature'} = $1 ; $control++; } # optionnal
+	    	elsif ($field =~/AC\$MASS_SPECTROMETRY: IONIZATION_ENERGY(.*)/) { $features{'ionization_energy'} = $1 ; $control++;  } # optionnal
+	    	elsif ($field =~/AC\$MASS_SPECTROMETRY: LASER(.*)/) { $features{'laser'} = $1 ; $control++; } # optionnal
+	    	elsif ($field =~/AC\$MASS_SPECTROMETRY: MATRIX(.*)/) { $features{'matrix'} = $1 ; $control++; } # optionnal
+	    	elsif ($field =~/AC\$MASS_SPECTROMETRY: MASS_ACCURACY(.*)/) { $features{'mass_accuracy'} = $1 ; $control++; } # optionnal
+	    	elsif ($field =~/AC\$MASS_SPECTROMETRY: REAGENT_GAS(.*)/) { $features{'reagent_gas'} = $1 ; $control++; } # optionnal
+	    	elsif ($field =~/AC\$MASS_SPECTROMETRY: SCANNING(.*)/) { $features{'scanning'} = $1 ; $control++; } # optionnal
+	    	else { next ; }
+    	}
+    	close(MS) ;
+    }
+    else {
+    	croak "Can't work with a undef / none existing massbank file\n" ;
+    }
+    ## vide l'object si undef
+    if ($control == 0) { %features = () ;  }
+    return(\%features) ;
+}
+## END of SUB
+
+=head2 METHOD get_solvents_data
+
+	## Description : permet de recuperer tous les champs d'un object massbank
+	## Input : $ms_file
+	## Output : $features
+	## Usage : my ( $features ) = get_solvents_data( $ms_file ) ;
+	
+=cut
+## START of SUB
+sub get_solvents_data {
+	## Retrieve Values
+    my $self = shift ;
+    my ( $ms_file ) = @_ ;
+    
+    my @features = () ;
+    if ( ( defined $ms_file ) and ( -e $ms_file )) {
+    	open(MS, "<$ms_file") or die "Cant' read the file $ms_file\n" ;
+    	while ( my $field = <MS> ){
+    		chomp $field ;    		
+    		if ($field =~/AC\$CHROMATOGRAPHY: SOLVENT(.*)/) { push(@features, 'Solvent '.$1 ) ;  }
+	    	else { next ; }
+    	}
+    	close(MS) ;
+    }
+    else {
+    	croak "Can't work with a undef / none existing massbank file\n" ;
+    }
+    return(\@features) ;
+}
+## END of SUB
+
+=head2 METHOD get_sample_data
+
+	## Description : permet de recuperer tous les champs d'un object massbank
+	## Input : $ms_file
+	## Output : $features
+	## Usage : my ( $features ) = get_sample_data( $ms_file ) ;
+	
+=cut
+## START of SUB
+sub get_sample_data {
+	## Retrieve Values
+    my $self = shift ;
+    my ( $ms_file ) = @_ ;
+    
+    my $control = 0;
+    my %features = (
+    	'sample_type' => undef,
+    ) ;
+    if ( ( defined $ms_file ) and ( -e $ms_file )) {
+    	open(MS, "<$ms_file") or die "Cant' read the file $ms_file\n" ;
+    	while ( my $field = <MS> ){
+    		chomp $field ;    		
+    		if ($field =~/SP\$SAMPLE(.*)/) { $features{'sample_type'} = $1 ; $control++ ; }
+	    	else { next ; }
+    	}
+    	close(MS) ;
+    }
+    else {
+    	croak "Can't work with a undef / none existing massbank file\n" ;
+    }
+    if ($control == 0) { %features = () ;  }
+    return(\%features) ;
+}
+## END of SUB
+
+=head2 METHOD get_chromato_methods_data
+
+	## Description : permet de recuperer tous les champs d'un object massbank
+	## Input : $ms_file
+	## Output : $features
+	## Usage : my ( $features ) = get_chromato_methods_data( $ms_file ) ;
+	
+=cut
+## START of SUB
+sub get_chromato_methods_data {
+	## Retrieve Values
+    my $self = shift ;
+    my ( $ms_file ) = @_ ;
+    
+    my $control = 0 ;
+    my %features = (
+    	'capillary_voltage' => undef,
+    	'column_name' => undef,
+    	'column_temperature' => undef,
+    	'flow_gradient' => undef,
+    	'flow_rate' => undef,
+    	'retention_time' => undef,
+    ) ;
+    if ( ( defined $ms_file ) and ( -e $ms_file )) {
+    	open(MS, "<$ms_file") or die "Cant' read the file $ms_file\n" ;
+    	while ( my $field = <MS> ){
+    		chomp $field ;    		
+    		if ($field =~/AC\$CHROMATOGRAPHY: CAPILLARY_VOLTAGE (.*)/) { $features{'capillary_voltage'} = $1 ; $control++ ; }
+	    	elsif ($field =~/AC\$CHROMATOGRAPHY: COLUMN_NAME (.*)/) { $features{'column_name'} = $1 ; $control++ ; }
+	    	elsif ($field =~/AC\$CHROMATOGRAPHY: COLUMN_TEMPERATURE (.*)/) { $features{'column_temperature'} = $1 ; $control++ ; }
+	    	elsif ($field =~/AC\$CHROMATOGRAPHY: FLOW_GRADIENT (.*)/) { $features{'flow_gradient'} = $1 ; $control++ ; }
+	    	elsif ($field =~/AC\$CHROMATOGRAPHY: FLOW_RATE (.*)/) { $features{'flow_rate'} = $1 ; $control++ ; }
+	    	elsif ($field =~/AC\$CHROMATOGRAPHY: RETENTION_TIME (.*)/) { $features{'retention_time'} = $1 ; $control++ ; }
+	    	else { next ; }
+    	}
+    	close(MS) ;
+    	# for db field
+    }
+    else {
+    	croak "Can't work with a undef / none existing massbank file\n" ;
+    }
+    if ($control == 0) { %features = () ;  }
+    return(\%features) ;
+}
+## END of SUB
+
+=head2 METHOD get_analytical_conditions_data
+
+	## Description : permet de recuperer tous les champs d'un object massbank .. for massbank version < 2.0
+	## Input : $ms_file
+	## Output : $features
+	## Usage : my ( $features ) = get_analytical_conditions_data( $ms_file ) ;
+	
+=cut
+## START of SUB
+sub get_analytical_conditions_data {
+	## Retrieve Values
+    my $self = shift ;
+    my ( $ms_file ) = @_ ;
+    my $control_ms = 0 ;
+    my %features_ms = (
+    	'ion_mode' => undef,
+    	'ms_type' => undef,
+    	'collision_energy' => undef,
+    	'collision_gas' => undef,
+    	'desolvation_gas_flow' => undef,
+    	'desolvation_temperature' => undef,
+    	'ionization_energy' => undef,
+    	'laser' => undef,
+    	'matrix' => undef,
+    	'mass_accuracy' => undef,
+    	'reagent_gas' => undef,
+    	'scanning' => undef    	
+    ) ;
+    my $control_chrom = 0 ;
+    my %features_chrom = (
+    	'capillary_voltage' => undef,
+    	'column_name' => undef,
+    	'column_temperature' => undef,
+    	'flow_gradient' => undef,
+    	'flow_rate' => undef,
+    	'retention_time' => undef   	
+    ) ;
+    if ( ( defined $ms_file ) and ( -e $ms_file )) {
+    	open(MS, "<$ms_file") or die "Cant' read the file $ms_file\n" ;
+    	while ( my $field = <MS> ){
+    		chomp $field ;
+    		## new = chromato_method	
+    		if ($field =~/AC\$ANALYTICAL_CONDITION: CAPILLARY_VOLTAGE (.*)/) { $features_chrom{'capillary_voltage'} = $1 ; $control_chrom++ ; }
+	    	elsif ($field =~/AC\$ANALYTICAL_CONDITION: COLUMN_NAME (.*)/) { $features_chrom{'column_name'} = $1 ; $control_chrom++ ; }
+	    	elsif ($field =~/AC\$ANALYTICAL_CONDITION: COLUMN_TEMPERATURE( .*)/) { $features_chrom{'column_temperature'} = $1 ; $control_chrom++ ; }
+	    	elsif ($field =~/AC\$ANALYTICAL_CONDITION: FLOW_GRADIENT (.*)/) { $features_chrom{'flow_gradient'} = $1 ; $control_chrom++ ;  }
+	    	elsif ($field =~/AC\$ANALYTICAL_CONDITION: FLOW_RATE (.*)/) { $features_chrom{'flow_rate'} = $1 ; $control_chrom++ ; }
+	    	elsif ($field =~/AC\$ANALYTICAL_CONDITION: RETENTION_TIME (.*)/) { $features_chrom{'retention_time'} = $1 ; $control_chrom++ ; }
+	    	## new = ms_method
+	    	elsif ($field =~/AC\$ANALYTICAL_CONDITION: ION_MODE (.*)/) { $features_ms{'ion_mode'} = $1 ; $control_ms++ ; } # mandatory
+	    	elsif ($field =~/AC\$ANALYTICAL_CONDITION: MS_TYPE (.*)/) { $features_ms{'ms_type'} = $1 ; $control_ms++ ; } # mandatory
+	    	elsif ($field =~/AC\$ANALYTICAL_CONDITION: COLLISION_ENERGY (.*)/) { $features_ms{'collision_energy'} = $1 ; $control_ms++ ; } # optionnal
+	    	elsif ($field =~/AC\$ANALYTICAL_CONDITION: COLLISION_GAS (.*)/) { $features_ms{'collision_gas'} = $1 ; $control_ms++ ; } # optionnal
+	    	elsif ($field =~/AC\$ANALYTICAL_CONDITION: DESOLVATION_GAS_FLOW (.*)/) { $features_ms{'desolvation_gas_flow'} = $1 ; $control_ms++ ; } # optionnal
+	    	elsif ($field =~/AC\$ANALYTICAL_CONDITION: DESOLVATION_TEMPERATURE (.*)/) { $features_ms{'desolvation_temperature'} = $1 ; $control_ms++ ; } # optionnal
+	    	elsif ($field =~/AC\$ANALYTICAL_CONDITION: IONIZATION_ENERGY (.*)/) { $features_ms{'ionization_energy'} = $1 ; $control_ms++ ; } # optionnal
+	    	elsif ($field =~/AC\$ANALYTICAL_CONDITION: LASER (.*)/) { $features_ms{'laser'} = $1 ; $control_ms++ ; } # optionnal
+	    	elsif ($field =~/AC\$ANALYTICAL_CONDITION: MATRIX (.*)/) { $features_ms{'matrix'} = $1 ; $control_ms++ ; } # optionnal
+	    	elsif ($field =~/AC\$ANALYTICAL_CONDITION: MASS_ACCURACY (.*)/) { $features_ms{'mass_accuracy'} = $1 ; $control_ms++ ; } # optionnal
+	    	elsif ($field =~/AC\$ANALYTICAL_CONDITION: REAGENT_GAS (.*)/) { $features_ms{'reagent_gas'} = $1 ; $control_ms++ ; } # optionnal
+	    	elsif ($field =~/AC\$ANALYTICAL_CONDITION: SCANNING (.*)/) { $features_ms{'scanning'} = $1 ; $control_ms++ ; } # optionnal
+	    	else { next ; }
+    	}
+    	close(MS) ;
+    	# for db field
+    }
+    else {
+    	croak "Can't work with a undef / none existing massbank file\n" ;
+    }
+    if ($control_ms == 0) { %features_ms = () ;  }
+    if ($control_chrom == 0) { %features_chrom = () ;  }
+    return(\%features_chrom, \%features_ms) ;
+}
+## END of SUB
+
+=head2 METHOD get_spectrums_data
+
+	## Description : permet de recuperer tous les champs d'un object massbank
+	## Input : $ms_file
+	## Output : $features
+	## Usage : my ( $features ) = get_spectrums_data( $ms_file ) ;
+	
+=cut
+## START of SUB
+sub get_spectrums_data {
+	## Retrieve Values
+    my $self = shift ;
+    my ( $ms_file ) = @_ ;
+    my $control = 0 ;
+    my %features = (
+    	'ion_type' => undef,
+    	'precursor_mz' => undef,
+    	'precursor_type' => undef,
+    	'num_peaks' => undef,
+    ) ;
+    if ( ( defined $ms_file ) and ( -e $ms_file )) {
+    	open(MS, "<$ms_file") or die "Cant' read the file $ms_file\n" ;
+    	while ( my $field = <MS> ){
+    		chomp $field ;    		
+    		if ($field =~/MS\$FOCUSED_ION: ION_TYPE(.*)/) { $features{'ion_type'} = $1 ; $control++ ; }
+	    	elsif ($field =~/MS\$FOCUSED_ION: PRECURSOR_M\/Z(.*)/) { $features{'precursor_mz'} = $1 ; $control++ ; }
+	    	elsif ($field =~/MS\$FOCUSED_ION: PRECURSOR_TYPE(.*)/) { $features{'precursor_type'} = $1 ; $control++ ; }
+	    	elsif ($field =~/PK\$NUM_PEAK: (.*)/) { $features{'num_peaks'} = $1 ; $control++ ; }
+	    	else { next ; }
+    	}
+    	close(MS) ;
+    	# for db field
+    }
+    else {
+    	croak "Can't work with a undef / none existing massbank file\n" ;
+    }
+    if ($control == 0) { %features = () ;  }
+    return(\%features) ;
+}
+## END of SUB
+
+=head2 METHOD get_peaks_data
+
+	## Description : permet de recuperer tous les champs d'un object massbank
+	## Input : $ms_file
+	## Output : $features
+	## Usage : my ( $features ) = get_peaks_data( $ms_file ) ;
+	
+=cut
+## START of SUB
+sub get_peaks_data {
+	## Retrieve Values
+    my $self = shift ;
+    my ( $ms_file ) = @_ ;
+    
+    my @features = () ;
+    my $peaks = 0 ;
+    if ( ( defined $ms_file ) and ( -e $ms_file )) {
+    	open(MS, "<$ms_file") or die "Cant' read the file $ms_file\n" ;
+    	while ( my $field = <MS> ){
+    		chomp $field ;
+    		if ($field =~/PK\$PEAK: m\/z int\. rel\.int\./) { $peaks = 1 ; }
+    		elsif ( $peaks == 1 ) { ## detected peak area
+    			if ($field =~/\s+(\d+)\s+(\d+)\s+(\d+)/) {
+    				my %tmp = ( 'mz' => $1, 'intensity' => $2, 'relative_intensity' => $3 ) ;
+    				push (@features, \%tmp) ;
+    			}
+    			## for int = xx.xxx and mz = xxx.xxx
+    			elsif ($field =~/\s+(\d+\.\d+)\s+(\d+\.\d+)\s+(\d+)/) {
+    				my %tmp = ( 'mz' => $1, 'intensity' => $2, 'relative_intensity' => $3 ) ;
+    				push (@features, \%tmp) ;
+    			}
+    			## for int = xx and mz = xxx.xxx
+    			elsif ($field =~/\s+(\d+\.\d+)\s+(\d+)\s+(\d+)/) {
+    				my %tmp = ( 'mz' => $1, 'intensity' => $2, 'relative_intensity' => $3 ) ;
+    				push (@features, \%tmp) ;
+    			}
+    			## for int = xxxxx.xxx and mz = xxx
+    			elsif ($field =~/\s+(\d+)\s+(\d+\.\d+)\s+(\d+)/) {
+    				my %tmp = ( 'mz' => $1, 'intensity' => $2, 'relative_intensity' => $3 ) ;
+    				push (@features, \%tmp) ;
+    			}
+    		}
+	    	else { next ; }
+    	}
+    	close(MS) ;
+    	# for db field
+    }
+    else {
+    	croak "Can't work with a undef / none existing massbank file\n" ;
+    }
+    return(\@features) ;
+}
+## END of SUB
+
+=head2 METHOD getPeaksFromString
+
+	## Description : permet de recuperer la data peaks d'un record handler massbank
+	## Input : $record
+	## Output : $features
+	## Usage : my ( $features ) = getPeaksFromString( $record ) ;
+	
+=cut
+## START of SUB
+sub getPeaksFromString {
+	## Retrieve Values
+    my $self = shift ;
+    my ( $record ) = @_ ;
+    
+    my @features = () ;
+    my $peaks = 0 ;
+    if ( defined $record ) {
+    	my @tmp = split(/\n/, $record) ;
+    	foreach my $field (@tmp) {
+    		if ($field =~/PK\$PEAK: m\/z int\. rel\.int\./) { $peaks = 1 ; }
+    		elsif ( $peaks == 1 ) { ## detected peak area
+    			if ($field =~/\s+(\d+)\s+(\d+)\s+(\d+)/) {
+    				my %tmp = ( 'mz' => $1, 'intensity' => $2, 'relative_intensity' => $3 ) ;
+    				push (@features, \%tmp) ;
+    			}
+    			## for int = xx.xxx and mz = xxx.xxx
+    			elsif ($field =~/\s+(\d+\.\d+)\s+(\d+\.\d+)\s+(\d+)/) {
+    				my %tmp = ( 'mz' => $1, 'intensity' => $2, 'relative_intensity' => $3 ) ;
+    				push (@features, \%tmp) ;
+    			}
+    			## for int = xx and mz = xxx.xxx
+    			elsif ($field =~/\s+(\d+\.\d+)\s+(\d+)\s+(\d+)/) {
+    				my %tmp = ( 'mz' => $1, 'intensity' => $2, 'relative_intensity' => $3 ) ;
+    				push (@features, \%tmp) ;
+    			}
+    			## for int = xxxxx.xxx and mz = xxx
+    			elsif ($field =~/\s+(\d+)\s+(\d+\.\d+)\s+(\d+)/) {
+    				my %tmp = ( 'mz' => $1, 'intensity' => $2, 'relative_intensity' => $3 ) ;
+    				push (@features, \%tmp) ;
+    			}
+    			## for int = x.xxxex and m/z = xxx.xxx (int with exposant)
+    			elsif ($field =~/\s+(\d+\.\d+)\s+(\d+\.\d+)e(\d)\s+(\d+)/) {
+    				my %tmp = ( 'mz' => $1, 'intensity' => ($2*(10*$3)), 'relative_intensity' => $4 ) ;
+    				push (@features, \%tmp) ;
+    			}
+    		}
+	    	else { next ; }
+    	}
+    	# for db field
+    }
+    else {
+    	croak "Can't work with a undef / none existing massbank handler\n" ;
+    }
+    return(\@features) ;
+}
+## END of SUB
+
+=head2 METHOD getIdFromString
+
+	## Description : get the accesion id of massbank record
+	## Input : $record
+	## Output : $id
+	## Usage : my ( $id ) = getIdFromString ( $record ) ;
+	
+=cut
+## START of SUB
+sub getIdFromString {
+    ## Retrieve Values
+    my $self = shift ;
+    my ( $record ) = @_;
+    my ( $id ) = ( undef ) ;
+    
+    if ( defined $record ) {
+    	my @tmp = split(/\n/, $record) ;
+    	foreach my $field (@tmp) {
+    		if ($field =~/ACCESSION:\s+(.+)/) { 
+				$id = $1;
+    		}
+    	}
+    	# for db field
+    }
+    else {
+    	croak "Can't work with a undef / none existing massbank handler\n" ;
+    }
+    
+    return ($id) ;
+}
+### END of SUB
+
+
+
+=head2 METHOD getInstrumentTypeFromString
+
+	## Description : get the instrument type of massbank record
+	## Input : $record
+	## Output : $instrumentType
+	## Usage : my ( $instrumentType ) = getInstrumentTypeFromString ( $record ) ;
+	
+=cut
+## START of SUB
+sub getInstrumentTypeFromString {
+    ## Retrieve Values
+    my $self = shift ;
+    my ( $record ) = @_;
+    my ( $instrumentType ) = ( undef ) ;
+    
+    if ( defined $record ) {
+    	my @tmp = split(/\n/, $record) ;
+    	foreach my $field (@tmp) {
+    		if ($field =~/INSTRUMENT_TYPE:\s+(.+)/) { 
+				$instrumentType = $1;
+    		}
+    	}
+    	# for db field
+    }
+    else {
+    	croak "Can't work with a undef / none existing massbank handler\n" ;
+    }
+    
+    return ($instrumentType) ;
+}
+### END of SUB
+
+=head2 METHOD getFormulaFromString
+
+	## Description : get the elementar formula of massbank record
+	## Input : $record
+	## Output : $formula
+	## Usage : my ( $formula ) = getFormulaFromString ( $record ) ;
+	
+=cut
+## START of SUB
+sub getFormulaFromString {
+    ## Retrieve Values
+    my $self = shift ;
+    my ( $record ) = @_;
+    my ( $formula ) = ( undef ) ;
+    
+    if ( defined $record ) {
+    	my @tmp = split(/\n/, $record) ;
+    	foreach my $field (@tmp) {
+    		if ($field =~/CH\$FORMULA:\s+(.+)/) { 
+				$formula = $1;
+    		}
+    	}
+    	# for db field
+    }
+    else {
+    	croak "Can't work with a undef / none existing massbank handler\n" ;
+    }
+    
+    return ($formula) ;
+}
+### END of SUB
+
+=head2 METHOD getInchiFromString
+
+	## Description : get the IUPAC InCHi of massbank record
+	## Input : $record
+	## Output : $inchi
+	## Usage : my ( $inchi ) = getInchiFromString ( $record ) ;
+	
+=cut
+## START of SUB
+sub getInchiFromString {
+    ## Retrieve Values
+    my $self = shift ;
+    my ( $record ) = @_;
+    my ( $inchi ) = ( undef ) ;
+    
+    if ( defined $record ) {
+    	my @tmp = split(/\n/, $record) ;
+    	foreach my $field (@tmp) {
+    		if ($field =~/CH\$IUPAC:\s+(.+)/) {
+				$inchi = $1;
+    		}
+    	}
+    	# for db field
+    }
+    else {
+    	croak "Can't work with a undef / none existing massbank handler\n" ;
+    }
+    
+    return ($inchi) ;
+}
+### END of SUB
+
+=head2 METHOD getExactMzFromString
+
+	## Description : get the exact mass of massbank record
+	## Input : $record
+	## Output : $exactMass
+	## Usage : my ( $exactMass ) = getExactMzFromString ( $record ) ;
+	
+=cut
+## START of SUB
+sub getExactMzFromString {
+    ## Retrieve Values
+    my $self = shift ;
+    my ( $record ) = @_;
+    my ( $exactMass ) = ( undef ) ;
+    
+    if ( defined $record ) {
+    	my @tmp = split(/\n/, $record) ;
+    	foreach my $field (@tmp) {
+    		if ($field =~/CH\$EXACT_MASS:\s+(.+)/) { 
+				$exactMass = $1;
+    		}
+    	}
+    	# for db field
+    }
+    else {
+    	croak "Can't work with a undef / none existing massbank handler\n" ;
+    }
+    
+    return ($exactMass) ;
+}
+### END of SUB
+
+
+=head2 METHOD getPrecursorTypeFromString
+
+	## Description : get the precursor type of massbank record
+	## Input : $record
+	## Output : $precursorType
+	## Usage : my ( $precursorType ) = getPrecursorTypeFromString ( $record ) ;
+	
+=cut
+## START of SUB
+sub getPrecursorTypeFromString {
+    ## Retrieve Values
+    my $self = shift ;
+    my ( $record ) = @_;
+    my $id = undef ;
+    my $precursorType = undef ;
+    my $precursorType_first  = undef ;
+    my $ionType_first  = undef ;
+    my $precursorType_optionnal = undef ;
+    
+    if ( defined $record ) {
+    	my @tmp = split(/\n/, $record) ;
+    	foreach my $field (@tmp) {
+    		if ($field =~/ACCESSION:\s+(.+)/) { 
+				$id = $1;
+    		}
+    		if ($field =~/RECORD_TITLE:\s+(.+)/) { 
+				my @title = split(/;/, $1) ;
+				$precursorType_optionnal = $title[-1] ;
+				$precursorType_optionnal =~ s/\s//g ;
+    		}
+    		if ($field =~/PRECURSOR_TYPE(.+)/) {
+				$precursorType_first = $1;
+				last;
+    		}
+    		if ($field =~/ION_TYPE(.+)/) {
+				$ionType_first = $1;
+				last;
+    		}
+    	}
+    	# for db field
+    }
+    else {
+    	croak "Can't work with a undef / none existing massbank handler\n" ;
+    }
+    
+    ## manage undef precursor/ion type field 
+#    print "ID:$id-//-$precursorType_first-//-$ionType_first-//-$precursorType_optionnal\n" ;
+    if (defined $precursorType_first) {
+    	$precursorType = $precursorType_first ;
+    }
+    elsif ( (!defined $precursorType_first) and (defined $ionType_first) ) {
+    	$precursorType = $ionType_first ;
+    }
+    elsif ( (!defined $precursorType_first) and (!defined $ionType_first) and (defined $precursorType_optionnal) ) {
+    	$precursorType = $precursorType_optionnal ;
+    }
+    else {
+    	$precursorType = 'NA' ;
+    }
+    
+    return ($precursorType) ;
+}
+### END of SUB
+
+=head2 METHOD getMsTypeFromString
+
+	## Description : get the MS type of massbank record
+	## Input : $record
+	## Output : $msType
+	## Usage : my ( $msType ) = getMsTypeFromString ( $record ) ;
+	
+=cut
+## START of SUB
+sub getMsTypeFromString {
+    ## Retrieve Values
+    my $self = shift ;
+    my ( $record ) = @_;
+    my ( $msType ) = ( undef ) ;
+    
+    if ( defined $record ) {
+    	my @tmp = split(/\n/, $record) ;
+    	foreach my $field (@tmp) {
+    		if ($field =~/AC\$MASS_SPECTROMETRY:\s+MS_TYPE\s+(.+)/) { 
+				$msType = $1;
+    		}
+    	}
+    	# for db field
+    }
+    else {
+    	croak "Can't work with a undef / none existing massbank handler\n" ;
+    }
+    
+    return ($msType) ;
+}
+### END of SUB
+
+=head2 METHOD getChemNamesFromString
+
+	## Description : get lits of names of a massbank record
+	## Input : $record
+	## Output : $names
+	## Usage : my ( $names ) = getChemNamesFromString( $record ) ;
+	
+=cut
+## START of SUB
+sub getChemNamesFromString {
+	## Retrieve Values
+    my $self = shift ;
+    my ( $record ) = @_ ;
+    
+    my @names = () ;
+    if ( defined $record ) {
+    	my @tmp = split(/\n/, $record) ;
+    	foreach my $field (@tmp) {   		
+    		if ($field =~/CH\$NAME: (.*)/) { 
+    			push(@names, $1 ) ;  }
+	    	else { next ; }
+    	}
+    }
+    else {
+    	croak "Can't work with a undef / none existing massbank record (string)\n" ;
+    }
+    return(\@names) ;
+}
+## END of SUB
+
+
+
+
+
+=head2 METHOD getMassBankHandler
+
+	## Description : get a massbank handler from a file
+	## Input : $record
+	## Output : $massbankHandler
+	## Usage : my ( $massbankHandler ) = getMassBankHandler ( $record ) ;
+	
+=cut
+## START of SUB
+sub getMassBankHandler {
+    ## Retrieve Values
+    my $self = shift ;
+    my ( $record ) = @_;
+    my ( $massbankHandler ) = ( undef ) ;
+    
+    ## TODO...
+    
+    return ($massbankHandler) ;
+}
+### END of SUB
+
+=head2 METHOD get_annotations_data
+
+	## Description : permet de recuperer tous les champs d'un object massbank
+	## Input : $ms_file
+	## Output : $features
+	## Usage : my ( $features ) = get_annotations_data( $ms_file ) ;
+	
+=cut
+## START of SUB
+sub get_annotations_data {
+	## Retrieve Values
+    my $self = shift ;
+    my ( $ms_file ) = @_ ;
+    
+    my @features = () ;
+    if ( ( defined $ms_file ) and ( -e $ms_file )) {
+    	open(MS, "<$ms_file") or die "Cant' read the file $ms_file\n" ;
+    	while ( my $field = <MS> ){
+    		chomp $field ;    		
+    		if ($field =~/PK\$ANNOTATION:(.*)/) { push( @features, $1) ;  }
+	    	else { next ; }
+    	}
+    	close(MS) ;
+    	# for db field
+    }
+    else {
+    	croak "Can't work with a undef / none existing massbank file\n" ;
+    }
+    return(\@features) ;
+}
+## END of SUB
+
+=head2 METHOD get_links_data
+
+	## Description : permet de recuperer tous les champs d'un object massbank
+	## Input : $ms_file
+	## Output : $features
+	## Usage : my ( $features ) = get_annotations_data( $ms_file ) ;
+	
+=cut
+## START of SUB
+sub get_links_data {
+	## Retrieve Values
+    my $self = shift ;
+    my ( $ms_file ) = @_ ;
+    
+    my %features = () ;
+    my $control = 0 ;
+    
+    my ( @CAS, @KEGG, @PUBCHEM ) = ((), (), ()) ;
+    
+    if ( ( defined $ms_file ) and ( -e $ms_file )) {
+    	open(MS, "<$ms_file") or die "Cant' read the file $ms_file\n" ;
+    	while ( my $field = <MS> ){
+    		chomp $field ;    		
+    		if ($field =~/CH\$LINK: CAS (.*)/) { push (@CAS, $1) ; $control++; }
+    		elsif ($field =~/CH\$LINK: KEGG (.*)/) { push (@KEGG, $1) ; $control++; }
+    		elsif ($field =~/CH\$LINK: PUBCHEM CID (.*)/) { push (@PUBCHEM, $1) ; $control++; }
+    		## others !!?
+    		
+	    	else { next ; }
+    	}
+    	close(MS) ;
+    	# for db field
+    }
+    else {
+    	croak "Can't work with a undef / none existing massbank file\n" ;
+    }
+    
+    $features{'CAS'} = \@CAS ;
+    $features{'KEGG'} = \@KEGG ;
+    $features{'PUBCHEM'} = \@PUBCHEM ;
+    
+    return(\%features) ;
+}
+## END of SUB
+
+=head2 METHOD get_ms_record_links_data
+
+	## Description : permet de recuperer tous les champs d'un object massbank
+	## Input : $ms_file
+	## Output : $features
+	## Usage : my ( $features ) = get_ms_record_links_data( $ms_file ) ;
+	
+=cut
+## START of SUB
+sub get_ms_record_links_data {
+	## Retrieve Values
+    my $self = shift ;
+    my ( $ms_file ) = @_ ;
+    
+    ## Internal reference for MASSBANK and RESPECT
+    
+    my @massbank_id = ( 'TUE', 'GLS', 'AU', 'MSJ', 'ML','FIO', 'UF', 'CO', 'UO', 'TT', 'OUF', 'MCH', 'NU', 'KNA', 'MT', 'CE', 'KO', 'KZ', 'JEL', 'JP', 'PR', 'BML', 'CA', 'TY', 'PB', 'FU', 'EA', 'UT', 'BSU', 'WA' ) ;
+    my @respect_id = ( 'PS', 'PT', 'PM' ) ;
+    
+    my $dabase_used = undef ;
+    my %db = ( 'accession' => undef, 'name' => undef ) ;
+    my $control = 0 ;
+    
+    if ( $ms_file ) {
+    	my $filename = basename("$ms_file",  ".txt");
+    	
+    	if ( $filename =~ /(\w+)$/ ) { # keep only record id (0001-PS0002 => PS0002 or BJ0045 => BJ0045) 
+    		$db{'accession'} = $1 ;
+    		$control++ ;
+    		if ( ( defined $db{'accession'} ) and ( $db{'accession'} =~ /(\D+)(\d+)/) ) {
+    			my ($key, $eval) = ($1, 0) ;
+    			foreach (@respect_id) { if ($_ eq $key) { $db{'name'} = 'RESPECT' ; $eval = 1 ; last ; } }
+    			foreach (@massbank_id) { if ($_ eq $key) { $db{'name'} = 'MASSBANK' ; $eval = 1 ; last ; } }
+    			if ( $eval == 0 ){ 	carp "The following key ($key) for $db{'accession'} has an unknown reference (not a Massbank or ReSpect source)\n" ; }
+    		}
+    	}
+    }
+    if ($control == 0) { %db = () ;  }
+	return(\%db) ;
+}
+## END of SUB
+
+
+1 ;
+
+
+__END__
+
+=head1 SUPPORT
+
+You can find documentation for this module with the perldoc command.
+
+ perldoc parser::chem::massbank.pm
+
+=head1 Exports
+
+=over 4
+
+=item :ALL is ...
+
+=back
+
+=head1 AUTHOR
+
+Franck Giacomoni E<lt>franck.giacomoni@clermont.inra.frE<gt>
+
+=head1 LICENSE
+
+This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
+
+=head1 VERSION
+
+version 1 : 25 / 06 / 2013
+
+version 2 : ??
+
+=cut
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/lib/threader.pm	Wed Apr 19 11:31:58 2017 -0400
@@ -0,0 +1,264 @@
+package lib::threader ;
+
+use strict;
+use warnings ;
+use Exporter ;
+use Carp ;
+use threads;
+use threads::shared;
+use Thread::Queue;
+use diagnostics ;
+use Data::Dumper ;
+use Carp qw (cluck croak carp) ;
+use LWP::UserAgent;
+use LWP::Simple ; ## Lib de protocole HTTP de download
+use SOAP::Lite + trace => qw(fault); ## SOAP for web service version 0.67
+import SOAP::Data qw(name);
+
+use Data::Dumper ;
+
+use vars qw($VERSION @ISA @EXPORT %EXPORT_TAGS);
+
+our $VERSION = "1.0";
+our @ISA = qw(Exporter);
+our @EXPORT = qw(threading_getRecordInfo);
+our %EXPORT_TAGS = ( ALL => [qw(threading_getRecordInfo )] );
+
+=head1 NAME
+
+My::Module - An example module
+
+=head1 SYNOPSIS
+
+    use My::Module;
+    my $object = My::Module->new();
+    print $object->as_string;
+
+=head1 DESCRIPTION
+
+This module does not really exist, it
+was made for the sole purpose of
+demonstrating how POD works.
+
+=head1 METHODS
+
+Methods are :
+
+=head2 METHOD new
+
+	## Description : new
+	## Input : $self
+	## Ouput : bless $self ;
+	## Usage : new() ;
+
+=cut
+
+sub new {
+    ## Variables
+    my $self={};
+    bless($self) ;
+    return $self ;
+}
+### END of SUB
+
+=head2 METHOD searchSpectrumWorker
+
+	## Description : work with searchSpectrum method in threading mode
+	## Input : $Qworks
+	## Output : $results
+	## Usage : my ( $results ) = searchSpectrumWorker( $Qworks ) ;
+	
+=cut
+## START of SUB
+sub searchSpectrumWorker {
+	my $self = shift;
+	my ($Qworks, $server, $ion_mode, $instruments, $max, $unit, $tol, $cutoff) = @_ ;
+	my @results = () ;
+	my @fake = () ;
+
+	my $omassbank = lib::massbank_api->new() ;
+	my $soap = $omassbank->selectMassBank($server) ;
+	
+	while(my $pcgroup = $Qworks->dequeue) {
+#		print Dumper $pcgroup ;
+	    my $oquery= lib::massbank_api->new() ;
+		my ($result, $num) = eval{$oquery->searchSpectrum($soap, $pcgroup->{'id'}, $pcgroup->{'mzmed'}, $pcgroup->{'into'}, $ion_mode, $instruments, $max, $unit, $tol, $cutoff) ; } or die;
+#		print "The query send to massbank return $num entries...\n" ;
+#		print Dumper $result ;
+
+		if (!defined $num) { $num = 0  ; }
+		if ($num >= 0 ) {
+			push @results, $result ;
+		}
+		else {
+			push @fake, $pcgroup ;
+		}
+    }
+	return (@results) ;
+}
+## END of SUB
+
+   
+=head2 METHOD threading_getRecordInfo
+
+	## Description : prepare parallel threads - DEPRECATED
+	## Input : $soap, $list
+	## Output : $results
+	## Usage : my ( $results ) = threading_getRecordInfo( $soap, $list ) ;
+	
+=cut
+## START of SUB
+sub threading_getRecordInfo {
+	## Retrieve Values
+    my $self = shift ;
+    my ( $osoap, $list ) = @_ ;
+    
+    my @results = () ;
+    my $i = 0 ; # position in the ids list
+    
+    if ( ( defined $list ) ) {
+    	
+    	my $oquery = lib::massbank_api->new() ;
+    	
+    	for (my $i = 0; $i < (scalar @{$list}); $i++ ) {
+    		my $thr = threads->create( sub { $oquery->getRecordInfo($osoap, $list->[$i]) } ) ;
+    		push ( @results, $thr->join )  if $list->[$i] ;
+    	}
+    }
+    else {
+    	warn "Your input list of ids is undefined\n" ;
+    }
+    return(\@results) ;
+}
+## END of SUB
+
+
+=head2 METHOD threading_searchSpectrum
+
+	## Description : prepare parallel threads - DEPRECATED
+	## Input : $soap, 
+	## Output : $results
+	## Usage : my ( $results ) = threading_searchSpectrum( $soap,  ) ;
+	
+=cut
+## START of SUB
+sub threading_searchSpectrum {
+	
+	## http://www.perlmonks.org/?node_id=735923
+	## http://www.nntp.perl.org/group/perl.ithreads/2003/05/msg696.html
+	## http://stackoverflow.com/questions/15222480/web-service-using-perl-wsdl-and-multi-threading-does-not-working
+	## Retrieve Values
+    my $self = shift ;
+    my ( $osoap, $pcgroup_list, $pcgroups, $ion_mode, $instruments, $max, $unit, $tol, $cutoff ) = @_ ;
+    
+    my @results = () ;
+    my $n = 6 ; # position in the ids list
+    
+    if ( ( defined $pcgroups ) ) {
+    	
+    	print Dumper $pcgroups ;
+    	
+    	my $oquery = lib::massbank_api->new() ;
+    	
+    	foreach my $pc (@{$pcgroup_list}) {
+    		
+    		print "\t---> Create a thread for pcgroup n-$pc\n" ;
+    		
+    		my $thr = threads->create(
+    			sub { 
+    					$oquery->searchSpectrum($osoap, $pcgroups->{$pc}{'mzmed'}, $pcgroups->{$pc}{'into'}, $ion_mode, $instruments, $max, $unit, $tol, $cutoff) ;
+    			} 
+    		) ;
+    		push ( @results, $thr->join ) ;
+    	} ## end foreach
+    }
+    else {
+    	warn "Your input list of ids is undefined\n" ;
+    }
+    return(\@results) ;
+}
+## END of SUB
+
+
+=head2 METHOD thread_and_queue_searchSpectrum
+
+	## Description : prepare parallel and queuing threads - DEPRECATED
+	## Input : $soap, 
+	## Output : $results
+	## Usage : my ( $results ) = thread_and_queue_searchSpectrum( $soap,  ) ;
+	
+=cut
+## START of SUB
+sub thread_and_queue_searchSpectrum {
+#    my $self = shift;
+#    my ( ) = @_;
+#    
+#    our $THREADS = 10;
+#	my $Qwork = new Thread::Queue;
+#	my $Qresults = new Thread::Queue;
+#	
+#	## Create the pool of workers
+#	my @pool = map{
+#	    threads->create( \&worker, $Qwork, $Qresults )
+#	} 1 .. $THREADS;
+#	
+#	## Get the work items (from somewhere)
+#	## and queue them up for the workers
+#	while( my $workItem = getWorkItems() ) {
+#	    $Qwork->enqueue( $workItem );
+#	}
+#	
+#	## Tell the workers there are no more work items
+#	$Qwork->enqueue( (undef) x $THREADS );
+#	
+#	## Process the results as they become available
+#	## until all the workers say they are finished.
+#	for ( 1 .. $THREADS ) {
+#	    while( my $result = $Qresults->dequeue ) {
+#	
+#	        ## Do something with the result ##
+#	        print $result;
+#	    }
+#	}
+#	
+#	## Clean up the threads
+#	$_->join for @pool;
+}
+## END of SUB
+
+
+
+1 ;
+
+
+__END__
+
+=head1 SUPPORT
+
+You can find documentation for this module with the perldoc command.
+
+ perldoc XXX.pm
+
+=head1 Exports
+
+=over 4
+
+=item :ALL is ...
+
+=back
+
+=head1 AUTHOR
+
+Franck Giacomoni E<lt>franck.giacomoni@clermont.inra.frE<gt>
+
+=head1 LICENSE
+
+This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
+
+=head1 VERSION
+
+version 1 : xx / xx / 201x
+
+version 2 : ??
+
+=cut
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/lib/writter.pm	Wed Apr 19 11:31:58 2017 -0400
@@ -0,0 +1,300 @@
+package lib::writter ;
+
+use strict;
+use warnings ;
+use Exporter ;
+use Carp ;
+
+use Data::Dumper ;
+use JSON ;
+use HTML::Template ;
+
+use vars qw($VERSION @ISA @EXPORT %EXPORT_TAGS);
+
+our $VERSION = "1.0";
+our @ISA = qw(Exporter);
+our @EXPORT = qw( write_csv_skel write_xls_skel write_json_skel write_html_skel );
+our %EXPORT_TAGS = ( ALL => [qw( write_csv_skel write_xls_skel write_json_skel write_html_skel )] );
+
+=head1 NAME
+
+My::Module - An example module
+
+=head1 SYNOPSIS
+
+    use My::Module;
+    my $object = My::Module->new();
+    print $object->as_string;
+
+=head1 DESCRIPTION
+
+This module does not really exist, it
+was made for the sole purpose of
+demonstrating how POD works.
+
+=head1 METHODS
+
+Methods are :
+
+=head2 METHOD new
+
+	## Description : new
+	## Input : $self
+	## Ouput : bless $self ;
+	## Usage : new() ;
+
+=cut
+
+sub new {
+    ## Variables
+    my $self={};
+    bless($self) ;
+    return $self ;
+}
+### END of SUB
+
+=head2 METHOD write_csv_skel
+
+	## Description : prepare and write csv output file
+	## Input : $csv_file, $rows
+	## Output : $csv_file
+	## Usage : my ( $csv_file ) = write_csv_skel( $csv_file, $rows ) ;
+	
+=cut
+## START of SUB
+sub write_csv_skel {
+	## Retrieve Values
+    my $self = shift ;
+    my ( $csv_file, $rows ) = @_ ;
+    
+    my $ocsv = lib::csv::new( {is_binary => 1 , quote_binary => 0, quote_char => undef }) ;
+	my $csv = $ocsv->get_csv_object("\t") ;
+	$ocsv->write_csv_from_arrays($csv, $$csv_file, $rows) ;
+    
+    return($csv_file) ;
+}
+## END of SUB
+
+=head2 METHOD write_xls_skel
+
+	## Description : prepare and write xls output file
+	## Input : $xls_file, $rows
+	## Output : $xls_file
+	## Usage : my ( $xls_file ) = write_xls_skel( $xls_file, $rows ) ;
+	
+=cut
+## START of SUB
+sub write_xls_skel {
+	## Retrieve Values
+    my $self = shift ;
+    my ( $out_xls, $mzs, $pcs, $pcgroups, $records ) = @_ ;
+    
+    my $results = undef ;
+    my $i = 0 ;
+    
+    open(XLS, '>:utf8', "$$out_xls") or die "Cant' create the file $$out_xls\n" ;
+    print XLS "ID\tPCGROUP\tQuery(Da)\tScore\tMetabolite_name\tCpd_Mw(Da)\tFormula\tAdduct\tMASSBANK_ID\tInstrument\tMS_level\n" ;
+
+    $results = ['ID','PCGROUP','Query(Da)','Score','Metabolite_name','Cpd_Mw(Da)','Formula','Adduct','MASSBANK_ID','Instrument','MS_level'] ;
+    
+    foreach my $pc (@{$pcs}) {
+    	
+    	if ($pcgroups->{$pc}) {
+#    		print "------>$pc - $pcgroups->{$pc}{annotation}{num_res}\n" ;
+    		
+    		if ( $pcgroups->{$pc}{'annotation'} ) {
+    			my $result = undef ;
+    			my $well_id = "mz_0".sprintf("%04s", $i+1 ) ;
+    			
+    			if ($pcgroups->{$pc}{'annotation'}{'num_res'} > 0) {
+
+    				my @entries = @{$pcgroups->{$pc}{'annotation'}{'res'} } ;
+    				my $status = undef ;
+    				foreach my $entry (@entries) {
+    					my $match = undef ;
+    					## manage if the queried mz is really in the mzs spectrum list...
+    					
+    					if ( $pcgroups->{$pc}{'enrich_annotation'}{$mzs->[$i]} ) {
+    						
+    						my @matching_ids = @{$pcgroups->{$pc}{'enrich_annotation'}{$mzs->[$i]}} ;
+    						
+    						## 
+    						if ( scalar @matching_ids == 0 ) {
+    							$result .= $well_id."\t".$pc."\t".$mzs->[$i]."\t".'0'."\t".'UNKNOWN'."\t".'NA'."\t".'NA'."\t".'NA'."\t".'NA'."\t".'NA'."\t".'NA'."\n" ;
+	    						print XLS "$well_id\t$pc\t$mzs->[$i]\t0\tNA\tNA\tNA\tNA\tNA\tNA\tNA\n" ;
+	    						last ;
+    						}
+    						else {
+    							# search the massbank matched id
+    							foreach (@matching_ids) {
+	    							if ($_ eq $entry->{'id'} ) {
+	    								$match = 'TRUE' ;
+	    								last ;
+	    							}
+	    						}
+	    						
+	    						if ( ( defined $match ) and ($match eq 'TRUE') ) {
+	    							## sort by ['ID','PCGROUP','Query(Da)','Score','Metabolite_name','Cpd_Mw(Da)','Formula','Adduct','MASSBANK_ID','Instrument','MS_level']
+	    							
+			    					## print mz_id
+				    				if ($mzs->[$i]) { 	print XLS "$well_id\t" ; $result .= $well_id."\t" ; 	}
+				    				else {				print XLS "NA\t" ; }
+				    				## print submitted pcgroup
+				    				if ($pc ) { 	 print XLS "$pc\t" ; $result .= $pc."\t" ; 	} ## pb de clean de la derniere ligne !!!!!!
+				    				else {		print XLS "NA\t" ; }
+				    				## print Query(Da)
+				    				if ($mzs->[$i]) { 	print XLS "$mzs->[$i]\t" ; $result .= $mzs->[$i]."\t" ; 	}
+				    				else {				print XLS "NA\t" ; }
+				    				
+				    				## print Score
+				    				if ($entry->{'score'}) { 	print XLS "$entry->{'score'}\t" ; $result .= $entry->{'score'}."\t" ; 	}
+				    				else {				print XLS "NA\n" ; }
+				    				## print Met_name
+				    				if ($entry->{'id'}) { 	print XLS "$records->{$entry->{'id'}}{names}[0]\t" ; $result .= $records->{$entry->{'id'}}{names}[0]."\t" ; 	}
+				    				else {				print XLS "NA\t" ; }
+				    				## print Cpd_mw
+				    				if ($entry->{'exactMass'}) { 	print XLS "$entry->{'exactMass'}\t" ; $result .= $entry->{'exactMass'}."\t" ; 	}
+				    				else {				print XLS "NA\t" ; }
+				    				## print Formula
+				    				if ($entry->{'formula'}) { 	print XLS "$entry->{'formula'}\t" ; $result .= $entry->{'formula'}."\t" ; 	}
+				    				else {				print XLS "NA\t" ; }
+				    				## print Adduct (precursor type)
+				    				if ($entry->{'id'}) { 	print XLS "$records->{$entry->{'id'}}{precursor_type}\t" ; $result .= $records->{$entry->{'id'}}{precursor_type}."\t" ; 	}
+				    				else {				print XLS "NA\t" ; }
+				    				## print Massbank ID
+				    				if ($entry->{'id'}) { 	print XLS "$entry->{'id'}\t" ; $result .= $entry->{'id'}."\t" ; 	}
+				    				else {				print XLS "NA\t" ; }
+				    				## print Instrument
+				    				if ($entry->{'id'}) { 	print XLS "$records->{$entry->{'id'}}{instrument_type}\t" ; $result .= $records->{$entry->{'id'}}{instrument_type}."\t" ; 	}
+				    				else {				print XLS "NA\t" ; }
+				    				## print MS_Level
+									if ($entry->{'id'}) { 	print XLS "$records->{$entry->{'id'}}{ms_type}\n" ; $result .= $records->{$entry->{'id'}}{ms_type}."\n" ; 	}
+				    				else {				print XLS "NA\n" ; }
+	
+	    						}
+	    						## else match is not TRUE
+	    						else {
+	    							next ;
+	    						}
+    						}
+    					}
+    				} ## End foreach entries
+    			}
+    			else {
+    				$result .= $well_id."\t".$pc."\t".$mzs->[$i]."\t".'0'."\t".'UNKNOWN'."\t".'NA'."\t".'NA'."\t".'NA'."\t".'NA'."\t".'NA'."\t".'NA'."\n" ;
+    				print XLS "$well_id\t$pc\t$mzs->[$i]\t0\tNA\tNA\tNA\tNA\tNA\tNA\tNA\n" ;
+    			}
+    		}
+    		else{
+    			warn "Not possible to get number of found ids on MassBank\n" ;
+    		}
+    	}
+    	else {
+    		croak "No such pc group exists in your pcgroups object - No xls written\n" ;
+    	}
+    	$i++ ;
+    	
+    } ## End foreach pcs
+    
+	close(XLS) ;
+    return($results) ;
+}
+## END of SUB
+
+=head2 METHOD write_json_skel
+
+	## Description : prepare and write json output file
+	## Input : $json_file, $scalar
+	## Output : $json_file
+	## Usage : my ( $json_file ) = write_json_skel( $csv_file, $scalar ) ;
+	
+=cut
+## START of SUB
+sub write_json_skel {
+	## Retrieve Values
+    my $self = shift ;
+    my ( $json_file, $scalar ) = @_ ;
+    
+    my $utf8_encoded_json_text = encode_json $scalar ;
+    open(JSON, '>:utf8', "$$json_file") or die "Cant' create the file $$json_file\n" ;
+    print JSON $utf8_encoded_json_text ;
+    close(JSON) ;
+    
+    return($json_file) ;
+}
+## END of SUB
+
+=head2 METHOD write_html_skel
+
+	## Description : prepare and write the html output file
+	## Input : $html_file_name, $html_object, $html_template
+	## Output : $html_file_name
+	## Usage : my ( $html_file_name ) = write_html_skel( $html_file_name, $html_object ) ;
+	
+=cut
+## START of SUB
+sub write_html_skel {
+	## Retrieve Values
+    my $self = shift ;
+    my ( $html_file_name,  $html_object, $pages , $search_condition, $html_template, $js_path, $css_path ) = @_ ;
+    
+    my $html_file = $$html_file_name ;
+    
+    if ( defined $html_file ) {
+		open ( HTML, ">$html_file" ) or die "Can't create the output file $html_file " ;
+		
+		if (-e $html_template) {
+			my $ohtml = HTML::Template->new(filename => $html_template);
+			$ohtml->param(  JS_GALAXY_PATH => $js_path, CSS_GALAXY_PATH => $css_path  ) ;
+			$ohtml->param(  CONDITIONS => $search_condition  ) ;
+			$ohtml->param(  PAGES_NB => $pages  ) ;
+			$ohtml->param(  PAGES => $html_object  ) ;
+			print HTML $ohtml->output ;
+		}
+		else {
+			croak "Can't fill any html output : No template available ($html_template)\n" ;
+		}
+		
+		close (HTML) ;
+    }
+    else {
+    	croak "No output file name available to write HTML file\n" ;
+    }
+    return(\$html_file) ;
+}
+## END of SUB
+
+1 ;
+
+
+__END__
+
+=head1 SUPPORT
+
+You can find documentation for this module with the perldoc command.
+
+ perldoc writter.pm
+
+=head1 Exports
+
+=over 4
+
+=item :ALL is ...
+
+=back
+
+=head1 AUTHOR
+
+Franck Giacomoni E<lt>franck.giacomoni@clermont.inra.frE<gt>
+
+=head1 LICENSE
+
+This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
+
+=head1 VERSION
+
+version 1 : 14 / 08 / 2015
+
+version 2 : ??
+
+=cut
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/massbank.tmpl	Wed Apr 19 11:31:58 2017 -0400
@@ -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="INRA de Clermont-Ferrand"><title>Galaxy MassBank (by spectra) queries - All results</title><link rel="stylesheet" type="text/css" href="css.php" media="all"><link rel="stylesheet" type="text/css" href="<TMPL_VAR NAME=CSS_GALAXY_PATH>/simplePagination.css"/><!-- JavaScript --><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 type="text/css">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 MASSBANK 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><!-- HeadRows--><table id="detail_table" class="detail"><col style="width:30px;"><!-- Ids (m/z)--><col style="width:30px;"><!-- Pcgroup --><col style="width:30px;"><!-- Mass (m/z)--><col style="width:120px;"><!-- Met name--><col style="width:50px;"><!-- Cpd ID--><col style="width:40px;"><!-- formula--><col style="width:60px;"><!-- cpd mw--><col style="width:50px;"><!-- MS type --><col style="width:20px;"><!-- ion/prec. type--><col style="width:80px;"><!-- Instrument type--><col style="width:60px;"><!-- score--><col style="width:60px;"><!-- INCHI--><thead><th>ID from input</th><th>PCGroup</th><th>Mass (m/z)</th><th>Metabolite name</th><th>Compound ID</th><th>Formula</th><th>Compound MW (Da)</th><th>MS type</th><th>ion/prec. type</th><th>Instr. type</th><th>Score</th><th>InChI Identifier</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_PCGROUP_QUERY></td><td class="ca"><TMPL_VAR NAME=MASSES_MZ_QUERY></td><td class="ca" colspan="9"></td></tr><TMPL_LOOP NAME=ENTRIES><tr class="<TMPL_VAR NAME=ENTRY_COLOR>"><td class="ca" colspan="3"></td><td class="ca"><TMPL_VAR NAME=ENTRY_ENTRY_NAME></td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=<TMPL_VAR NAME=ENTRY_ENTRY_ID2>" target="_blank" class="btn"><TMPL_VAR NAME=ENTRY_ENTRY_ID></a></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_MS_TYPE></td><td class="ca"><TMPL_VAR NAME=ENTRY_PRECURSOR_TYPE></td><td class="ca"><TMPL_VAR NAME=ENTRY_INSTRUMENT_TYPE></td><td class="ca"><TMPL_VAR NAME=ENTRY_SCORE></td><td class="ca"><TMPL_VAR NAME=ENTRY_ENTRY_INCHI></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>Copyright &copy; INRA, N Paulhe, F Giacomoni 2014 </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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/massbank_ws_searchspectrum.pl	Wed Apr 19 11:31:58 2017 -0400
@@ -0,0 +1,423 @@
+#!perl
+
+## script  : XXX.pl
+
+## Notes :
+#	-> manage score sorting : Cleaned_pcGroups done but not in outputs !
+
+#=============================================================================
+#                              Included modules and versions
+#=============================================================================
+## Perl modules
+use strict ;
+use warnings ;
+use Carp qw (cluck croak carp) ;
+
+use threads;
+use threads::shared;
+use Thread::Queue;
+
+use Data::Dumper ;
+use Getopt::Long ;
+use POSIX ;
+use FindBin ; ## Allows you to locate the directory of original perl script
+
+## Specific Perl Modules (PFEM)
+use lib $FindBin::Bin ;
+my $binPath = $FindBin::Bin ;
+use lib::csv  qw( :ALL ) ;
+use lib::conf  qw( :ALL ) ;
+
+## Dedicate Perl Modules (Home made...)
+use lib::massbank_api qw( :ALL ) ;
+use lib::threader qw(:ALL) ;
+use lib::mapper qw(:ALL) ;
+use lib::writter qw(:ALL) ;
+use lib::massbank_parser qw(:ALL) ;
+
+
+
+## Initialized values
+my ($help, $mzs_file, $col_mz, $col_int, $col_pcgroup, $line_header ) = ( undef, undef, undef, undef, undef,undef, undef ) ;
+my ($server, $ion_mode, $score_threshold, $instruments, $max, $unit, $tol, $cutoff) = ( undef, undef, undef, undef, undef, undef, undef ) ;
+my ($output_json, $output_tabular, $output_xlsx, $output_html ) = ( undef, undef, undef, undef ) ;
+
+## Local values ONLY FOR TEST :
+#my $server = 'JP' ;
+#my $threading_threshold = 6 ;
+
+#=============================================================================
+#                                Manage EXCEPTIONS
+#=============================================================================
+&GetOptions ( 	"help|h"     		=> \$help,       # HELP
+				"masses:s"			=> \$mzs_file,
+				"col_mz:i"			=> \$col_mz,
+				"col_int:i"			=> \$col_int, ## optionnal
+				"col_pcgroup:i"		=> \$col_pcgroup,
+				"lineheader:i"		=> \$line_header,
+				"mode:s"			=> \$ion_mode, 
+				"score_threshold:f"	=> \$score_threshold, 
+				"instruments:s"		=> \$instruments, # advanced -> to transform into string with comma => done !
+				"max:i"				=> \$max, # advanced
+				"unit:s"			=> \$unit, # advanced
+				"tolerance:f"		=> \$tol, 
+				"cutoff:i"			=> \$cutoff, # advanced : intensity cutoff
+				"server:s"			=> \$server, ## by default JP and # advanced
+				"output_json:s"		=> \$output_json,
+				"output_xlsx:s"		=> \$output_xlsx,
+				"output_tabular:s"	=> \$output_tabular,
+				"output_html:s"		=> \$output_html,
+            ) ;
+         
+## if you put the option -help or -h function help is started
+if ( defined($help) ){ &help ; }
+
+#=============================================================================
+#                                MAIN SCRIPT
+#=============================================================================
+
+## -------------- Conf file ------------------------ :
+my ( $CONF ) = ( undef ) ;
+foreach my $conf ( <$binPath/*.cfg> ) {
+	my $oConf = lib::conf::new() ;
+	$CONF = $oConf->as_conf($conf) ;
+}
+
+## -------------- HTML template file ------------------------ :
+foreach my $html_template ( <$binPath/*.tmpl> ) { $CONF->{'HTML_TEMPLATE'} = $html_template ; }
+
+## Main variables :
+my ($pcs, $mzs, $into, $complete_rows, $pcgroups) = (undef, undef, undef, undef, undef) ;
+
+## manage csv file containing list of masses (every thing is manage in jar)
+if ( ( defined $mzs_file ) and ( $mzs_file ne "" ) and ( -e $mzs_file ) ) {
+	
+	## parse csv ids and masses
+	my $is_header = undef ;
+	my $ocsv = lib::csv->new() ;
+	my $csv = $ocsv->get_csv_object( "\t" ) ;
+	if ( ( defined $line_header ) and ( $line_header > 0 ) ) { $is_header = 'yes' ;    }
+	$pcs = $ocsv->get_value_from_csv_multi_header( $csv, $mzs_file, $col_pcgroup, $is_header, $line_header ) ; ## retrieve pc values on csv
+	$mzs = $ocsv->get_value_from_csv_multi_header( $csv, $mzs_file, $col_mz, $is_header, $line_header ) ; ## retrieve mz values on csv
+	$into = $ocsv->get_value_from_csv_multi_header( $csv, $mzs_file, $col_int, $is_header, $line_header ) if ( defined $col_int ); ## retrieve into values on csv // optionnal in input files
+	$complete_rows = $ocsv->parse_csv_object($csv, \$mzs_file) ; ## parse all csv for output csv build
+
+	## manage input file with no into colunm / init into with a default value of 10
+	if ( !defined $col_int ) {
+		my $nb_mzs = scalar(@{$mzs}) ;
+		my @intos = map {10} (0..$nb_mzs-1) ;
+		my $nb_intos = scalar(@intos) ;
+		if ($nb_intos == $nb_mzs) { $into = \@intos ;	}
+		else { carp "A difference exists between intensity and mz values\n" }
+	}
+	
+	## manage instruments string to array_ref
+	if (defined $instruments ) {
+		if ($instruments eq '') { ## in xml : can select nothing...
+			$instruments = ['all'] ;
+		}
+		else {
+			my @instruments = split(/,/, $instruments) ;
+			$instruments = \@instruments ;
+		}
+	}
+	
+	
+	## Build pcgroups with their features :
+	my $omap = lib::mapper->new() ;
+	$pcgroups = $omap->get_pcgroups($pcs, $mzs, $into ) ;
+	my $pcgroup_list = $omap->get_pcgroup_list($pcs ) ;
+	
+#	print Dumper $pcgroups ;
+	
+	my $pc_num = 0 ;
+	$pc_num = scalar(@{$pcgroup_list}) ;
+	
+	## manage a list of query pc_group dependant:
+	if ($pcgroups) {
+		## - - - - - - -  - - - - -  - - - -  - - - - - Multithreadind mode if pcgroups > 6 - - - - - - - - - - - - - - - - 
+		if ($pc_num > $CONF->{'THREADING_THRESHOLD'}) {
+			print $server."\n" ;
+			print "\n------  ** ** ** Using multithreading mode ** ** ** --------\n\n" ;
+			my $time_start = time ;
+			
+			our $NBTHREADS = $CONF->{'THREADING_THRESHOLD'} ;
+
+#			use constant THREADS => 6 ;
+			my $Qworks = Thread::Queue->new();
+			my @threads = () ;
+			my @queries = () ;
+			my @Qresults = () ;
+			
+			foreach my $pc_group_id (keys %{$pcgroups}) {
+				push (@queries, $pcgroups->{$pc_group_id}) if $pcgroups->{$pc_group_id} ;
+			}
+			
+			for (1..$NBTHREADS) {
+				my $oworker = lib::threader->new ;
+			    push @threads, threads->create(sub { $oworker->searchSpectrumWorker($Qworks, $server, $ion_mode, $instruments, $max, $unit, $tol, $cutoff) ; } ) ;
+			}
+			
+			$Qworks->enqueue(@queries);
+			$Qworks->enqueue(undef) for 1..$NBTHREADS;
+			push @Qresults, $_->join foreach @threads;
+
+			
+			my $time_end = time ;
+			my $seconds = $time_end-$time_start ;
+			print "\n------  Time used in multithreading mode : $seconds seconds --------\n\n" ;
+			
+#			print Dumper @Qresults ;
+			
+			## controle number of returned queries :
+			my $massbank_results_num = 0 ;
+			$massbank_results_num = scalar @Qresults ;
+			
+			if ( $massbank_results_num == $pc_num ) {
+				## Map @Qresults with annotation hash : pcgroup_id in @Qresults (pcgroup2) // id in $pcgroups (pcgroup2)
+				foreach my $result (@Qresults) {
+					## manage annotation part
+					if ($result->{'pcgroup_id'}) {
+						if ($pcgroups->{$result->{'pcgroup_id'}}) {
+							$pcgroups->{$result->{'pcgroup_id'}}{'annotation'} = $result ;
+						}
+						else { carp "Carefull : no mapping possible between massbank results and initial pcgroups data\n";}
+					}
+					else { carp "Carefull : no pcgroup id defined in massbank results\n"; }
+					
+					## manage massbank_ids part
+					if ($result->{'res'}) {
+						my @tmp_res = map {$_->{'id'}} @{$result->{'res'}} ;
+						$pcgroups->{$result->{'pcgroup_id'}}{'massbank_ids'} = \@tmp_res ;					
+					}
+				}
+			}
+			else {
+				croak "[ERROR] : problem between massbank results number and pcgroups number\n";
+			}
+		}
+		## - - - - - - -  - - - - -  - - - -  - - - - - mono thread mode if pcgroups <= 6 - - - - - - - - - - - - - - - - 
+		else {
+			## connexion
+#			print $server."\n" ;
+			my $omassbank = lib::massbank_api->new() ;
+			my $soap = $omassbank->selectMassBank($server) ;
+			print "\n------  ** ** ** Using batch mode ** ** ** --------\n\n" ;
+			my $time_start = time ;
+			foreach my $pcgroup (keys %{$pcgroups}) {
+				## searchSpectrum via SOAP
+				print "Annot pcgroup n-$pcgroup\n" ;
+				my $oquery = lib::massbank_api->new() ;
+				my ($results, $num) = $oquery->searchSpectrum($soap, $pcgroups->{$pcgroup}{'id'}, $pcgroups->{$pcgroup}{'mzmed'}, $pcgroups->{$pcgroup}{'into'}, $ion_mode, $instruments, $max, $unit, $tol, $cutoff) ;
+				$pcgroups->{$pcgroup}{'annotation'} = $results ;
+	#			print Dumper $results ;
+			}
+			my $time_end = time ;
+			my $seconds = $time_end-$time_start ;
+			print "\n------  Time used in foreach mode: $seconds seconds --------\n\n" ;
+		}
+	}
+	else {
+		croak "The pcgroup object is not defined\n" ;
+	}
+#	print "Init pcGroups results are\n"  ;
+#	print Dumper $pcgroups ;
+	
+} ## End of elsif "defined $mzs_file"
+else {
+	warn "[WARN] Can't use Massbank WS service without an existing input tabular file\n" ;
+	&help ;
+}
+
+## Clean zone - use threshold on massbank entry returned score
+my $omap = lib::mapper->new() ;
+my $cleaned_pcgroups = $omap->filter_pcgroup_res($pcgroups, $score_threshold) ;
+
+#print "Cleaned_pcGroups are\n" ;
+#print Dumper $cleaned_pcgroups ;
+
+## add min/max value of each mzmed in the pc_group
+my $pcgroups_with_intervales = $omap->add_min_max_for_pcgroup_res($cleaned_pcgroups, $tol ) ;
+
+#print "pcGroups_with_intervales are\n" ;
+#print Dumper $pcgroups_with_intervales ;
+
+
+## search in the local indexed db - - - TODO - - - 
+
+## OR search new ones 
+
+## get all unique Massbank Ids found
+my $oids = lib::mapper->new() ;
+my $all_massbank_ids = $omap->compute_ids_from_pcgroups_res($cleaned_pcgroups) ;
+
+## get entries on the MassBank server by ID by pieces of 10
+my $omapper = lib::mapper->new() ;
+my $recordList = $omapper->get_massbank_records_by_chunk ($server, $all_massbank_ids, 10) ;
+#print "\n\nRecords are\n" ;
+#print Dumper $recordList ;
+#print Dumper $all_massbank_ids ;
+
+## foreach record - get id and peaks - create a object
+my %records = ();
+foreach (@$recordList) {
+	## parse record handles
+	my $parser = lib::massbank_parser->new() ;
+	my $id = $parser->getIdFromString($_) ;
+	$records{$id}{'peaks'} = $parser->getPeaksFromString($_) ;
+	$records{$id}{'names'} = $parser->getChemNamesFromString($_) ;
+	$records{$id}{'instrument_type'} = $parser->getInstrumentTypeFromString($_) ;
+	$records{$id}{'precursor_type'} = $parser->getPrecursorTypeFromString($_) ;
+	$records{$id}{'ms_type'} = $parser->getMsTypeFromString($_) ;
+	$records{$id}{'formula'} = $parser->getFormulaFromString($_) ;
+	$records{$id}{'exact_mz'} = $parser->getExactMzFromString($_) ;
+	$records{$id}{'inchi'} = $parser->getInchiFromString($_) ;
+}
+#print Dumper %records ;
+
+## Map pc_groups and records
+my $well_annoted_pcGroups = $omapper->mapGroupsWithRecords($pcgroups_with_intervales, \%records) ;
+
+#print Dumper $well_annoted_pcGroups ;
+
+## Output writting :
+my ( $massbank_matrix ) = ( undef ) ;
+
+## XLS OUTPUT -- new format
+if (  (defined $output_xlsx) and  (defined $well_annoted_pcGroups) and  (defined $mzs) and  (defined $pcs)  ) {
+	my $owritter = lib::writter->new() ;
+	$owritter->write_xls_skel(\$output_xlsx, $mzs, $pcs, $well_annoted_pcGroups, \%records) ;
+}
+
+## CSV OUTPUT
+if (  (defined $output_tabular) and  (defined $well_annoted_pcGroups) and  (defined $pcs) and  (defined $mzs) ) {
+	my $omapper = lib::mapper->new() ;
+	if ( ( defined $line_header ) and ( $line_header == 1 ) ) { $massbank_matrix = $omapper->set_massbank_matrix_object('massbank', $pcs, $mzs, $well_annoted_pcGroups, \%records ) ; }
+	elsif ( ( defined $line_header ) and ( $line_header == 0 ) ) { $massbank_matrix = $omapper->set_massbank_matrix_object(undef, $pcs, $mzs, $well_annoted_pcGroups, \%records ) ; }
+
+	$massbank_matrix = $omapper->add_massbank_matrix_to_input_matrix($complete_rows, $massbank_matrix) ;
+	my $owritter = lib::writter->new() ;
+	$owritter->write_csv_skel(\$output_tabular, $massbank_matrix) ;
+}
+
+my $json_scalar = undef ;
+## JSON OUTPUT
+if (  (defined $output_json) and  (defined $well_annoted_pcGroups) and  (defined $mzs) and  (defined $pcs)  ) {
+	my $omapper = lib::mapper->new() ;
+	$json_scalar = $omapper->map_pc_to_generic_json($pcs, $well_annoted_pcGroups, \%records) ;
+	my $owritter = lib::writter->new() ;
+	$owritter->write_json_skel(\$output_json, $json_scalar) ;
+}
+
+## HTML OUTPUT -- TODO
+if (  (defined $output_html) and  (defined $json_scalar)  ) {
+	
+#	print Dumper $json_scalar ;
+	
+	## Uses N mz and theirs entries per page (see config file).
+	# how many pages you need with your input mz list?
+	my $nb_pages_for_html_out = ceil( scalar(@{$mzs} ) / $CONF->{HTML_ENTRIES_PER_PAGE} )  ;
+	
+	## Search condition:
+	my $search_condition = "Search params : Molecular specie = $ion_mode / delta ($unit) = $tol / Score threshold = $score_threshold and max hit = $max per pcgroup" ;
+	
+	my $oHtml = lib::mapper->new() ;
+	my ($tbody_object) = $oHtml->set_html_tbody_object( $nb_pages_for_html_out, $CONF->{HTML_ENTRIES_PER_PAGE} ) ;
+	($tbody_object) = $oHtml->add_mz_to_tbody_object($tbody_object, $CONF->{HTML_ENTRIES_PER_PAGE}, $mzs, $json_scalar) ;
+	($tbody_object) = $oHtml->add_entries_to_tbody_object($tbody_object, $CONF->{HTML_ENTRIES_PER_PAGE}, $mzs, $json_scalar) ;
+	
+	my $oWritter = lib::writter->new() ;
+	$oWritter->write_html_skel(\$output_html, $tbody_object, $nb_pages_for_html_out, $search_condition, $CONF->{'HTML_TEMPLATE'}, $CONF->{'JS_GALAXY_PATH'}, $CONF->{'CSS_GALAXY_PATH'}) ;
+}
+else {
+	warn "[WARN] The html output file or the json iss not defined\n" ;
+}
+
+
+
+
+
+
+
+#====================================================================================
+# Help subroutine called with -h option
+# number of arguments : 0
+# Argument(s)        :
+# Return           : 1
+#====================================================================================
+sub help {
+	print STDERR "
+massbank_ws_searchspectrum.pl
+
+# massbank_ws_searchspectrum.pl is a script to use SOAP massbank webservice and send specific queries about spectra searches. 
+# Input : a list of mzs, intensities, pcgroup.
+# Author : Franck Giacomoni
+# Email : franck.giacomoni\@clermont.inra.fr
+# Version : 1.0
+# Created : 20/01/2017
+USAGE :		 
+		massbank_ws_searchspectrum.pl -help OR
+		
+		massbank_ws_searchspectrum.pl 
+			-masses [name of input file] -col_id -col_mz -col_int -col_pcgroup -lineheader
+			-mode [ion mode : Positive, Negative or Both ]
+			-score_threshold [Ignore Massbank results with a score lower than the defined threshold]
+			-instruments [array of string: all or values obtained by getInstrumentTypes method]
+			-max [0 is all results or int]
+			-unit [unit or ppm]
+			-tolerance [Tolerance of values of m/z of peaks: 0.3 unit or 50 ppm]
+			-cutoff [Ignore peaks whose intensity is not larger than the value of cutoff. Default: 50)]
+			-server [name of the massbank server : EU or JP only]
+			-output_json [ouput file for JSON]
+			-output_xls [ouput file for XLS]
+			-output_tabular [ouput file for TABULAR]
+		
+		";
+	exit(1);
+}
+
+## END of script - F Giacomoni 
+
+__END__
+
+=head1 NAME
+
+ XXX.pl -- script for
+
+=head1 USAGE
+
+ XXX.pl -precursors -arg1 [-arg2] 
+ or XXX.pl -help
+
+=head1 SYNOPSIS
+
+This script manage ... 
+
+=head1 DESCRIPTION
+
+This main program is a ...
+
+=over 4
+
+=item B<function01>
+
+=item B<function02>
+
+=back
+
+=head1 AUTHOR
+
+Franck Giacomoni E<lt>franck.giacomoni@clermont.inra.frE<gt>
+Yann Guitton 
+
+=head1 LICENSE
+
+This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
+
+=head1 VERSION
+
+version 1 : 05 / 01 / 2016
+
+version 2 : ??
+
+=cut
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/massbank_ws_searchspectrum.xml	Wed Apr 19 11:31:58 2017 -0400
@@ -0,0 +1,268 @@
+<tool id="massbank_ws_searchspectrum" name="MassBank spectrum searches" version="2017-02-06">
+  <description>
+       : Search by pseudo-spectra on a High Quality Mass Spectral Database.
+  </description>
+  <requirements>
+    <requirement type="package" version="1.19">perl-soap-lite</requirement>
+    <requirement type="package" version="6.15">perl-lwp-simple</requirement>
+	<requirement type="package" version="6.15">perl-libwww-perl</requirement>
+    <requirement type="package" version="2.95">perl-html-template</requirement>
+    <requirement type="package" version="1.71">perl-uri</requirement>
+    <requirement type="package" version="1.33">perl-text-csv</requirement>
+    <requirement type="package" version="2.90">perl-json</requirement>
+  </requirements>
+  <stdio>
+    <exit_code level="fatal" range="1"/>
+  </stdio>
+  <command><![CDATA[
+	perl $__tool_directory__/massbank_ws_searchspectrum.pl -masses "${variableMetadata_in}" -col_mz "$col_mz" -col_pcgroup "$col_pcgroup" -score_threshold "$score_threshold"
+		#if str($header.header_choice) == "true":
+			-lineheader "${header.nbheader}"
+		#end if
+		
+		#if str($intensity.colint_choice) == "true":
+			-col_int "${intensity.col_int}"
+		#end if
+		
+		#if str($mode) == "Positive,Negative":
+			-mode "both"
+		#else:
+			-mode "$mode"
+		#end if
+		
+		#if str($advanced.advanced_settings) == "false":
+			-instruments "all" -max "10" -unit "unit" -tolerance "0.3" -cutoff "50" -server "JP"
+		#else:
+			-instruments "${advanced.instruments}" -max "${advanced.max}"
+			-unit "${advanced.mz_tolerance.unit}" -tolerance "${advanced.mz_tolerance.tolerance}"
+			-cutoff "${advanced.cutoff}" -server "${advanced.server}"
+		#end if
+		
+		-output_tabular "$variableMetadata_out"
+		-output_xlsx "$massBankSpectraOutXlsx"
+		-output_json "$massBankSpectraOutJson"
+		-output_html "$massBankSpectraOutWeb"
+
+  ]]></command>
+  <inputs>
+    <param format="tabular" help="Generally variable metadata file" label="File of masses (format: tabular)" name="variableMetadata_in" type="data"/>
+    <conditional name="header">
+      <param checked="true" falsevalue="false" help="if 'YES' is selected then enter your number of header lines" label="Do you have a header?" name="header_choice" truevalue="true" type="boolean"/>
+      <when value="true">
+        <param help="number of lines not containing masses" label="Number of header lines" max="10" min="1" name="nbheader" type="integer" value="1"/>
+      </when>
+      <when value="false"/>
+    </conditional>
+    <param accept_default="true" data_ref="variableMetadata_in" label="Column of masses (MZ)" name="col_mz" type="data_column"/>
+    <param accept_default="true" data_ref="variableMetadata_in" label="Column of pcgroup" name="col_pcgroup" type="data_column"/>
+    <conditional name="intensity">
+      <param checked="true" falsevalue="false" help="if 'No' is selected, the value of intensity for each mz is set to 10 (MassBank spectrum search require mz-pcgroup-intensity data - please use massbank peak search if needed)" label="Do you have a column of intensity?" name="colint_choice" truevalue="true" type="boolean"/>
+      <when value="true">
+        <param accept_default="true" data_ref="variableMetadata_in" label="Column of intensity" name="col_int" type="data_column"/>
+      </when>
+      <when value="false"/>
+    </conditional>
+    <param display="checkboxes" help="" label="What kind of Ionization Search will be done?" multiple="True" name="mode" type="select">
+      <option selected="true" value="Positive">Positif Mode</option>
+      <option selected="true" value="Negative">Negatif Mode</option>
+    </param>
+    <param help="Default value is 0.5." label="Score threshold to apply on returned MassBank results" max="1" min="0" name="score_threshold" type="float" value="0.5"/>
+    <conditional name="advanced">
+      <param checked="false" falsevalue="false" help="if 'NO' is selected then defaults values are: instruments = all ; max = 10 ; unit = unit ; tolerance = 0.3 ; cutoff = 50 ; server = JP" label="Show advanced settings?" name="advanced_settings" truevalue="true" type="boolean"/>
+      <when value="true">
+        <param display="checkboxes" help="" label="What kind of Instruments will be use?" multiple="True" name="instruments" type="select">
+          <option selected="True" value="all">All</option>
+          <option value="APCI-ITFT">APCI-ITFT</option>
+          <option value="APCI-ITTOF">APCI-ITTOF</option>
+          <option value="CE-ESI-TOF">CE-ESI-TOF</option>
+          <option value="CI-B">CI-B</option>
+          <option value="EI-B">EI-B</option>
+          <option value="EI-EBEB">EI-EBEB</option>
+          <option value="ESI-ITFT">ESI-ITFT</option>
+          <option value="ESI-ITTOF">ESI-ITTOF</option>
+          <option value="FAB-B">FAB-B</option>
+          <option value="FAB-EB">FAB-EB</option>
+          <option value="FAB-EBEB">FAB-EBEB</option>
+          <option value="FD-B">FD-B</option>
+          <option value="FI-B">FI-B</option>
+          <option value="GC-EI-QQ">GC-EI-QQ</option>
+          <option value="GC-EI-TOF">GC-EI-TOF</option>
+          <option value="LC-APCI-QTOF">LC-APCI-QTOF</option>
+          <option value="LC-APPI-QQ">LC-APPI-QQ</option>
+          <option value="LC-ESI-IT">LC-ESI-IT</option>
+          <option value="LC-ESI-ITFT">LC-ESI-ITFT</option>
+          <option value="LC-ESI-ITTOF">LC-ESI-ITTOF</option>
+          <option value="LC-ESI-Q">LC-ESI-Q</option>
+          <option value="LC-ESI-QFT">LC-ESI-QFT</option>
+          <option value="LC-ESI-QIT">LC-ESI-QIT</option>
+          <option value="LC-ESI-QQ">LC-ESI-QQ</option>
+          <option value="LC-ESI-QTOF">LC-ESI-QTOF</option>
+          <option value="LC-ESI-TOF">LC-ESI-TOF</option>
+          <option value="MALDI-QIT">MALDI-QIT</option>
+          <option value="MALDI-TOF">MALDI-TOF</option>
+          <option value="MALDI-TOFTOF">MALDI-TOFTOF</option>
+        </param>
+        <param help="'0' means unspecified and then all results are obtained." label="Maximum number of search results" max="50" min="0" name="max" type="integer" value="10"/>
+        <conditional name="mz_tolerance">
+          <param display="radio" help="" label="Unit of tolerance" name="unit" type="select">
+            <option selected="True" value="unit">unit</option>
+            <option value="ppm">ppm</option>
+          </param>
+          <when value="unit">
+            <param help="Default value is 0.3 unit." label="Tolerance of values of m/z of peaks (in unit)" max="10" min="0" name="tolerance" type="float" value="0.3"/>
+          </when>
+          <when value="ppm">
+            <param help="Default value is 50 ppm." label="Tolerance of values of m/z of peaks (in ppm)" max="5000" min="0" name="tolerance" type="integer" value="50"/>
+          </when>
+        </conditional>
+        <param help="Ignore peaks whose intensity is not larger than the value of cutoff." label="Ignore peaks whose intensity is not larger than the value of cutoff" max="5000000" min="0" name="cutoff" type="integer" value="50"/>
+        <param display="radio" help="" label="Which MassBank server start searching?" name="server" type="select">
+          <option selected="True" value="JP">Japon (JP)</option>
+          <option value="EU">Europe (EU)</option>
+        </param>
+      </when>
+      <when value="false"/>
+    </conditional>
+  </inputs>
+  <outputs>
+    <data format="tabular" label="${variableMetadata_in.name[:-6]}.MASSBANK.tabular" name="variableMetadata_out"/>
+    <data format="html" label="${variableMetadata_in.name[:-6]}.MASSBANK_WEB.html" name="massBankSpectraOutWeb"/>
+    <data format="tabular" label="${variableMetadata_in.name[:-6]}.MASSBANK_XLS.txt" name="massBankSpectraOutXlsx"/>
+    <data format="txt" label="${variableMetadata_in.name[:-6]}.MASSBANK_JSON.txt" name="massBankSpectraOutJson"/>
+  </outputs>
+  <tests>
+    <test>
+      <!--test 01 short result -  -->
+      <param name="variableMetadata_in" value="input01_69-pcgroups-mz-relative_int.tabular"/>
+      <param name="header" value="true"/>
+      <param name="nbheader" value="1"/>
+      <param name="col_mz" value="1"/>
+      <param name="col_pcgroup" value="14"/>
+      <param name="colint_choice" value="true"/>
+      <param name="col_int" value="7"/>
+      <param name="mode" value="Positive"/>
+      <param name="score_threshold" value="0.5"/>
+      <param name="advanced_settings" value="true"/>
+      <param name="instruments" value="all"/>
+      <param name="max" value="20"/>
+      <param name="unit" value="unit"/>
+      <param name="tolerance" value="0.3"/>
+      <param name="cutoff" value="50"/>
+      <param name="server" value="JP"/>
+      <output file="out_test01.tabular" name="variableMetadata_out"/>
+      <output file="out_test01.html" name="massBankSpectraOutWeb"/>
+      <output file="out_test01.txt" name="massBankSpectraOutXlsx"/>
+      <!--<output file="out_test01.json" name="massBankSpectraOutJson"/> The JSON output structure is messy, so it is delete from test-->
+    </test>
+    <!--t<test>
+  	</test>
+    <test>
+  	</test>-->
+  </tests>
+  <help><![CDATA[
+
+.. class:: infomark
+
+**Wrapping**
+  | Franck Giacomoni - PFEM ; INRA ; MetaboHUB (for xml interface and perl wrapper and WS client)
+
+---------------------------------------------------
+
+.. class:: infomark
+
+**Please cite** If you use this tool, please cite MassBank (http://www.massbank.jp)
+
+
+==============
+wsdl_MassBank
+==============
+
+-----------
+Description
+-----------
+
+Finding information (search spectra method) in the MassBank project via a web service from masses and pcgroups.
+
+-----------------
+Workflow position
+-----------------
+
+
+.. image:: ./static/images/metabolomics/massbank-ws.png
+        :width: 800
+
+
+-----------
+Input files
+-----------
+
++-------------------------+-----------+
+| Parameter : num + label |  Format   |
++=========================+===========+
+| 1 : variableMetadata    |  tabular  |
++-------------------------+-----------+
+
+File variableMetadata must have at least the 3 following column : 
+	* Masses : column with all the masses in the tabular input file
+	* Intensities : column with all the intensities in the tabular input file (Optionnal but if you haven't intensitt values, please use the Massbank peak search tool)
+	* PCgroups : column with all the pcgroups in the tabular input file
+
+
+----------
+Parameters
+----------
+
+Number of header lines
+	| Number of lines not containing values 
+	|
+
+Column of masses
+	| Specify the column number for the mass in the tabular input file
+	|
+
+Tolerance of mass (in unit or ppm)
+	| Specify a delta (+/-) to the mass to search
+	
+Parameters applied on query
+	| cutoff : intensity cutoff (don't add to the query, mz with intensity below defined cutoff).
+	| max: maximum number of records returned by the MASSBANK server foreach pcgroup of masses (by default max is set to 10).
+	| score_threshold: apply a filter on MASSBANK scores (by default threshold is set to 0.5).
+	| mode : Ionization search mode: Positive or Negative ou Both
+	| Instrument: filter applied on spectra depending of the instrument source. (All is the default value) - - GCMS technologies are available in W4M GCMS tools section.
+
+------------
+Output files
+------------
+
+Two types of files
+	| MASSBANK_WEB.html: for viewing result via HTML.
+	| MASSBANK.tabular: for linking with others modules.
+	| MASSBANK_XLS.txt: an excel-like output to export results under a multi lines format.
+	| MASSBANK_JSON.txt: an json output will be available.
+	
+---------------------------------------------------
+
+
+---------------
+Working example
+---------------
+
+
+.. class:: warningmark
+
+Refer to the corresponding W4M HowTo section: http://workflow4metabolomics.org/howto
+ | Format Data For Postprocessing
+ | Perform LCMS Annotations
+
+.. class:: warningmark
+
+And their "W4M courses 2016":
+ | Using Galaxy4Metabolomics - W4M table format for Galaxy
+ | Annotation Banks - Annotation  
+	
+	]]></help>
+  <!-- [RECOMMANDED] All citations associated to this tool (main citation given above and other references). Can be extracted from the history panel -->
+  <citations>
+    <citation type="doi">10.1002/jms.1777</citation>
+  </citations>
+</tool>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/t/lib/massbank_api_Test.pm	Wed Apr 19 11:31:58 2017 -0400
@@ -0,0 +1,119 @@
+package lib::massbank_api_Test ;
+
+use diagnostics; # this gives you more debugging information
+use warnings;    # this warns you of bad practices
+use strict;      # this prevents silly errors
+use Exporter ;
+use Carp ;
+
+use Data::Dumper ;
+
+our $VERSION = "1.0";
+our @ISA = qw(Exporter);
+our @EXPORT = qw(   initRecordObjectTest threading_methods_getRecordInfoTest connectMassBankTest connectMassBankJPTest connectMassBankDETest getInstrumentTypesTest getRecordInfoTest searchSpectrumTest searchSpectrumNBTest getPeakTest);
+our %EXPORT_TAGS = ( ALL => [qw(  initRecordObjectTest threading_methods_getRecordInfoTest connectMassBankTest connectMassBankJPTest connectMassBankDETest getInstrumentTypesTest getRecordInfoTest searchSpectrumTest searchSpectrumNBTest getPeakTest)] );
+
+use lib '/Users/fgiacomoni/Inra/labs/perl/galaxy_tools/massbank_ws_searchspectrum' ;
+use lib::massbank_api qw( :ALL ) ;
+use lib::threader qw( :ALL ) ;
+use lib::mapper qw( :ALL ) ;
+
+
+my $server = 'JP' ;
+
+sub connectMassBankTest {
+	my ($uri, $proxy) = @_ ;
+    my $oBih = lib::massbank_api->new() ;
+    my ($soap) = $oBih->connectMassBank($uri, $proxy) ;
+    return ($soap) ;
+}
+
+sub connectMassBankJPTest {
+    my $oBih = lib::massbank_api->new() ;
+    my ($soap) = $oBih->connectMassBankJP() ;
+    return ($soap) ;
+}
+
+sub connectMassBankDETest {
+    my $oBih = lib::massbank_api->new() ;
+    my ($soap) = $oBih->connectMassBankDE() ;
+    return ($soap) ;
+}
+
+sub getInstrumentTypesTest {
+	my ($server) = @_ ;
+	my $osoap = undef ;
+    my $oBih = lib::massbank_api->new() ;
+    
+    if ($server eq 'JP') { 		($osoap) = $oBih->connectMassBankJP() ; }
+    elsif ($server eq 'EU') {	($osoap) = $oBih->connectMassBankDE() ; }
+    else {						croak "Can't call an unknown server through MassBank API\n" ; }
+    
+    my $res = $oBih->getInstrumentTypes($osoap) ;
+    return ($res) ;
+}
+
+sub getRecordInfoTest {
+	my ($server, $ids) = @_ ;
+	
+	my $oBih = lib::massbank_api->new() ;
+    my ($osoap) = $oBih->selectMassBank($server) ;
+    my ($res) = $oBih->getRecordInfo($osoap, $ids) ;
+
+    return($res) ;
+}
+
+
+sub searchSpectrumTest {
+	my ($mzs, $intensities, $ion, $instruments, $max, $unit, $tol, $cutoff) = @_ ;
+	my $pcgroup_id = 1 ;
+	my $oBih = lib::massbank_api->new() ;
+    my ($osoap) = $oBih->selectMassBank($server) ;
+    my ($res, $num) = $oBih->searchSpectrum($osoap, $pcgroup_id, $mzs, $intensities, $ion, $instruments, $max, $unit, $tol, $cutoff) ;
+    print Dumper $res ;
+    return($res) ;
+}
+
+sub searchSpectrumNBTest {
+	my ($mzs, $intensities, $ion, $instruments, $max, $unit, $tol, $cutoff) = @_ ;
+	my $pcgroup_id = 1 ;
+	my $oBih = lib::massbank_api->new() ;
+    my ($osoap) = $oBih->selectMassBank($server) ;
+    my ($res, $num) = $oBih->searchSpectrum($osoap, $pcgroup_id, $mzs, $intensities, $ion, $instruments, $max, $unit, $tol, $cutoff) ;
+    return($num) ;
+}
+
+sub getPeakTest {
+	my ($ids) = @_ ;
+	
+	my $oBih = lib::massbank_api->new() ;
+    my ($osoap) = $oBih->selectMassBank($server) ;
+    my ($res) = $oBih->getPeak($osoap, $ids) ;
+    return($res) ;
+}
+
+sub threading_methods_getRecordInfoTest {
+	my ($ids) = @_ ;
+	
+	my $results = undef ;
+	my $othreads = lib::threader->new() ;
+	my $oquery = lib::massbank_api->new() ;
+	my ($osoap) = $oquery->selectMassBank($server) ;
+	$results = $othreads->threading_getRecordInfo($osoap, $ids) ; 
+	return($results) ;
+}
+
+## SUB TEST for initRecordObject
+sub initRecordObjectTest {
+    # get values
+    my ( $string ) = @_;
+    
+    my $omassbank = lib::massbank_api->new() ;
+    my $record = $omassbank->initRecordObject($string) ;
+#    print Dumper $record ;
+    return($record) ;
+}
+## End SUB
+
+
+1 ;
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/t/lib/massbank_main_Test.pm	Wed Apr 19 11:31:58 2017 -0400
@@ -0,0 +1,45 @@
+package lib::massbank_main_Test ;
+
+use diagnostics; # this gives you more debugging information
+use warnings;    # this warns you of bad practices
+use strict;      # this prevents silly errors
+use Exporter ;
+use Carp ;
+
+use Data::Dumper ;
+
+our $VERSION = "1.0";
+our @ISA = qw(Exporter);
+our @EXPORT = qw( run_main_massbank_pl);
+our %EXPORT_TAGS = ( ALL => [qw(run_main_massbank_pl)] );
+
+#use lib '/Users/fgiacomoni/Inra/labs/perl/galaxy_tools/massbank_ws_searchspectrum' ;
+#use lib::mapper qw( :ALL ) ;
+
+sub run_main_massbank_pl {
+
+	my ($input_file, $col_mz, $col_pcgroup, $col_int, $lineheader, $score_threshold, $mode, $instruments, $max, $unit, $tol, $cutoff, $server, $json, $csv, $xls) = @_ ;
+	
+	my $msg = `perl /Users/fgiacomoni/Inra/labs/perl/galaxy_tools/massbank_ws_searchspectrum/massbank_ws_searchspectrum.pl -masses $input_file -col_mz $col_mz -col_pcgroup $col_pcgroup -col_int $col_int -lineheader $lineheader -mode $mode -score_threshold $score_threshold -instruments $instruments -max $max -unit $unit -tolerance $tol -cutoff $cutoff -server $server -json $json -csv $csv -xls $xls`;
+	print $msg ;
+#-masses /Users/fgiacomoni/Inra/labs/tests/massbank_V02/pcgrp_annot.tsv
+#-col_mz 1
+#-col_pcgroup 14
+#-col_int 7
+#-lineheader 1
+#-score_threshold 0.5
+#-mode Positive
+#-instruments all
+#-max 2
+#-unit unit
+#-tolerance 0.3
+#-cutoff 5
+#-server JP
+#-json /Users/fgiacomoni/Inra/labs/tests/massbank_V02/out.json
+#-csv /Users/fgiacomoni/Inra/labs/tests/massbank_V02/out.csv
+#-xls /Users/fgiacomoni/Inra/labs/tests/massbank_V02/out.xls
+
+}
+
+
+1 ;
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/t/lib/massbank_mapper_Test.pm	Wed Apr 19 11:31:58 2017 -0400
@@ -0,0 +1,118 @@
+package lib::massbank_mapper_Test ;
+
+use diagnostics; # this gives you more debugging information
+use warnings;    # this warns you of bad practices
+use strict;      # this prevents silly errors
+use Exporter ;
+use Carp ;
+
+use Data::Dumper ;
+
+our $VERSION = "1.0";
+our @ISA = qw(Exporter);
+our @EXPORT = qw( max_from_double_with_deltaTest min_from_double_with_deltaTest get_massbank_records_by_chunkTest compute_ids_from_pcgroups_resTest filter_pcgroup_resTest get_pcgroup_listTest get_pcgroupsTest set_massbank_matrix_objectTest add_massbank_matrix_to_input_matrixTest);
+our %EXPORT_TAGS = ( ALL => [qw(max_from_double_with_deltaTest min_from_double_with_deltaTest get_massbank_records_by_chunkTest compute_ids_from_pcgroups_resTest filter_pcgroup_resTest get_pcgroup_listTest get_pcgroupsTest set_massbank_matrix_objectTest add_massbank_matrix_to_input_matrixTest)] );
+
+use lib '/Users/fgiacomoni/Inra/labs/perl/galaxy_tools/massbank_ws_searchspectrum' ;
+use lib::mapper qw( :ALL ) ;
+
+sub get_pcgroupsTest {
+	my ( $pcs, $mzs, $ints ) = @_;
+	my $omap = lib::mapper->new() ;
+	my $pcgroups = $omap->get_pcgroups($pcs, $mzs, $ints) ;
+#	print Dumper $pcgroups ;
+	return ($pcgroups) ;
+}
+
+
+sub get_pcgroup_listTest {
+	my ($pcs) = @_ ; 
+	my $omap = lib::mapper->new() ;
+	my $pcgroup_list = $omap->get_pcgroup_list($pcs) ;
+#	print Dumper $pcgroup_list ;
+	return ($pcgroup_list) ;
+}
+
+sub set_massbank_matrix_objectTest {
+	my ($header, $init_pcs, $pcgroups) = @_ ; 
+	my $omap = lib::mapper->new() ;
+	my $matrix = $omap->set_massbank_matrix_object($header, $init_pcs, $pcgroups) ;
+#	print Dumper $matrix ;
+	return ($matrix) ;
+}
+
+sub add_massbank_matrix_to_input_matrixTest {
+	my ($input_matrix_object, $massbank_matrix_object ) = @_ ; 
+	my $omap = lib::mapper->new() ;
+	my $matrix = $omap->add_massbank_matrix_to_input_matrix($input_matrix_object, $massbank_matrix_object ) ;
+#	print Dumper $matrix ;
+	return ($matrix) ;
+}
+
+## SUB TEST for filter_pcgroup_res
+sub filter_pcgroup_resTest {
+    # get values
+    my ( $pcgroups, $threshold ) = @_;
+    my $cleaned_pcgroups = () ;
+    
+    
+    my $omap = lib::mapper->new() ;
+    $cleaned_pcgroups = $omap->filter_pcgroup_res($pcgroups, $threshold) ;
+    
+    return($cleaned_pcgroups) ;
+}
+## End SUB
+
+## SUB TEST for 
+sub compute_ids_from_pcgroups_resTest {
+    # get values
+    my ( $pcgroups ) = @_;
+    my $ids = () ;
+    
+    my $var2 = lib::mapper->new() ;
+    $ids = $var2->compute_ids_from_pcgroups_res($pcgroups) ;
+    
+    return($ids) ;
+}
+## End SUB
+
+## ## SUB TEST for 
+sub min_from_double_with_deltaTest {
+    # get values
+    my ( $double, $type, $delta ) = @_;
+    
+    my $var2 = lib::mapper->new() ;
+    my ($min, $max) = $var2->min_and_max_from_double_with_delta($double, $type, $delta) ;
+#    print $min ;
+    return($min) ;
+}
+## End SUB
+
+## ## SUB TEST for 
+sub max_from_double_with_deltaTest {
+    # get values
+    my ( $double, $type, $delta ) = @_;
+    
+    my $var2 = lib::mapper->new() ;
+    my ($min, $max) = $var2->min_and_max_from_double_with_delta($double, $type, $delta) ;
+#    print $max ;
+    return($max) ;
+}
+## End SUB
+
+## SUB TEST for 
+sub get_massbank_records_by_chunkTest {
+    # get values
+    my ( $server, $ids, $chunk_size ) = @_;
+    
+    my $var2 = lib::mapper->new() ;
+    my $records = $var2->get_massbank_records_by_chunk ($server, $ids, $chunk_size) ;
+    
+#    print Dumper $records ;
+    
+    return($records) ;
+}
+## End SUB
+
+
+1 ;
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/t/massbank_ws_searchspectrum_Test.t	Wed Apr 19 11:31:58 2017 -0400
@@ -0,0 +1,1178 @@
+#! perl
+use diagnostics;
+use warnings;
+no warnings qw/void/;
+use strict;
+no strict "refs" ;
+use Test::More qw( no_plan );
+#use Test::More tests => 8 ; ## with MAPPER SEQUENCE 
+use FindBin ;
+use Carp ;
+
+## Specific Modules
+use lib $FindBin::Bin ;
+my $binPath = $FindBin::Bin ;
+use lib::massbank_api_Test qw( :ALL ) ;
+use lib::massbank_mapper_Test qw( :ALL ) ;
+use lib::massbank_main_Test qw( :ALL ) ;
+
+
+## To launch the right sequence : MAIN, API, MAPPER, THREADER, COMPUTE...
+my $sequence = 'COMPUTE' ;
+my $current_test = 1 ;
+my $server = 'EU' ;
+
+
+if ($sequence eq "COMPUTE") {
+	print "\n\t\t\t\t  * * * * * * \n" ;
+	print "\t  * * * - - - Test MassBank Main script - - - * * * \n\n" ;
+	sleep 1 ; print "\n** Test $current_test min_from_double_with_delta with doubles **\n" ; $current_test++ ; 
+	is_deeply( min_from_double_with_deltaTest (
+		303.0485467, 'Da', 0.01),
+		303.0385467,
+	'Method \'min_and_max_from_double_with_delta\' works with a double and return the attended min value');
+	
+	sleep 1 ; print "\n** Test $current_test max_from_double_with_delta with doubles **\n" ; $current_test++ ; 
+	is_deeply( max_from_double_with_deltaTest (
+		303.0485467, 'Da', 0.01),
+		303.0585467001,
+	'Method \'max_from_double_with_delta\' works with a double and return the attended max value');
+	
+}
+elsif ($sequence eq "MAIN") {
+	print "\n\t\t\t\t  * * * * * * \n" ;
+	print "\t  * * * - - - Test MassBank Main script - - - * * * \n\n" ;
+		## Test NORMAL file  => OK
+	    ok( run_main_massbank_pl(
+	    	'/Users/fgiacomoni/Inra/labs/tests/massbank_V02/pcgrp_annot.tsv', 
+	    	1, 14, 7, 1, 0.5,
+	    	'Positive', 'all', 2, 'unit', 0.3, 5, 'EU',
+	    	'/Users/fgiacomoni/Inra/labs/tests/massbank_V02/out1.json', 
+	    	'/Users/fgiacomoni/Inra/labs/tests/massbank_V02/out1.csv', 
+	    	'/Users/fgiacomoni/Inra/labs/tests/massbank_V02/out1.xls'),
+	    'Main script massbank_ws_searchspectrum.pl with is running and manage normal data (mz, ) ' );
+	    
+	    ## Test BUG file wih relative intensities => OK
+	    ok( run_main_massbank_pl(
+	    	'/Users/fgiacomoni/Inra/labs/tests/massbank_V02/261-pcgroups-mz-relative_int.tsv', 
+	    	'2', '1', '3', '1', 0.5,
+	    	'Positive', 'all', 2, 'unit', 0.3, 5, 'JP',
+	    	'/Users/fgiacomoni/Inra/labs/tests/massbank_V02/out2.json', 
+	    	'/Users/fgiacomoni/Inra/labs/tests/massbank_V02/out2.csv', 
+	    	'/Users/fgiacomoni/Inra/labs/tests/massbank_V02/out2.xls'),
+	    'Main script massbank_ws_searchspectrum.pl with is running and manage real file (mz, relative int, ...)' );
+	    
+	     ## Test BUG file wih real intensities (>10000) => OK
+	    ok( run_main_massbank_pl(
+	    	'/Users/fgiacomoni/Inra/labs/tests/massbank_V02/2214-mz-int-pcgroups.tsv', 
+	    	'1', '3', '2', '1', 0.5,
+	    	'Positive', 'all', 2, 'unit', 0.3, 5, 'JP',
+	    	'/Users/fgiacomoni/Inra/labs/tests/massbank_V02/out3.json', 
+	    	'/Users/fgiacomoni/Inra/labs/tests/massbank_V02/out3.csv', 
+	    	'/Users/fgiacomoni/Inra/labs/tests/massbank_V02/out3.xls'),
+	    'Main script massbank_ws_searchspectrum.pl with is running and manage real file (mz, relative int, ...)' );
+	    
+	    ## Test BUG file wih relative intensities and ppm / 15 / 5 => OK
+	    ok( run_main_massbank_pl(
+	    	'/Users/fgiacomoni/Inra/labs/tests/massbank_V02/261-pcgroups-mz-relative_int.tsv', 
+	    	'2', '1', '3', '1', 0.5,
+	    	'Positive', 'all', 2, 'ppm', 15, 5, 'JP',
+	    	'/Users/fgiacomoni/Inra/labs/tests/massbank_V02/out4.json', 
+	    	'/Users/fgiacomoni/Inra/labs/tests/massbank_V02/out4.csv', 
+	    	'/Users/fgiacomoni/Inra/labs/tests/massbank_V02/out4.xls'),
+	    'Main script massbank_ws_searchspectrum.pl with is running and manage real file (mz, relative int, ...)' );
+	    
+	    ## Test BUG file wih real intensities (>10000) and ppm / 15 / 5 + long file => OK
+	    ok( run_main_massbank_pl(
+	    	'/Users/fgiacomoni/Inra/labs/tests/massbank_V02/2214-mz-int-pcgroups.tsv', 
+	    	'1', '3', '2', '1', 0.5,
+	    	'Positive', 'all', 2, 'ppm', 15, 5, 'JP',
+	    	'/Users/fgiacomoni/Inra/labs/tests/massbank_V02/out5.json', 
+	    	'/Users/fgiacomoni/Inra/labs/tests/massbank_V02/out5.csv', 
+	    	'/Users/fgiacomoni/Inra/labs/tests/massbank_V02/out5.xls'),
+	    'Main script massbank_ws_searchspectrum.pl with is running and manage real file (mz, int, ...)' );
+	    
+	    ## Test BUG file wih real intensities (>10000) and ppm / 15 / 5 + long file -> parameters c5b5ac363f7bdb2d  => OK
+	    ok( run_main_massbank_pl(
+	    	'/Users/fgiacomoni/Inra/labs/tests/massbank_V02/2214-mz-int-pcgroups.tsv', 
+	    	'1', '3', '2', '1', 0.5,
+	    	'Positive', "LC-ESI-IT,LC-ESI-ITFT,LC-ESI-ITTOF,LC-ESI-Q,LC-ESI-QFT,LC-ESI-QIT,LC-ESI-QQ,LC-ESI-QTOF,LC-ESI-TOF", 10, 'ppm', 15, 5, 'JP',
+	    	'/Users/fgiacomoni/Inra/labs/tests/massbank_V02/out6.json', 
+	    	'/Users/fgiacomoni/Inra/labs/tests/massbank_V02/out6.csv', 
+	    	'/Users/fgiacomoni/Inra/labs/tests/massbank_V02/out6.xls'),
+	    'Main script massbank_ws_searchspectrum.pl with is running and manage real file (mz, int, ...)' );
+	    
+}
+
+
+#-masses 
+#-col_mz 1
+#-col_pcgroup 14
+#-col_int 7
+#-lineheader 1
+#-mode Positive
+#-instruments all
+#-max 2
+#-unit unit
+#-tolerance 0.3
+#-cutoff 5
+#-server JP
+#-json /Users/fgiacomoni/Inra/labs/tests/massbank_V02/out.json
+#-csv /Users/fgiacomoni/Inra/labs/tests/massbank_V02/out.csv
+#-xls /Users/fgiacomoni/Inra/labs/tests/massbank_V02/out.xls
+
+
+elsif ($sequence eq "MAPPER") {
+	
+	## testing mapper module of massbank wrapper.
+	## 		- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+	print "\n\t\t\t\t  * * * * * * \n" ;
+	print "\t  * * * - - - Test MassBank Mapper module - - - * * * \n\n" ;
+
+	##		- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+	# ARGVTS : $pcs, $mzs, $ints
+	sleep 1 ; print "\n** Test $current_test get_pcgroup_list with pcs array **\n" ; $current_test++ ; 
+	is_deeply( get_pcgroup_listTest (
+		[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,7,8,8,8,8,8,9,9,10,10,10,10,11,12,13,13,13,14,14,14] ),
+		['1', '2','3','4','5','6','7','8','9','10','11','12','13','14'] ,
+	'Method \'getPcgroupList\' works with various and multiple pcgroups and return the attended uniq pcgroups array');
+	
+	
+	##		- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+	# ARGVTS : $pcs, $mzs, $ints
+	print "\n** Test $current_test get_pcgroups with pcs, mzs, ints arrays **\n" ; $current_test++ ;
+	is_deeply( get_pcgroupsTest (
+		[1, 2, 1, 2, 1, 2, 1], ['273.096', '289.086', '290.118', '291.096', '292.113', '579.169', '580.179'], ['300', '300', '300', '300', '300', '300', '300'] ), 
+		{ '1' => {   'id' => '1',
+	                   'mzmed' => ['273.096','290.118','292.113','580.179'],
+	                   'into' => ['300','300','300','300'],
+	                   'annotation' => {},
+	                   'massbank_ids' => []    },
+	      '2' => { 'annotation' => {},
+	                   'into' => ['300','300','300'],
+	                   'mzmed' => ['289.086','291.096','579.169'],
+	                   'id' => '2',
+	                   'massbank_ids' => [],   }
+		},  
+	'Method \'getPcgroups\' works with two pcgroups and return the attended pcgroups object');
+	
+	##		- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+	# ARGVTS : $pcs, $mzs, $ints
+	print "\n** Test $current_test get_pcgroups with pcs, mzs, ints (some can be equal to 0) arrays **\n" ; $current_test++ ;
+	is_deeply( get_pcgroupsTest (
+		[1, 2, 1, 2, 1, 2, 1], ['273.096', '289.086', '290.118', '291.096', '292.113', '579.169', '580.179'], ['0', '300', '300', '300', '300', '300', '300'] ), 
+		{ '1' => {   'id' => '1',
+	                   'mzmed' => ['273.096','290.118','292.113','580.179'],
+	                   'into' => ['0','300','300','300'],
+	                   'annotation' => {},
+	                   'massbank_ids' => []    },
+	      '2' => { 'annotation' => {},
+	                   'into' => ['300','300','300'],
+	                   'mzmed' => ['289.086','291.096','579.169'],
+	                   'id' => '2',
+	                   'massbank_ids' => [],   }
+		},  
+	'Method \'getPcgroups\' works with two pcgroups (with intensity equal to 0) and return the attended pcgroups object');
+	
+	
+	
+	##		- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+	## ARGVTS : $header, $init_pcs, $pcgroups
+	sleep 1 ; print "\n** Test $current_test set_massbank_matrix_object with pc array and pcgroups object **\n" ; $current_test++ ; 
+	is_deeply( set_massbank_matrix_objectTest ( 'massbank', [1,1,2,2,1], 
+		{ '1' => {   'id' => '1',
+		                   'mzmed' => ['273.096','290.118','292.113','580.179'],
+		                   'into' => ['300','300','300','300'],
+		                   'annotation' => {'num_res' => 3},
+		                   'massbank_ids' => ['CA0001', 'CA0011', 'CA0111']    },
+		      '2' => { 'annotation' => {'num_res' => 3},
+		                   'into' => ['300','300','300'],
+		                   'mzmed' => ['289.086','291.096','579.169'],
+		                   'id' => '2',
+		                   'massbank_ids' => ['CA0002', 'CA0022', 'CA0222'],   }
+		} ), ## end argvts
+		[ [ 'massbank' ], ['CA0001|CA0011|CA0111'],['CA0001|CA0011|CA0111'],  ['CA0002|CA0022|CA0222'], ['CA0002|CA0022|CA0222'],  ['CA0001|CA0011|CA0111'] ], 
+	'Method \'set_massbank_matrix_object\' works with header, pcs list, pcgroups and return the attended massbank matrix');
+	
+	##		- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+	## ARGVTS : $header, $init_pcs, $pcgroups
+	sleep 1 ; print "\n** Test $current_test set_massbank_matrix_object with undef hearder, pc array and pcgroups object **\n" ; $current_test++ ; 
+	is_deeply( set_massbank_matrix_objectTest ( undef, [1,1,2,2,1], 
+		{ '1' => {   'id' => '1',
+		                   'mzmed' => ['273.096','290.118','292.113','580.179'],
+		                   'into' => ['300','300','300','300'],
+		                   'annotation' => {'num_res' => 3},
+		                   'massbank_ids' => ['CA0001', 'CA0011', 'CA0111']    },
+		      '2' => { 'annotation' => {'num_res' => 3},
+		                   'into' => ['300','300','300'],
+		                   'mzmed' => ['289.086','291.096','579.169'],
+		                   'id' => '2',
+		                   'massbank_ids' => ['CA0002', 'CA0022', 'CA0222'],   }
+		} ), ## end argvts
+		[ ['CA0001|CA0011|CA0111'],['CA0001|CA0011|CA0111'],  ['CA0002|CA0022|CA0222'], ['CA0002|CA0022|CA0222'],  ['CA0001|CA0011|CA0111'] ],
+	'Method \'set_massbank_matrix_object\' works with undef header and return the attended massbank matrix');
+	
+	##		- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+	## ARGVTS : $header, $init_pcs, $pcgroups
+	sleep 1 ; print "\n** Test $current_test set_massbank_matrix_object with empty massbankIds **\n" ; $current_test++ ; 
+	is_deeply( set_massbank_matrix_objectTest ( 'massbank', [1,1,2,2,1], 
+		{ '1' => {   'id' => '1',
+		                   'mzmed' => ['273.096','290.118','292.113','580.179'],
+		                   'into' => ['300','300','300','300'],
+		                   'annotation' => {'num_res' => 3},
+		                   'massbank_ids' => ['CA0001', 'CA0011', 'CA0111']    },
+		      '2' => { 'annotation' => {'num_res' => 0},
+		                   'into' => ['300','300','300'],
+		                   'mzmed' => ['289.086','291.096','579.169'],
+		                   'id' => '2',
+		                   'massbank_ids' => [],   }
+		} ), ## end argvts
+		[ [ 'massbank' ], ['CA0001|CA0011|CA0111'],['CA0001|CA0011|CA0111'],  ['No_result_found_on_MassBank'], ['No_result_found_on_MassBank'],  ['CA0001|CA0011|CA0111'] ], 
+	'Method \'set_massbank_matrix_object\' works with empty massbank_ids and return the attended massbank matrix');
+	
+	##		- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+	## ARGVTS : $input_matrix_object, $massbank_matrix_object
+	sleep 1 ; print "\n** Test $current_test add_massbank_matrix_to_input_matrix with two matrix **\n" ; $current_test++ ; 
+	is_deeply( add_massbank_matrix_to_input_matrixTest ( 
+		[[ 'pcgroup' ],[1],[1],[2],[2],[1]],
+		[ [ 'massbank' ], ['CA0001|CA0011|CA0111'],['CA0001|CA0011|CA0111'],  ['CA0002|CA0022|CA0222'], ['CA0002|CA0022|CA0222'],  ['CA0001|CA0011|CA0111'] ],
+	), ## end argvts
+		[ ['pcgroup','massbank'],[1,'CA0001|CA0011|CA0111'],[1,'CA0001|CA0011|CA0111'],[2,'CA0002|CA0022|CA0222'],[2,'CA0002|CA0022|CA0222'],[1,'CA0001|CA0011|CA0111'] 
+	], ## end results
+	'Method \'add_massbank_matrix_to_input_matrix\' works with two wel formatted matrix and return the right csv matrix');
+	
+	##		- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+	## ARGVTS : $pcgroups_object, threshold
+	sleep 1 ; print "\n** Test $current_test filter_pcgroup_res with pcgroups object and a threshold **\n" ; $current_test++ ; 
+	is_deeply( filter_pcgroup_resTest (
+		{ '1' => { 'massbank_ids' => ['MB0004', 'MB0005', 'MB0008'], 'annotation' => {'res' => [ {'score' => 0.4, 'id' => 'MB0004'}, {'score' => 0.8, 'id' => 'MB0008' }, {'score' => 0.5, 'id' => 'MB0005' } ], 'num_res' => 3 } }, '2' => { 'massbank_ids' => ['MB0004', 'MB0008', 'MB0007'], 'annotation' => {'res' => [{'score' => 0.4, 'id' => 'MB0004'}, {'score' => 0.8, 'id' => 'MB0008'}, {'score' => 0.7, 'id' => 'MB0007'} ], 'num_res' => 3 } } }, 
+		0.5
+	), ## end argvts
+	{ '1' => { 'massbank_ids' => ['MB0005', 'MB0008'], 'annotation' => { 'res' => [ {'score' => 0.5, 'id' => 'MB0005' }, {'score' => 0.8, 'id' => 'MB0008'} ], 'num_res' => 2 } }, '2' => { 'massbank_ids' => ['MB0007', 'MB0008'], 'annotation' => {'res' => [{'score' => 0.7, 'id' => 'MB0007' }, {'score' => 0.8, 'id' => 'MB0008' } ], 'num_res' => 2 } } },
+	## end results
+	'Method \'filter_pcgroup_resTest\' works with well formated pcgroups object and a float for threshold');
+	
+	##		- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+	## ARGVTS : $pcgroups_object, threshold
+	sleep 1 ; print "\n** Test $current_test filter_pcgroup_res with empty pcgroups object and a threshold **\n" ; $current_test++ ; 
+	is_deeply( filter_pcgroup_resTest (
+		{ '1' => { 'massbank_ids' => [], 'annotation' => {'res' => [ ], 'num_res' => 1 } }, '2' => { 'massbank_ids' => [], 'annotation' => {'res' => [ ], 'num_res' => 1 } } }, 
+		0.5
+	), ## end argvts
+	{ '1' => { 'massbank_ids' => [], 'annotation' => { 'res' => [ ], 'num_res' => 0 } }, '2' => { 'massbank_ids' => [], 'annotation' => {'res' => [ ], 'num_res' => 0 } } },
+	## end results
+	'Method \'filter_pcgroup_resTest\' works with an empty pcgroups object and a float for threshold');
+	
+	##		- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+	## ARGVTS : $pcgroups_object, threshold
+	sleep 1 ; print "\n** Test $current_test filter_pcgroup_res with pcgroups object but undef params and a threshold **\n" ; $current_test++ ; 
+	is_deeply( filter_pcgroup_resTest (
+		{ '1' => { 'massbank_ids' => [], 'annotation' => {'res' => [ {'score' => undef, 'id' => undef} ], 'num_res' => 0 } }, '2' => { 'massbank_ids' => ['MB0004', 'MB0008', 'MB0007'], 'annotation' => {'res' => [{'score' => 0.4, 'id' => 'MB0004'}, {'score' => 0.8, 'id' => 'MB0008'}, {'score' => 0.7, 'id' => 'MB0007'} ], 'num_res' => 3 } } }, 
+		0.5
+	), ## end argvts
+	{ '1' => { 'massbank_ids' => [], 'annotation' => { 'res' => [ {'score' => undef, 'id' => undef } ], 'num_res' => 0 } }, '2' => { 'massbank_ids' => ['MB0007', 'MB0008'], 'annotation' => {'res' => [{'score' => 0.7, 'id' => 'MB0007' }, {'score' => 0.8, 'id' => 'MB0008' } ], 'num_res' => 2 } } },
+	## end results
+	'Method \'filter_pcgroup_resTest\' works with well formated pcgroups object (but undef value) and a float for threshold');
+	
+	##		- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+	## ARGVTS : $pcgroups_object
+	sleep 1 ; print "\n** Test $current_test compute_ids_from_pcgroups_res with pcgroups object **\n" ; $current_test++ ; 
+	is_deeply( compute_ids_from_pcgroups_resTest (
+		{ '1' => { 'massbank_ids' => ['MB0004', 'MB0005', 'MB0008'], 'annotation' => {'res' => [ {'score' => 0.4, 'id' => 'MB0004'}, {'score' => 0.8, 'id' => 'MB0008' }, {'score' => 0.5, 'id' => 'MB0005' } ], 'num_res' => 3 } }, '2' => { 'massbank_ids' => ['MB0004', 'MB0008', 'MB0007'], 'annotation' => {'res' => [{'score' => 0.4, 'id' => 'MB0004'}, {'score' => 0.8, 'id' => 'MB0008'}, {'score' => 0.7, 'id' => 'MB0007'} ], 'num_res' => 3 } } }, 
+	), ## end argvts
+	['MB0004', 'MB0005', 'MB0007', 'MB0008'],
+	## end results
+	'Method \'compute_ids_from_pcgroups_res\' works with a classic pcgroups object return a nice and unique list of ids');
+	
+	
+	##		- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+	## ARGVTS : $massbank_ids, chunk_size
+	sleep 1 ; print "\n** Test $current_test get_massbank_records_by_chunk with ids list **\n" ; $current_test++ ; 
+	is_deeply( get_massbank_records_by_chunkTest (
+		'EU',
+		['KOX00002', 'KOX00003', 'FU000001', 'TY000040', 'TY000041', 'FU000002'],
+		2 
+	), ## end argvts
+	['ACCESSION: KOX00002
+RECORD_TITLE: GABA; LC-ESI-QTOF; MS2; MERGED; [M+H]+
+DATE: 2011.08.24 (Created 2008.11.28)
+AUTHORS: Institute for Advanced Biosciences, Keio Univ.
+LICENSE: Copyright 2006-2011 Keio
+COMMENT: Peak data in the following records are not open to the public as requested by their authors.
+COMMENT: Instead MassBank provides the merged spectra for the public.
+COMMENT: This record was generated by merging the following three MassBank records.
+COMMENT: [Merging] KO006374 GABA; LC-ESI-QTOF; MS2; CE:10 V [M+H]+
+COMMENT: [Merging] KO006375 GABA; LC-ESI-QTOF; MS2; CE:20 V [M+H]+
+COMMENT: [Merging] KO006376 GABA; LC-ESI-QTOF; MS2; CE:30 V [M+H]+
+COMMENT: [Merging] KO006377 GABA; LC-ESI-QTOF; MS2; CE:40 V [M+H]+
+COMMENT: [Merging] KO006378 GABA; LC-ESI-QTOF; MS2; CE:50 V [M+H]+
+CH$NAME: GABA
+CH$NAME: 4-Aminobutanoate
+CH$NAME: 4-Aminobutanoic acid
+CH$NAME: 4-Aminobutylate
+CH$NAME: 4-Aminobutyrate
+CH$NAME: 4-Aminobutyric acid
+CH$NAME: gamma-Aminobutyric acid
+CH$COMPOUND_CLASS: N/A
+CH$FORMULA: C4H9NO2
+CH$EXACT_MASS: 103.06333
+CH$SMILES: NCCCC(O)=O
+CH$IUPAC: InChI=1S/C4H9NO2/c5-3-1-2-4(6)7/h1-3,5H2,(H,6,7)
+CH$LINK: CAS 56-12-2
+CH$LINK: CHEBI 30566
+CH$LINK: KEGG C00334
+CH$LINK: NIKKAJI J1.375G
+CH$LINK: PUBCHEM SID:3628
+AC$INSTRUMENT: Qstar, Applied Biosystems
+AC$INSTRUMENT_TYPE: LC-ESI-QTOF
+AC$MASS_SPECTROMETRY: MS_TYPE MS2
+AC$MASS_SPECTROMETRY: ION_MODE POSITIVE
+MS$FOCUSED_ION: PRECURSOR_M/Z 104
+MS$FOCUSED_ION: PRECURSOR_TYPE [M+H]+
+PK$ANNOTATION: 39.0234750963 45.0340397826 68.0500241978 69.0340397826 86.0605888841 87.0446044689 104.0711535704
+PK$NUM_PEAK: N/A
+PK$PEAK: m/z int. rel.int.
+  N/A
+',
+          'ACCESSION: KOX00003
+RECORD_TITLE: Adenosine; LC-ESI-QTOF; MS2; MERGED; [M-H]-
+DATE: 2012.05.21 (Created 2008.11.28)
+AUTHORS: Institute for Advanced Biosciences, Keio Univ.
+LICENSE: Copyright 2006-2011 Keio
+COMMENT: Peak data in the following records are not open to the public as requested by their authors.
+COMMENT: Instead MassBank provides the merged spectra for the public.
+COMMENT: This record was generated by merging the following three MassBank records.
+COMMENT: [Merging] KO004298 Adenosine; LC-ESI-QTOF; MS2; CE:10 V [M-H]-
+COMMENT: [Merging] KO004299 Adenosine; LC-ESI-QTOF; MS2; CE:20 V [M-H]-
+COMMENT: [Merging] KO004301 Adenosine; LC-ESI-QTOF; MS2; CE:40 V [M-H]-
+COMMENT: [Merging] KO004302 Adenosine; LC-ESI-QTOF; MS2; CE:50 V [M-H]-
+CH$NAME: Adenosine
+CH$COMPOUND_CLASS: N/A
+CH$FORMULA: C10H13N5O4
+CH$EXACT_MASS: 267.09675
+CH$SMILES: OC[C@@H](O1)[C@@H](O)[C@@H](O)[C@@H]1n(c3)c(n2)c(n3)c(N)nc2
+CH$IUPAC: InChI=1S/C10H13N5O4/c11-8-5-9(13-2-12-8)15(3-14-5)10-7(18)6(17)4(1-16)19-10/h2-4,6-7,10,16-18H,1H2,(H2,11,12,13)/t4-,6-,7-,10-/m1/s1
+CH$LINK: CAS 58-61-7
+CH$LINK: CHEBI 16335
+CH$LINK: CHEMPDB ADN
+CH$LINK: KEGG C00212
+CH$LINK: NIKKAJI J4.501B
+CH$LINK: PUBCHEM SID:3512
+AC$INSTRUMENT: Qstar, Applied Biosystems
+AC$INSTRUMENT_TYPE: LC-ESI-QTOF
+AC$MASS_SPECTROMETRY: MS_TYPE MS2
+AC$MASS_SPECTROMETRY: ION_MODE NEGATIVE
+MS$FOCUSED_ION: PRECURSOR_M/Z 266
+MS$FOCUSED_ION: PRECURSOR_TYPE [M-H]-
+PK$ANNOTATION: 107.0357711171 134.0466701544 136.0623202186 266.0889288996
+PK$NUM_PEAK: N/A
+PK$PEAK: m/z int. rel.int.
+  N/A
+',
+          'ACCESSION: FU000001
+RECORD_TITLE: 3-Man2GlcNAc; LC-ESI-QQ; MS2; CE:15V; Amide
+DATE: 2016.01.19 (Created 2009.02.18, modified 2011.05.06)
+AUTHORS: Matsuura F, Ohta M, Kittaka M, Faculty of Life Science and Biotechnology, Fukuyama University
+LICENSE: CC BY-SA
+CH$NAME: 3-Man2GlcNAc
+CH$NAME: Man-alpha-1-3Man-beta-1-4GlcNac
+CH$COMPOUND_CLASS: Natural Product; Oligosaccharide; N-linked glycan; High-mannose type
+CH$FORMULA: C20H35NO16
+CH$EXACT_MASS: 545.19558
+CH$SMILES: CC(=O)NC(C(O)1)C(O)C(OC(O2)C(O)C(OC(O3)C(O)C(O)C(O)C(CO)3)C(O)C(CO)2)C(CO)O1
+CH$IUPAC: InChI=1/C20H35NO16/c1-5(25)21-9-12(28)16(8(4-24)33-18(9)32)36-20-15(31)17(11(27)7(3-23)35-20)37-19-14(30)13(29)10(26)6(2-22)34-19/h6-20,22-24,26-32H,2-4H2,1H3,(H,21,25)/t6-,7-,8-,9-,10-,11-,12-,13+,14-,15+,16-,17+,18+,19-,20+/m1/s1/f/h21H
+CH$LINK: CHEMSPIDER 24606097
+CH$LINK: KEGG G00319
+CH$LINK: OligosaccharideDataBase man 547428
+CH$LINK: OligosaccharideDataBase2D map5 ODS=1.21 Amide=2.85
+AC$INSTRUMENT: 2695 HPLC Quadro Micro API, Waters
+AC$INSTRUMENT_TYPE: LC-ESI-QQ
+AC$MASS_SPECTROMETRY: MS_TYPE MS2
+AC$MASS_SPECTROMETRY: ION_MODE POSITIVE
+AC$MASS_SPECTROMETRY: COLLISION_ENERGY 15.0 V
+AC$MASS_SPECTROMETRY: DATAFORMAT Centroid
+AC$MASS_SPECTROMETRY: DESOLVATION_GAS_FLOW 897 L/Hr
+AC$MASS_SPECTROMETRY: DESOLVATION_TEMPERATURE 399 C
+AC$MASS_SPECTROMETRY: FRAGMENTATION_METHOD LOW-ENERGY CID
+AC$MASS_SPECTROMETRY: IONIZATION ESI
+AC$MASS_SPECTROMETRY: SCANNING 1 amu/sec (m/z = 20-2040)
+AC$MASS_SPECTROMETRY: SOURCE_TEMPERATURE 100C
+AC$CHROMATOGRAPHY: COLUMN_NAME TSK-GEL Amide-80 2.0 mm X 250 mm (TOSOH)
+AC$CHROMATOGRAPHY: COLUMN_TEMPERATURE 40 C
+AC$CHROMATOGRAPHY: FLOW_GRADIENT 74/26 at 0 min, 50/50 at 60 min.
+AC$CHROMATOGRAPHY: FLOW_RATE 0.2 ml/min
+AC$CHROMATOGRAPHY: RETENTION_TIME 7.080 min
+AC$CHROMATOGRAPHY: SAMPLING_CONE 43.10 V
+AC$CHROMATOGRAPHY: SOLVENT CH3CN/H2O
+MS$FOCUSED_ION: DERIVATIVE_FORM C29H46N2O17
+MS$FOCUSED_ION: DERIVATIVE_MASS 694.27965
+MS$FOCUSED_ION: DERIVATIVE_TYPE ABEE (p-Aminobenzoic acid ethyl ester)
+MS$FOCUSED_ION: PRECURSOR_M/Z 695.00
+MS$FOCUSED_ION: PRECURSOR_TYPE [M+H]+
+PK$SPLASH: splash10-00080az000-bfe86aa7211a87812a06
+PK$NUM_PEAK: 8
+PK$PEAK: m/z int. rel.int.
+  370.8 3.277e5 366
+  371.4 3.036e4 34
+  532.0 5.812e4 65
+  532.6 2.982e5 333
+  533.3 5.196e4 58
+  694.1 4.564e5 510
+  694.8 8.939e5 999
+  695.4 5.537e4 62
+',
+          'ACCESSION: FU000002
+RECORD_TITLE: 3-Man2GlcNAc; LC-ESI-QQ; MS2; CE:20V; Amide
+DATE: 2016.01.19 (Created 2009.02.18, modified 2011.05.06)
+AUTHORS: Matsuura F, Ohta M, Kittaka M, Faculty of Life Science and Biotechnology, Fukuyama University
+LICENSE: CC BY-SA
+CH$NAME: 3-Man2GlcNAc
+CH$NAME: Man-alpha-1-3Man-beta-1-5GlcNac
+CH$COMPOUND_CLASS: Natural Product; Oligosaccharide; N-linked glycan; High-mannose type
+CH$FORMULA: C20H35NO16
+CH$EXACT_MASS: 545.19558
+CH$SMILES: CC(=O)NC(C(O)1)C(O)C(OC(O2)C(O)C(OC(O3)C(O)C(O)C(O)C(CO)3)C(O)C(CO)2)C(CO)O1
+CH$IUPAC: InChI=1/C20H35NO16/c1-5(25)21-9-12(28)16(8(4-24)33-18(9)32)36-20-15(31)17(11(27)7(3-23)35-20)37-19-14(30)13(29)10(26)6(2-22)34-19/h6-20,22-24,26-32H,2-4H2,1H3,(H,21,25)/t6-,7-,8-,9-,10-,11-,12-,13+,14-,15+,16-,17+,18+,19-,20+/m1/s1/f/h21H
+CH$LINK: CHEMSPIDER 24606097
+CH$LINK: KEGG G00319
+CH$LINK: OligosaccharideDataBase man 547428
+CH$LINK: OligosaccharideDataBase2D map5 ODS=1.21 Amide=2.85
+AC$INSTRUMENT: 2695 HPLC Quadro Micro API, Waters
+AC$INSTRUMENT_TYPE: LC-ESI-QQ
+AC$MASS_SPECTROMETRY: MS_TYPE MS2
+AC$MASS_SPECTROMETRY: ION_MODE POSITIVE
+AC$MASS_SPECTROMETRY: COLLISION_ENERGY 20.0 V
+AC$MASS_SPECTROMETRY: DATAFORMAT Centroid
+AC$MASS_SPECTROMETRY: DESOLVATION_GAS_FLOW 897 L/Hr
+AC$MASS_SPECTROMETRY: DESOLVATION_TEMPERATURE 399 C
+AC$MASS_SPECTROMETRY: FRAGMENTATION_METHOD LOW-ENERGY CID
+AC$MASS_SPECTROMETRY: IONIZATION ESI
+AC$MASS_SPECTROMETRY: SCANNING 1 amu/sec (m/z = 20-2040)
+AC$MASS_SPECTROMETRY: SOURCE_TEMPERATURE 100C
+AC$CHROMATOGRAPHY: COLUMN_NAME TSK-GEL Amide-80 2.0 mm X 250 mm (TOSOH)
+AC$CHROMATOGRAPHY: COLUMN_TEMPERATURE 40 C
+AC$CHROMATOGRAPHY: FLOW_GRADIENT 74/26 at 0 min, 50/50 at 60 min.
+AC$CHROMATOGRAPHY: FLOW_RATE 0.2 ml/min
+AC$CHROMATOGRAPHY: RETENTION_TIME 7.088 min
+AC$CHROMATOGRAPHY: SAMPLING_CONE 43.10 V
+AC$CHROMATOGRAPHY: SOLVENT CH3CN/H2O
+MS$FOCUSED_ION: DERIVATIVE_FORM C29H46N2O17
+MS$FOCUSED_ION: DERIVATIVE_MASS 694.27965
+MS$FOCUSED_ION: DERIVATIVE_TYPE ABEE (p-Aminobenzoic acid ethyl ester)
+MS$FOCUSED_ION: PRECURSOR_M/Z 695.00
+MS$FOCUSED_ION: PRECURSOR_TYPE [M+H]+
+PK$SPLASH: splash10-000z0fb000-52e2618a90c53226e008
+PK$NUM_PEAK: 10
+PK$PEAK: m/z int. rel.int.
+  324.9 5.549e4 65
+  370.8 8.511e5 999
+  371.3 8.989e4 106
+  486.8 2.622e4 31
+  532.0 5.832e4 68
+  532.7 3.515e5 413
+  533.3 3.910e4 46
+  693.9 4.249e4 50
+  694.5 1.979e5 232
+  695.3 9.682e4 114
+',
+          'ACCESSION: TY000040
+RECORD_TITLE: Aconitine; LC-ESI-ITTOF; MS; [M+H]+
+DATE: 2016.01.19 (Created 2008.10.10, modified 2011.05.06)
+AUTHORS: Ken Tanaka
+LICENSE: CC BY-SA
+CH$NAME: Aconitine
+CH$NAME: NSC56464
+CH$NAME: 16-Ethyl-1alpha,6alpha,19beta-trimethoxy-4-(methoxymethyl)-aconitane-3alpha,8,10alpha,11,18alpha-pentol, 8-acetate 10-benzoate
+CH$NAME: 20-ethyl-3alpha,13,15alpha-trihydroxy-1alpha,6alpha,16beta-trimethoxy-4-(methoxymethyl)aconitane-8,14alpha-diyl 8-acetate 14-benzoate
+CH$COMPOUND_CLASS: Natural Product; Alkaloid
+CH$FORMULA: C34H47NO11
+CH$EXACT_MASS: 645.31491
+CH$SMILES: COC(C7)C(C61[H])(C5([H])2)C(N(CC(COC)6C7O)CC)([H])C(C(C5([H])3)(C(C(OC)C(O)(C(OC(=O)c(c4)cccc4)3)C2)O)OC(C)=O)([H])C1OC
+CH$IUPAC: InChI=1S/C34H47NO11/c1-7-35-15-31(16-41-3)20(37)13-21(42-4)33-19-14-32(40)28(45-30(39)18-11-9-8-10-12-18)22(19)34(46-17(2)36,27(38)29(32)44-6)23(26(33)35)24(43-5)25(31)33/h8-12,19-29,37-38,40H,7,13-16H2,1-6H3/t19-,20-,21+,22-,23+,24+,25-,26+,27+,28-,29+,31+,32-,33+,34-/m1/s1
+CH$LINK: CAS 302-27-2
+CH$LINK: NIKKAJI J9.871J 
+CH$LINK: PUBCHEM 245005
+AC$INSTRUMENT: Shimadzu LC20A-IT-TOFMS
+AC$INSTRUMENT_TYPE: LC-ESI-ITTOF
+AC$MASS_SPECTROMETRY: MS_TYPE MS
+AC$MASS_SPECTROMETRY: ION_MODE POSITIVE
+AC$MASS_SPECTROMETRY: CDL_TEMPERATURE 200 C
+AC$MASS_SPECTROMETRY: INTERFACE_VOLTAGE +4.50 kV
+AC$MASS_SPECTROMETRY: SCANNING_RANGE 100-2000
+AC$CHROMATOGRAPHY: COLUMN_NAME Waters Atlantis T3 (2.1 x 150 mm, 5 um)
+AC$CHROMATOGRAPHY: COLUMN_TEMPERATURE 40 C
+AC$CHROMATOGRAPHY: FLOW_GRADIENT 10 % B to 100 % B/40 min
+AC$CHROMATOGRAPHY: FLOW_RATE 0.2 ml/min
+AC$CHROMATOGRAPHY: RETENTION_TIME 1197.701
+AC$CHROMATOGRAPHY: SOLVENT (A)5 mM ammonium acetate, (B)CH3CN
+MS$FOCUSED_ION: ION_TYPE [M+H]+
+PK$SPLASH: splash10-000000z000-1f6554288e1249b37bcb
+PK$NUM_PEAK: 3
+PK$PEAK: m/z int. rel.int.
+  646.3223 64380108 999
+  647.3252 26819201 416
+  648.3309 7305831 113
+',
+          'ACCESSION: TY000041
+RECORD_TITLE: Atropine; LC-ESI-ITTOF; MS; [M+H]+
+DATE: 2016.01.19 (Created 2008.10.10, modified 2011.05.06)
+AUTHORS: Ken Tanaka
+LICENSE: CC BY-SA
+CH$NAME: Atropine
+CH$NAME: Benzeneacetic acid, alpha-(hydroxymethyl)- (3-endo)-8-methyl-8-azabicyclo[3.2.1]oct-3-yl ester
+CH$NAME: 1alphaH,5alphaH-Tropan-3alpha-ol (+-)-tropate (ester)
+CH$NAME: Benzeneacetic acid, alpha-(hydroxymethyl)-, 8-methyl-8-azabicyclo[3.2.1]oct-3-yl ester, endo-
+CH$NAME: (+-)-Atropine
+CH$NAME: (+-)-Hyoscyamine
+CH$NAME: Tropine (+-)-tropate
+CH$NAME: dl-Tropyl tropate
+CH$NAME: dl-Hyoscyamine
+CH$NAME: Tropine tropate
+CH$NAME: Atropinol
+CH$NAME: Eyesules
+CH$NAME: Atropen
+CH$NAME: Isopto-atropine
+CH$NAME: Troyl tropate
+CH$NAME: Belladenal
+CH$NAME: Atropina
+CH$NAME: Cytospaz
+CH$NAME: Donnagel
+CH$NAME: Anaspaz
+CH$NAME: Atnaa
+CH$NAME: Lonox
+CH$NAME: Neo-Diophen
+CH$NAME: DL-Tropanyl 2-hydroxy-1-phenylpropionate
+CH$NAME: 2-Phenylhydracrylic acid 3-alpha-tropanyl ester
+CH$NAME: tropan-3alpha-yl 3-hydroxy-2-phenylpropanoate
+CH$NAME: 8-Methyl-8-azabicyclo[3.2.1]oct-3-yl tropate
+CH$NAME: 8-Methyl-8-azabicyclo[3.2.1]oct-3-yl 3-hydroxy-2-phenylpropanoate
+CH$NAME: alpha-(Hydroxymethyl)benzeneacetic acid 8-methyl-8-azabicyclo(3.2.1)oct-3-yl ester
+CH$NAME: Benzeneacetic acid, alpha-(hydroxymethyl)-, (3-endo)-8-methyl-8-azabicyclo(3.2.1)oct-3-yl ester
+CH$NAME: (3-endo)-8-methyl-8-azabicyclo[3.2.1]oct-3-yl (2S)-3-hydroxy-2-phenylpropanoate
+CH$NAME: [(1R,5S)-8-methyl-8-azabicyclo[3.2.1]octan-3-yl] 3-hydroxy-2-phenylpropanoate
+CH$NAME: beta-(Hydroxymethyl)benzeneacetic acid 8-methyl-8-azabicyclo[3.2.1]oct-3-yl ester
+CH$NAME: endo-(+/-)-alpha-(Hydroxymethyl)benzeneacetic acid 8-methyl-8-azabicyclo[3.2.1]oct-3-yl ester
+CH$COMPOUND_CLASS: Natural Product; Alkaloid
+CH$FORMULA: C17H23NO3
+CH$EXACT_MASS: 289.16779
+CH$SMILES: OCC(C(=O)OC(C2)CC(C3)N(C)C(C3)2)c(c1)cccc1
+CH$IUPAC: InChI=1S/C17H23NO3/c1-18-13-7-8-14(18)10-15(9-13)21-17(20)16(11-19)12-5-3-2-4-6-12/h2-6,13-16,19H,7-11H2,1H3/t13-,14+,15+,16?
+CH$LINK: CAS 51-55-8
+CH$LINK: NIKKAJI J237.402A 
+CH$LINK: PUBCHEM 174174
+AC$INSTRUMENT: Shimadzu LC20A-IT-TOFMS
+AC$INSTRUMENT_TYPE: LC-ESI-ITTOF
+AC$MASS_SPECTROMETRY: MS_TYPE MS
+AC$MASS_SPECTROMETRY: ION_MODE POSITIVE
+AC$MASS_SPECTROMETRY: CDL_TEMPERATURE 200 C
+AC$MASS_SPECTROMETRY: INTERFACE_VOLTAGE +4.50 kV
+AC$MASS_SPECTROMETRY: SCANNING_RANGE 100-2000
+AC$CHROMATOGRAPHY: COLUMN_NAME Waters Atlantis T3 (2.1 x 150 mm, 5 um)
+AC$CHROMATOGRAPHY: COLUMN_TEMPERATURE 40 C
+AC$CHROMATOGRAPHY: FLOW_GRADIENT 10 % B to 100 % B/40 min
+AC$CHROMATOGRAPHY: FLOW_RATE 0.2 ml/min
+AC$CHROMATOGRAPHY: RETENTION_TIME 641.701
+AC$CHROMATOGRAPHY: SOLVENT (A)5 mM ammonium acetate, (B)CH3CN
+MS$FOCUSED_ION: ION_TYPE [M+H]+
+PK$SPLASH: splash10-00z0000000-bdadd43ab0e2444986f1
+PK$NUM_PEAK: 2
+PK$PEAK: m/z int. rel.int.
+  290.1754 109188681 999
+  291.1762 21571851 197
+'
+        ],
+	## end results
+	'Method \'get_massbank_records_by_chunk\' works with a full ids list and return a nice and unique list of records from WS-MassBank');
+	
+	
+#### #### ##### ###### ################################################ ###### ##### ##### ###### ######
+
+								## END of MAPPER SEQUENCE ## 
+							
+#### #### ##### ###### ################################################ ###### ##### ##### ###### ######
+}
+
+#### #### ##### ###### ################################################ ###### ##### ##### ###### ######
+
+								## START of API SEQUENCE ## 
+							
+#### #### ##### ###### ################################################ ###### ##### ##### ###### ######
+elsif ($sequence eq "API") {
+	
+	## testing connectMassBank on Japan and DE servers.
+	## 		- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+	print "\n\t\t\t\t  * * * * * * \n" ;
+	print "\t  * * * - - - Test MassBank API from SOAP - - - * * * \n\n" ;
+	
+
+
+## 		- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+print "\n** Test $current_test connectMassBankJP with real uri and proxy **\n" ; $current_test++;
+isa_ok( connectMassBankJPTest(), 'SOAP::Lite' );
+
+## 		- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+print "\n** Test $current_test connectMassBankDE with real uri and proxy **\n" ; $current_test++ ;
+isa_ok( connectMassBankDETest(), 'SOAP::Lite' );
+
+## 		- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+print "\n** Test $current_test getInstrumentTypes with the JP server **\n" ; $current_test++ ;
+#is_deeply( getInstrumentTypesTest('JP'), ['APCI-ITFT', 'APCI-ITTOF','CE-ESI-TOF', 'CI-B', 'EI-B', 'EI-EBEB', 'ESI-ITFT', 'ESI-ITTOF', 'FAB-B', 'FAB-EB', 'FAB-EBEB', 'FD-B', 'FI-B', 'GC-EI-QQ', 'GC-EI-TOF', 'LC-APCI-QTOF', 'LC-APPI-QQ', 'LC-ESI-IT', 'LC-ESI-ITFT', 'LC-ESI-ITTOF', 'LC-ESI-Q', 'LC-ESI-QFT', 'LC-ESI-QIT', 'LC-ESI-QQ', 'LC-ESI-QTOF', 'LC-ESI-TOF', 'MALDI-QIT', 'MALDI-TOF', 'MALDI-TOFTOF'], "Works with \'JP server\' and return a list of instrument types");
+print "-- no test -- skipped because JP getInstrumentTypes method is down\n" ;
+
+print "\n** Test $current_test getInstrumentTypes with the DE server **\n" ; $current_test++ ;
+#is_deeply( getInstrumentTypesTest('EU'), ['APCI-ITFT', 'APCI-ITTOF', 'CE-ESI-TOF', 'CI-B', 'EI-B', 'EI-EBEB', 'ESI-FTICR', 'ESI-ITFT', 'ESI-ITTOF', 'FAB-B', 'FAB-EB', 'FAB-EBEB', 'FD-B', 'FI-B', 'GC-EI-QQ', 'GC-EI-TOF', 'HPLC-ESI-TOF', 'LC-APCI-Q', 'LC-APCI-QTOF', 'LC-APPI-QQ', 'LC-ESI-IT', 'LC-ESI-ITFT', 'LC-ESI-ITTOF', 'LC-ESI-Q', 'LC-ESI-QFT', 'LC-ESI-QIT', 'LC-ESI-QQ', 'LC-ESI-QTOF', 'LC-ESI-TOF', 'MALDI-QIT', 'MALDI-TOF', 'MALDI-TOFTOF', 'UPLC-ESI-QTOF'], "Works with $server server and return a list of instrument types");
+print "-- no test -- skipped because DE method is down\n" ;
+## 		- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+
+## 		- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+print "\n** Test $current_test initRecordObject on a well formatted massbank record string **\n" ; $current_test++ ;
+is_deeply( initRecordObjectTest('ACCESSION: KOX00001
+RECORD_TITLE: GABA; LC-ESI-QTOF; MS2; MERGED; [M-H]-
+DATE: 2011.08.24 (Created 2008.11.28)
+AUTHORS: Institute for Advanced Biosciences, Keio Univ.
+LICENSE: Copyright 2006-2011 Keio
+COMMENT: Peak data in the following records are not open to the public as requested by their authors.
+COMMENT: Instead MassBank provides the merged spectra for the public.
+COMMENT: This record was generated by merging the following three MassBank records.
+COMMENT: [Merging] KO004290 GABA; LC-ESI-QTOF; MS2; CE:10 V [M-H]-
+COMMENT: [Merging] KO004291 GABA; LC-ESI-QTOF; MS2; CE:20 V [M-H]-
+COMMENT: [Merging] KO004292 GABA; LC-ESI-QTOF; MS2; CE:30 V [M-H]-
+CH$NAME: GABA
+CH$NAME: 4-Aminobutanoate
+CH$NAME: 4-Aminobutanoic acid
+CH$NAME: 4-Aminobutylate
+CH$NAME: 4-Aminobutyrate
+CH$NAME: 4-Aminobutyric acid
+CH$NAME: gamma-Aminobutyric acid
+CH$COMPOUND_CLASS: N/A
+CH$FORMULA: C4H9NO2
+CH$EXACT_MASS: 103.06333
+CH$SMILES: NCCCC(O)=O
+CH$IUPAC: InChI=1S/C4H9NO2/c5-3-1-2-4(6)7/h1-3,5H2,(H,6,7)
+CH$LINK: CAS 56-12-2
+CH$LINK: CHEBI 30566
+CH$LINK: KEGG C00334
+CH$LINK: NIKKAJI J1.375G
+CH$LINK: PUBCHEM SID:3628
+AC$INSTRUMENT: Qstar, Applied Biosystems
+AC$INSTRUMENT_TYPE: LC-ESI-QTOF
+AC$MASS_SPECTROMETRY: MS_TYPE MS2
+AC$MASS_SPECTROMETRY: ION_MODE NEGATIVE
+MS$FOCUSED_ION: PRECURSOR_M/Z 102
+MS$FOCUSED_ION: PRECURSOR_TYPE [M-H]-
+PK$ANNOTATION: 41.9979886273 84.0449388199 102.0555035062
+PK$NUM_PEAK: N/A
+PK$PEAK: m/z int. rel.int.
+  N/A
+'),
+{
+          'CH$NAME' => 'gamma-Aminobutyric acid',
+          'AC$MASS_SPECTROMETRY' => 'ION_MODE NEGATIVE',
+          'CH$LINK: PUBCHEM SID' => '3628',
+          'ACCESSION' => 'KOX00001',
+          'CH$COMPOUND_CLASS' => 'N/A',
+          'LICENSE' => 'Copyright 2006-2011 Keio',
+          'COMMENT: [Merging] KO004292 GABA; LC-ESI-QTOF; MS2; CE' => '30 V [M-H]-',
+          'COMMENT: [Merging] KO004291 GABA; LC-ESI-QTOF; MS2; CE' => '20 V [M-H]-',
+          'CH$IUPAC' => 'InChI=1S/C4H9NO2/c5-3-1-2-4(6)7/h1-3,5H2,(H,6,7)',
+          'PK$ANNOTATION' => '41.9979886273 84.0449388199 102.0555035062',
+          'AUTHORS' => 'Institute for Advanced Biosciences, Keio Univ.',
+          'PK$NUM_PEAK' => 'N/A',
+          'CH$SMILES' => 'NCCCC(O)=O',
+          'AC$INSTRUMENT_TYPE' => 'LC-ESI-QTOF',
+          'CH$EXACT_MASS' => '103.06333',
+          'CH$LINK' => 'NIKKAJI J1.375G',
+          'CH$FORMULA' => 'C4H9NO2',
+          'PK$PEAK' => {
+                         'relint' => [],
+                         'int' => [],
+                         'mz' => []
+                       },
+          'DATE' => '2011.08.24 (Created 2008.11.28)',
+          'MS$FOCUSED_ION' => 'PRECURSOR_TYPE [M-H]-',
+          'RECORD_TITLE' => 'GABA; LC-ESI-QTOF; MS2; MERGED; [M-H]-',
+          'COMMENT: [Merging] KO004290 GABA; LC-ESI-QTOF; MS2; CE' => '10 V [M-H]-',
+          'AC$INSTRUMENT' => 'Qstar, Applied Biosystems',
+          'COMMENT' => 'This record was generated by merging the following three MassBank records.'
+        }, 
+"Works with a well formatted massbank record string and return one record object from \"KOX00001\" id");
+
+## 		- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+print "\n** Test $current_test initRecordObject on a well formatted massbank record string (has peaks !!) **\n" ; $current_test++ ;
+is_deeply( initRecordObjectTest('ACCESSION: TY000040
+RECORD_TITLE: Aconitine; LC-ESI-ITTOF; MS; [M+H]+
+DATE: 2011.05.06 (Created 2008.10.10)
+AUTHORS: Ken Tanaka
+LICENSE: CC BY-SA
+CH$NAME: Aconitine
+CH$NAME: NSC56464
+CH$NAME: 16-Ethyl-1alpha,6alpha,19beta-trimethoxy-4-(methoxymethyl)-aconitane-3alpha,8,10alpha,11,18alpha-pentol, 8-acetate 10-benzoate
+CH$NAME: 20-ethyl-3alpha,13,15alpha-trihydroxy-1alpha,6alpha,16beta-trimethoxy-4-(methoxymethyl)aconitane-8,14alpha-diyl 8-acetate 14-benzoate
+CH$COMPOUND_CLASS: Natural Product; Alkaloid
+CH$FORMULA: C34H47NO11
+CH$EXACT_MASS: 645.31491
+CH$SMILES: COC(C7)C(C61[H])(C5([H])2)C(N(CC(COC)6C7O)CC)([H])C(C(C5([H])3)(C(C(OC)C(O)(C(OC(=O)c(c4)cccc4)3)C2)O)OC(C)=O)([H])C1OC
+CH$IUPAC: InChI=1S/C34H47NO11/c1-7-35-15-31(16-41-3)20(37)13-21(42-4)33-19-14-32(40)28(45-30(39)18-11-9-8-10-12-18)22(19)34(46-17(2)36,27(38)29(32)44-6)23(26(33)35)24(43-5)25(31)33/h8-12,19-29,37-38,40H,7,13-16H2,1-6H3/t19-,20-,21+,22-,23+,24+,25-,26+,27+,28-,29+,31+,32-,33+,34-/m1/s1
+CH$LINK: CAS 302-27-2
+CH$LINK: NIKKAJI J9.871J 
+CH$LINK: PUBCHEM 245005
+AC$INSTRUMENT: Shimadzu LC20A-IT-TOFMS
+AC$INSTRUMENT_TYPE: LC-ESI-ITTOF
+AC$MASS_SPECTROMETRY: MS_TYPE MS
+AC$MASS_SPECTROMETRY: ION_MODE POSITIVE
+AC$MASS_SPECTROMETRY: CDL_TEMPERATURE 200 C
+AC$MASS_SPECTROMETRY: INTERFACE_VOLTAGE +4.50 kV
+AC$MASS_SPECTROMETRY: SCANNING_RANGE 100-2000
+AC$CHROMATOGRAPHY: COLUMN_NAME Waters Atlantis T3 (2.1 x 150 mm, 5 um)
+AC$CHROMATOGRAPHY: COLUMN_TEMPERATURE 40 C
+AC$CHROMATOGRAPHY: FLOW_GRADIENT 10 % B to 100 % B/40 min
+AC$CHROMATOGRAPHY: FLOW_RATE 0.2 ml/min
+AC$CHROMATOGRAPHY: RETENTION_TIME 1197.701
+AC$CHROMATOGRAPHY: SOLVENT (A)5 mM ammonium acetate, (B)CH3CN
+MS$FOCUSED_ION: ION_TYPE [M+H]+
+PK$NUM_PEAK: 3
+PK$PEAK: m/z int. rel.int.
+  646.3223 64380108 999
+  647.3252 26819201 416
+  648.3309 7305831 113
+'),
+{
+          'MS$FOCUSED_ION' => 'ION_TYPE [M+H]+',
+          'CH$COMPOUND_CLASS' => 'Natural Product; Alkaloid',
+          'CH$EXACT_MASS' => '645.31491',
+          'AC$MASS_SPECTROMETRY' => 'SCANNING_RANGE 100-2000',
+          'AC$INSTRUMENT' => 'Shimadzu LC20A-IT-TOFMS',
+          'PK$PEAK' => {
+                         'mz' => [
+                                   '646.3223',
+                                   '647.3252',
+                                   '648.3309'
+                                 ],
+                         'int' => [
+                                    '64380108',
+                                    '26819201',
+                                    '7305831'
+                                  ],
+                         'relint' => [
+                                       '999',
+                                       '416',
+                                       '113'
+                                     ]
+                       },
+          'CH$IUPAC' => 'InChI=1S/C34H47NO11/c1-7-35-15-31(16-41-3)20(37)13-21(42-4)33-19-14-32(40)28(45-30(39)18-11-9-8-10-12-18)22(19)34(46-17(2)36,27(38)29(32)44-6)23(26(33)35)24(43-5)25(31)33/h8-12,19-29,37-38,40H,7,13-16H2,1-6H3/t19-,20-,21+,22-,23+,24+,25-,26+,27+,28-,29+,31+,32-,33+,34-/m1/s1',
+          'AC$CHROMATOGRAPHY' => 'SOLVENT (A)5 mM ammonium acetate, (B)CH3CN',
+          'DATE' => '2011.05.06 (Created 2008.10.10)',
+          'LICENSE' => 'CC BY-SA',
+          'AC$INSTRUMENT_TYPE' => 'LC-ESI-ITTOF',
+          'CH$FORMULA' => 'C34H47NO11',
+          'CH$LINK' => 'PUBCHEM 245005',
+          'CH$NAME' => '20-ethyl-3alpha,13,15alpha-trihydroxy-1alpha,6alpha,16beta-trimethoxy-4-(methoxymethyl)aconitane-8,14alpha-diyl 8-acetate 14-benzoate',
+          'PK$NUM_PEAK' => '3',
+          'ACCESSION' => 'TY000040',
+          'RECORD_TITLE' => 'Aconitine; LC-ESI-ITTOF; MS; [M+H]+',
+          'CH$SMILES' => 'COC(C7)C(C61[H])(C5([H])2)C(N(CC(COC)6C7O)CC)([H])C(C(C5([H])3)(C(C(OC)C(O)(C(OC(=O)c(c4)cccc4)3)C2)O)OC(C)=O)([H])C1OC',
+          'AUTHORS' => 'Ken Tanaka'
+        }, 
+"Works with a well formatted massbank record string and return one record object from \"KOX00001\" id");
+
+## 		- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+print "\n** Test $current_test getRecord on $server server with a true ID **\n" ; $current_test++ ;
+is_deeply( getRecordInfoTest($server, ['KOX00001']), 
+['ACCESSION: KOX00001
+RECORD_TITLE: GABA; LC-ESI-QTOF; MS2; MERGED; [M-H]-
+DATE: 2011.08.24 (Created 2008.11.28)
+AUTHORS: Institute for Advanced Biosciences, Keio Univ.
+LICENSE: Copyright 2006-2011 Keio
+COMMENT: Peak data in the following records are not open to the public as requested by their authors.
+COMMENT: Instead MassBank provides the merged spectra for the public.
+COMMENT: This record was generated by merging the following three MassBank records.
+COMMENT: [Merging] KO004290 GABA; LC-ESI-QTOF; MS2; CE:10 V [M-H]-
+COMMENT: [Merging] KO004291 GABA; LC-ESI-QTOF; MS2; CE:20 V [M-H]-
+COMMENT: [Merging] KO004292 GABA; LC-ESI-QTOF; MS2; CE:30 V [M-H]-
+CH$NAME: GABA
+CH$NAME: 4-Aminobutanoate
+CH$NAME: 4-Aminobutanoic acid
+CH$NAME: 4-Aminobutylate
+CH$NAME: 4-Aminobutyrate
+CH$NAME: 4-Aminobutyric acid
+CH$NAME: gamma-Aminobutyric acid
+CH$COMPOUND_CLASS: N/A
+CH$FORMULA: C4H9NO2
+CH$EXACT_MASS: 103.06333
+CH$SMILES: NCCCC(O)=O
+CH$IUPAC: InChI=1S/C4H9NO2/c5-3-1-2-4(6)7/h1-3,5H2,(H,6,7)
+CH$LINK: CAS 56-12-2
+CH$LINK: CHEBI 30566
+CH$LINK: KEGG C00334
+CH$LINK: NIKKAJI J1.375G
+CH$LINK: PUBCHEM SID:3628
+AC$INSTRUMENT: Qstar, Applied Biosystems
+AC$INSTRUMENT_TYPE: LC-ESI-QTOF
+AC$MASS_SPECTROMETRY: MS_TYPE MS2
+AC$MASS_SPECTROMETRY: ION_MODE NEGATIVE
+MS$FOCUSED_ION: PRECURSOR_M/Z 102
+MS$FOCUSED_ION: PRECURSOR_TYPE [M-H]-
+PK$ANNOTATION: 41.9979886273 84.0449388199 102.0555035062
+PK$NUM_PEAK: N/A
+PK$PEAK: m/z int. rel.int.
+  N/A
+'], 
+"Works with $server server and return one record from \"KOX00001\" id");
+
+## 	test a false massbank ID	- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+print "\n** Test $current_test getRecord with a false ID **\n" ; $current_test++ ;
+is_deeply( getRecordInfoTest($server, ['KOX100101']), [undef], "Method \'getRecordInfo\' works with $server server and manage no sended record from \"KOX100101\" a false id");
+
+## 	test a false massbank ID	- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+print "\n** Test $current_test getRecord with a false ID into a real list **\n" ; $current_test++;
+is_deeply( getRecordInfoTest($server, ['KOX100101', 'KOX00001']), ['ACCESSION: KOX00001
+RECORD_TITLE: GABA; LC-ESI-QTOF; MS2; MERGED; [M-H]-
+DATE: 2011.08.24 (Created 2008.11.28)
+AUTHORS: Institute for Advanced Biosciences, Keio Univ.
+LICENSE: Copyright 2006-2011 Keio
+COMMENT: Peak data in the following records are not open to the public as requested by their authors.
+COMMENT: Instead MassBank provides the merged spectra for the public.
+COMMENT: This record was generated by merging the following three MassBank records.
+COMMENT: [Merging] KO004290 GABA; LC-ESI-QTOF; MS2; CE:10 V [M-H]-
+COMMENT: [Merging] KO004291 GABA; LC-ESI-QTOF; MS2; CE:20 V [M-H]-
+COMMENT: [Merging] KO004292 GABA; LC-ESI-QTOF; MS2; CE:30 V [M-H]-
+CH$NAME: GABA
+CH$NAME: 4-Aminobutanoate
+CH$NAME: 4-Aminobutanoic acid
+CH$NAME: 4-Aminobutylate
+CH$NAME: 4-Aminobutyrate
+CH$NAME: 4-Aminobutyric acid
+CH$NAME: gamma-Aminobutyric acid
+CH$COMPOUND_CLASS: N/A
+CH$FORMULA: C4H9NO2
+CH$EXACT_MASS: 103.06333
+CH$SMILES: NCCCC(O)=O
+CH$IUPAC: InChI=1S/C4H9NO2/c5-3-1-2-4(6)7/h1-3,5H2,(H,6,7)
+CH$LINK: CAS 56-12-2
+CH$LINK: CHEBI 30566
+CH$LINK: KEGG C00334
+CH$LINK: NIKKAJI J1.375G
+CH$LINK: PUBCHEM SID:3628
+AC$INSTRUMENT: Qstar, Applied Biosystems
+AC$INSTRUMENT_TYPE: LC-ESI-QTOF
+AC$MASS_SPECTROMETRY: MS_TYPE MS2
+AC$MASS_SPECTROMETRY: ION_MODE NEGATIVE
+MS$FOCUSED_ION: PRECURSOR_M/Z 102
+MS$FOCUSED_ION: PRECURSOR_TYPE [M-H]-
+PK$ANNOTATION: 41.9979886273 84.0449388199 102.0555035062
+PK$NUM_PEAK: N/A
+PK$PEAK: m/z int. rel.int.
+  N/A
+'], "Method \'getRecordInfo\' works with $server server and don\'t send record from \"KOX100101\" a false id into a list");
+
+
+## 	test an undef massbank IDs list	- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+print "\n** Test $current_test getRecord with a undef list of IDs **\n" ; $current_test++;
+is_deeply( getRecordInfoTest($server, undef), [], "Method \'getRecordInfo\' works with $server server and manage undef massbank ids list");
+
+##	test an empty massbank IDs list	- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+print "\n** Test $current_test getRecord with a void list of IDs **\n" ; $current_test++ ;
+is_deeply( getRecordInfoTest($server, [] ), [], "Method \'getRecordInfo\' works with $server server and manage empty massbank ids list");
+
+##		- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+print "\n** Test $current_test getRecord on $server server with only one real ID **\n" ; $current_test++;
+is_deeply( getRecordInfoTest($server, ['KOX00001']), 
+['ACCESSION: KOX00001
+RECORD_TITLE: GABA; LC-ESI-QTOF; MS2; MERGED; [M-H]-
+DATE: 2011.08.24 (Created 2008.11.28)
+AUTHORS: Institute for Advanced Biosciences, Keio Univ.
+LICENSE: Copyright 2006-2011 Keio
+COMMENT: Peak data in the following records are not open to the public as requested by their authors.
+COMMENT: Instead MassBank provides the merged spectra for the public.
+COMMENT: This record was generated by merging the following three MassBank records.
+COMMENT: [Merging] KO004290 GABA; LC-ESI-QTOF; MS2; CE:10 V [M-H]-
+COMMENT: [Merging] KO004291 GABA; LC-ESI-QTOF; MS2; CE:20 V [M-H]-
+COMMENT: [Merging] KO004292 GABA; LC-ESI-QTOF; MS2; CE:30 V [M-H]-
+CH$NAME: GABA
+CH$NAME: 4-Aminobutanoate
+CH$NAME: 4-Aminobutanoic acid
+CH$NAME: 4-Aminobutylate
+CH$NAME: 4-Aminobutyrate
+CH$NAME: 4-Aminobutyric acid
+CH$NAME: gamma-Aminobutyric acid
+CH$COMPOUND_CLASS: N/A
+CH$FORMULA: C4H9NO2
+CH$EXACT_MASS: 103.06333
+CH$SMILES: NCCCC(O)=O
+CH$IUPAC: InChI=1S/C4H9NO2/c5-3-1-2-4(6)7/h1-3,5H2,(H,6,7)
+CH$LINK: CAS 56-12-2
+CH$LINK: CHEBI 30566
+CH$LINK: KEGG C00334
+CH$LINK: NIKKAJI J1.375G
+CH$LINK: PUBCHEM SID:3628
+AC$INSTRUMENT: Qstar, Applied Biosystems
+AC$INSTRUMENT_TYPE: LC-ESI-QTOF
+AC$MASS_SPECTROMETRY: MS_TYPE MS2
+AC$MASS_SPECTROMETRY: ION_MODE NEGATIVE
+MS$FOCUSED_ION: PRECURSOR_M/Z 102
+MS$FOCUSED_ION: PRECURSOR_TYPE [M-H]-
+PK$ANNOTATION: 41.9979886273 84.0449388199 102.0555035062
+PK$NUM_PEAK: N/A
+PK$PEAK: m/z int. rel.int.
+  N/A
+'], 
+"Method \'getRecordInfo\' works with $server server and return one record from \"KOX00001\" id");
+
+##		- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+
+
+##		- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+# ARGVTS : $mzs, $intensities, $ion, $instruments, $max, $unit, $tol, $cutoff
+# Structure of res : %ret = {'res' => [], 'num_res' => int, 'pcgroup_id'=> int }
+print "\n** Test $current_test searchSpectrum with a list of mzs, intensities and real search parameters **\n" ; $current_test++;
+is_deeply( searchSpectrumTest(
+		['273.096', '289.086', '290.118', '291.096', '292.113', '579.169', '580.179'], 
+		['300', '300', '300', '300', '300', '300', '300'],
+		'Positive', # mode
+		['all'],		# instrument
+		'2',		# max return / only 2 for test
+		'unit',		# unit (unit or ppm)
+		0.3, 		# tol with unit = unit / can be also 50 with unit = ppm
+		50			# cutoff
+	),
+	{ 'num_res' => 2, 'pcgroup_id' => 1, 'res' =>
+		[
+			{
+				'title' => 'Lormetazepam; LC-ESI-Q; MS; POS; 60 V',
+				'exactMass' => '334.02758',
+				'score' => '0.428034082411',
+				'id' => 'WA001260',
+				'formula' => 'C16H12Cl2N2O2'
+			},
+			{
+				'formula' => 'C16H12Cl2N2O2',
+				'exactMass' => '334.02758',
+				'score' => '0.385859601865',
+				'id' => 'WA001261',
+				'title' => 'Lormetazepam; LC-ESI-Q; MS; POS; 45 V'
+			}
+		]
+	}, 
+"Method \'searchSpectrum\' works with $server server and return a list of entries from given mzs list");
+
+##		- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+# ARGVTS : $mzs, $intensities, $ion, $instruments, $max, $unit, $tol, $cutoff
+# Structure of res : %ret = {'res' => [], 'num_res' => int, 'pcgroup_id'=> int }
+print "\n** Test $current_test searchSpectrum with the Atrazine fingerprint and real search parameters **\n" ; $current_test++;
+is_deeply( searchSpectrumTest(
+		['68.0245', '96.056', '104.0014', '132.0328', '138.1031', '146.0233', '174.0547', '180.125', '188.0703'], 
+		['300', '300', '300', '300', '300', '300', '300'],
+		'Positive', # mode
+		['all'],		# instrument
+		'2',		# max return / only 2 for test
+		'unit',		# unit (unit or ppm)
+		0.3, 		# tol with unit = unit / can be also 50 with unit = ppm
+		50			# cutoff
+	),
+	{ 'num_res' => 2, 'pcgroup_id' => 1, 'res' =>
+		[
+			{
+				'title' => 'Lormetazepam; LC-ESI-Q; MS; POS; 60 V',
+				'exactMass' => '334.02758',
+				'score' => '0.428034082411',
+				'id' => 'WA001260',
+				'formula' => 'C16H12Cl2N2O2'
+			},
+			{
+				'formula' => 'C16H12Cl2N2O2',
+				'exactMass' => '334.02758',
+				'score' => '0.385859601865',
+				'id' => 'WA001261',
+				'title' => 'Lormetazepam; LC-ESI-Q; MS; POS; 45 V'
+			}
+		]
+	}, 
+"Method \'searchSpectrum\' works with $server server and return the Atrazine record from given mzs list");
+
+
+
+##		- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+# ARGVTS : $mzs, $intensities, $ion, $instruments, $max, $unit, $tol, $cutoff
+print "\n** Test $current_test searchSpectrum with a list of mzs, intensities and real search parameters **\n" ; $current_test++;
+is_deeply( searchSpectrumTest(
+		['273.096', '289.086', '290.118', '291.096', '292.113', '579.169', '580.179'], 
+		['5', '5', '5', '5', '5', '5', '5'],
+		'Positive', # mode
+		['all'],		# instrument
+		'2',		# max return / only 2 for test
+		'unit',		# unit (unit or ppm)
+		0.3, 		# tol with unit = unit / can be also 50 with unit = ppm
+		50			# cutoff
+	),
+	{ 'num_res' => 2, 'pcgroup_id' => 1, 'res' =>
+		[
+			{
+				'title' => 'Lormetazepam; LC-ESI-Q; MS; POS; 60 V',
+				'exactMass' => '334.02758',
+				'score' => '0.428034082411',
+				'id' => 'WA001260',
+				'formula' => 'C16H12Cl2N2O2'
+			},
+			{
+				'formula' => 'C16H12Cl2N2O2',
+				'exactMass' => '334.02758',
+				'score' => '0.385859601865',
+				'id' => 'WA001261',
+				'title' => 'Lormetazepam; LC-ESI-Q; MS; POS; 45 V'
+			}
+		]
+	},
+"Method \'searchSpectrum\' works with $server server and return a list of entries from given mzs list with no intensity (very low in true)");
+##		- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+# ARGVTS : $mzs, $intensities, $ion, $instruments, $max, $unit, $tol, $cutoff
+print "\n** Test $current_test searchSpectrum with a list of mzs, intensities and real search parameters - /!\\ Bug - Real intensity **\n" ; $current_test++;
+is_deeply( searchSpectrumTest(
+		['121.5145853','121.6260795','126.186473','126.2979602','126.4094198','184.0731041'],
+		['614328.101','298110.8522','1372105.065','799423.8448','99064.65118','2342541.316'],
+		'Positive', # mode
+		['all'],		# instrument
+		'2',		# max return / only 2 for test
+		'unit',		# unit (unit or ppm)
+		0.3, 		# tol with unit = unit / can be also 50 with unit = ppm
+		50			# cutoff
+	), 
+	{ 'num_res' => 1, 'pcgroup_id' => 1, 'res' => 
+		[
+			{
+				'formula' => 'C12H13NO2',
+				'id' => 'KO003209',
+				'title' => '3-Indolebutyric acid; LC-ESI-QQ; MS2; CE:30 V; [M+H]+',
+				'score' => '0.239887404489',
+				'exactMass' => '203.09463'
+			}
+		]
+	}, 
+"Method \'searchSpectrum\' works with $server server and return a list of entries from given mzs list /!\\ Bug - Real intensity");
+
+##		- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+# ARGVTS : $mzs, $intensities, $ion, $instruments, $max, $unit, $tol, $cutoff
+print "\n** Test $current_test searchSpectrum with a list of mzs, intensities and real search parameters - /!\\ Bug - Real relative intensity **\n" ; $current_test++;
+is_deeply( searchSpectrumTest(
+		['121.51459','121.62608','126.18647','126.29796','126.40942','184.0731','385.23','502.29222','503.29564','548.33424','550.32453','551.32481','566.28931','566.79058','568.339'],
+		['2','1','7','4','1','5','0','18','5','4','1','1','0','0','999'],
+		'Positive', # mode
+		['all'],		# instrument
+		'2',		# max return / only 2 for test
+		'unit',		# unit (unit or ppm)
+		0.3, 		# tol with unit = unit / can be also 50 with unit = ppm
+		50			# cutoff
+	), 
+	{ 'num_res' => 2, 'pcgroup_id' => 1, 'res' => 
+		[
+			{
+			'id' => 'CA000162',
+			'exactMass' => '568.42803',
+			'title' => 'beta,beta-Carotene-2,2\'-diol; FAB-EBEB; MS2; m/z: 568.43; [M]*+',
+			'formula' => 'C40H56O2',
+			'score' => '0.904567659364'
+			},
+			{
+			'exactMass' => '568.42803',
+			'id' => 'CA000153',
+			'score' => '0.620521335460',
+			'formula' => 'C40H56O2',
+			'title' => 'Isozeaxanthin; FAB-EBEB; MS2; m/z: 568.43; [M]*+'
+			}
+		]
+	}, 
+"Method \'searchSpectrum\' works with $server server and return a list of entries from given mzs list /!\\ Bug - Real relative intensity");
+
+##		- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+# ARGVTS : $mzs, $intensities, $ion, $instruments, $max, $unit, $tol, $cutoff
+print "\n** Test $current_test searchSpectrum with a list of mzs, intensities and max = 2 **\n" ; $current_test++;
+is_deeply( searchSpectrumNBTest(
+		['273.096', '289.086', '290.118', '291.096', '292.113', '579.169', '580.179'], 
+		['300', '300', '300', '300', '300', '300', '300'],
+		'Positive', # mode
+		['all'],	# instrument
+		'2',		# max return / only 2 for test
+		'unit',		# unit (unit or ppm)
+		0.3, 		# tol with unit = unit / can be also 50 with unit = ppm
+		50			# cutoff
+	), 
+	2, 
+'Method \'searchSpectrum\' works with $server server and return the right number of entries from given mzs list and parameters (max)');
+
+##		- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+# ARGVTS : $mzs, $intensities, $ion, $instruments, $max, $unit, $tol, $cutoff
+print "\n** Test $current_test searchSpectrum with a list of mzs, but no intensity (in true very low) and max = 2 **\n" ; $current_test++;
+is_deeply( searchSpectrumNBTest(
+		['273.096', '289.086', '290.118', '291.096', '292.113', '579.169', '580.179'], 
+		[10, 10, 10, 10, 10, 10, 10 ],
+		'Positive', # mode
+		['all'],	# instrument
+		'2',		# max return / only 2 for test
+		'unit',		# unit (unit or ppm)
+		0.3, 		# tol with unit = unit / can be also 50 with unit = ppm
+		50			# cutoff
+	), 
+	2, 
+'Method \'searchSpectrum\' works with $server server and return the right number of entries from given mzs list and no intensity');
+
+##		- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+# ARGVTS : $mzs, $intensities, $ion, $instruments, $max, $unit, $tol, $cutoff
+print "\n** Test $current_test searchSpectrum with a list of mzs, intensities and no optionnal parameter like instrument, unit, tolerance and cutoff **\n" ; $current_test ++;
+is_deeply( searchSpectrumNBTest(
+		['273.096', '289.086', '290.118', '291.096', '292.113', '579.169', '580.179'], 
+		['300', '300', '300', '300', '300', '300', '300'],
+		'Positive', # mode
+		undef,		# instrument
+		'2',		# max return / only 2 for test
+		undef,		# unit (unit or ppm)
+		undef, 		# tol with unit = unit / can be also 50 with unit = ppm
+		undef		# cutoff
+	), 
+	2, 
+'Method \'searchSpectrum\' works with $server server and return the right number of entries from def parameters (instrument, unit, tolerance, cutoff )');
+
+##		- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+# ARGVTS : $mzs, $intensities, $ion, $instruments, $max, $unit, $tol, $cutoff, $max
+print "\n** Test $current_test searchSpectrum with a list of mzs, intensities and no conf parameters for instrument, unit, tolerance and cutoff (value by default) **\n" ; $current_test++;
+is_deeply( searchSpectrumNBTest(
+		['273.096', '289.086', '290.118', '291.096', '292.113', '579.169', '580.179'], 
+		['300', '300', '300', '300', '300', '300', '300'],
+		'Positive', # mode
+		undef,		# instrument - ['all'] by default
+		undef,		# max return - 0 by default
+		undef,		# unit - unit by default
+		undef, 		# tol - 0.3  (by default) with unit = unit / can be also 50  (by default) with unit = ppm
+		undef		# cutoff - 5 by default
+	), 
+	388, 
+'Method \'searchSpectrum\' works with $server server and return the right number of entries (363) with undef parameters (instrument, unit, tolerance, cutoff, max )');
+
+##		- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+# ARGVTS : $ids
+print "\n** Test $current_test getPeak with a list ids **\n" ; $current_test++;
+is_deeply( getPeakTest( ['PR020003', 'FU000001']), 
+	[
+		{
+			'numPeaks' => '9',
+			'mzs' => ['207.0897','210.0499','224.5345','225.2768','226.0377','226.9938','227.9228','243.1025','410.0056'],
+			'intensities' => ['8.488e2','9.442e2','1.093e3','5.294e4','2.896e4','7.015e3','7.870e2','4.024e3','5.620e2'],
+			'id' => 'PR020003'
+		},
+		{
+			'id' => 'FU000001',
+			'intensities' => ['3.277e5', '3.036e4', '5.812e4', '2.982e5', '5.196e4','4.564e5', '8.939e5','5.537e4'],
+			'mzs' => ['370.8', '371.4', '532.0', '532.6', '533.3', '694.1', '694.8','695.4'],
+			'numPeaks' => '8'
+		}
+	],
+'Method \'getPeak\' works with $server server and return the peak lists from given ids list');
+
+
+
+
+print "\n- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\n" ;
+
+}
+else {
+	croak "Can\'t launch any test : no sequence clearly defined !!!!\n" ;
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/input01_69-pcgroups-mz-relative_int.tabular	Wed Apr 19 11:31:58 2017 -0400
@@ -0,0 +1,70 @@
+mz	mzmin	mzmax	rt	rtmin	rtmax	into	intb	maxo	sn	sample	isotopes	adduct	pcgroup
+303.0485467	303.0479126	303.0501709	273.698	270.334	278.072	247182.3356	246032.8821	80132	351	1	[8][M]+		1
+304.0519266	304.050354	304.0531006	273.362	270.671	278.072	39377.69332	39179.45225	12431	267	1	[8][M+1]+		1
+305.0552454	305.0523376	305.0632324	274.034	271.007	278.072	6932.447143	6916.875306	2489	149	1	[8][M+2]+		1
+325.0531081	325.0501099	325.0581665	273.698	271.007	278.744	16589.13717	16498.21541	4449	72	1	[1][M]+		1
+325.5558227	325.5527039	325.5592346	273.698	270.334	278.744	5385.764	5364.939238	1474	158	1			1
+326.0658445	326.0617065	326.0741272	274.034	271.007	278.408	3192.858682	3180.844071	959	118	1	[1][M+1]+		1
+334.0589389	334.0574951	334.0603943	273.698	270.334	278.744	54965.0688	54850.32436	13751	389	1			1
+334.5601886	334.5524292	334.5627747	273.362	270.334	279.753	16357.10268	16227.57541	4281	166	1			1
+335.0608018	335.0567017	335.0646362	274.034	270.671	278.072	5194.492773	5184.064091	1421	148	1			1
+465.101281	465.0989685	465.1035461	273.698	270.334	278.408	108485.9646	108377.6304	35620	1343	1	[10][M]+	[M+H-C6H10O4]+ 610.147	1
+466.1044404	466.0985107	466.1070862	273.362	270.334	278.072	26116.08643	26072.63829	8449	532	1	[10][M+1]+		1
+467.1065989	467.1006775	467.1124573	274.034	270.671	278.072	5576.989909	5560.706107	2070	174	1	[10][M+2]+		1
+503.0443595	503.0398865	503.0495605	274.034	270.671	278.744	2661.062625	2635.329938	919	62	1			1
+519.0203434	519.0109863	519.03125	273.698	271.007	278.408	3261.486136	3233.291851	1105	74	1	[2][M]+		1
+520.0216826	520.0151978	520.031189	274.371	271.007	278.072	767.3935714	756.3133696	303	20	1	[2][M+1]+		1
+611.1574452	611.1509399	611.159729	273.362	270.334	278.072	52749.60957	52698.08698	21130	1529	1	[6][M]+	[M+H]+ 610.147	1
+612.1618463	612.1569824	612.166626	273.362	270.671	277.735	16140.56724	16129.11427	6402	867	1	[6][M+1]+		1
+613.1621027	613.1480713	613.1749268	273.698	271.007	278.072	3880.703571	3874.311429	1483	291	1	[6][M+2]+		1
+630.6266888	630.6172485	630.6311646	273.698	271.007	278.072	17110.08429	17103.35571	6626	1590	1	[4][M]2+		1
+631.1270815	631.1121216	631.1309814	274.034	270.671	278.072	7219.6755	7213.283727	2839	876	1	[4][M+1]2+		1
+633.1395015	633.1376953	633.1422119	273.698	270.334	278.408	78153.96508	77951.91484	23827	744	1	[9][M]+	[M+Na]+ 610.147	1
+634.1424296	634.1401978	634.1456909	273.698	270.334	278.408	23879.52783	23851.69336	7234	695	1	[9][M+1]+		1
+635.1427623	635.1370239	635.1464844	273.698	270.334	278.408	7234.640417	7226.23	2120	2119	1	[9][M+2]+		1
+636.1507892	636.1391602	636.1651001	274.371	271.007	278.744	1583.057478	1561.299402	636	47	1	[9][M+3]+		1
+649.1057016	649.1015625	649.1113892	273.362	270.671	277.735	5106.935619	5097.414576	1555	240	1	[3][M]2+	[2M+2K]2+ 610.147	1
+649.6002579	649.5925293	649.6157227	273.698	271.343	277.735	972.9296842	967.2105263	351	77	1	[3][M+1]2+		1
+650.1081035	650.0990601	650.1168213	273.698	271.007	279.417	1549.122	1535.345619	602	64	1	[3][M+2]2+		1
+655.1225036	655.1105957	655.1422119	273.362	270.671	277.399	1257.1268	1250.7352	412	86	1		[M+2Na-H]+ 610.147	1
+717.0893975	717.0775146	717.1069946	273.698	273.362	278.408	453.1308	447.1303628	171	26	1		[M+K+NaCOOH]+ 610.147	1
+135.0459028	135.0454712	135.0463409	280.426	276.725	285.476	97555.81142	97424.69475	30037	822	1	[14][M]+	[M+H-H2O]+ 152.048	2
+136.0490744	136.0469818	136.0510406	280.426	277.061	284.126	9243.038571	9236.31	2771	477	1	[14][M+1]+		2
+153.0565924	153.0544586	153.0579376	280.426	276.725	282.78	4206.543056	4165.861024	1470	39	1		[M+H]+ 152.048	2
+175.0362187	175.0328674	175.0382385	280.426	278.072	283.789	7465.729412	7459.72416	2930	310	1	[13][M]+	[M+Na]+ 152.048	2
+176.0376081	176.0342712	176.0409698	280.089	275.716	281.098	410.713875	408.695625	320	108	1	[13][M+1]+		2
+197.0192355	197.0154266	197.0233002	280.762	277.735	284.126	963.0227895	952.3813158	394	30	1		[M+2Na-H]+ 152.048	2
+403.0711753	403.0660706	403.0734253	279.753	278.408	282.78	399.5335385	396.1704615	260	26	1			2
+117.0358602	117.033165	117.0389862	278.072	275.38	281.098	994.5956471	970.9683282	507	24	1			3
+145.0301952	145.0294189	145.0324097	278.072	274.707	282.107	20533.65455	20181.26777	7200	53	1	[12][M]+		3
+146.0338015	146.0315704	146.0370331	278.072	276.052	281.098	2337.98	2333.2704	849	848	1	[12][M+1]+		3
+149.0608613	149.0575104	149.0633545	278.072	275.043	281.098	3561.349167	3549.48464	1285	90	1		[M+H-C2H2O2]+ 194.055 [M+H-NO2]+ 194.055	3
+163.0397626	163.0365295	163.042099	277.735	276.052	279.417	718.091	709.4482632	368	25	1		[M+H-CH4O]+ 194.055	3
+177.0539492	177.0531006	177.05513	278.072	274.034	282.444	31098.8344	30490.44511	11319	57	1	[11][M]+	[M+H-H2O]+ 194.055	3
+178.0578014	178.0528107	178.0614929	278.072	275.043	282.78	3510.916043	3464.439494	1316	54	1	[11][M+1]+		3
+195.0644538	195.0613861	195.0670013	278.072	275.716	280.762	1925.5536	1901.981571	858	35	1		[M+H]+ 194.055	3
+196.0700972	196.0676727	196.0720062	278.072	277.061	281.435	279.2630769	271.3225846	204	13	1		[M+K]+ 157.103	3
+217.047301	217.044632	217.0532379	277.735	275.38	279.417	1703.950417	1700.249833	886	885	1		[M+Na]+ 194.055	3
+233.0121036	233.0091858	233.0163269	278.072	274.707	282.107	3540.9	3531.509848	1481	132	1		[M+K]+ 194.055	3
+251.0221026	251.0169678	251.0265961	278.072	273.698	281.435	3523.02613	3499.142348	1254	70	1		[M+Na+K]2+ 440.098	3
+269.0328959	269.0281982	269.0385742	278.072	276.052	281.771	2372.712176	2351.730706	1008	67	1		[M+H-CH4O]+ 300.045	3
+279.0200882	279.0171509	279.0247803	278.408	275.043	280.762	740.7787059	734.4572941	454	41	1		[M+K+HCOOH]+ 194.055	3
+297.0306054	297.0255432	297.038147	278.072	275.38	280.426	1108.1016	1103.392	385	384	1			3
+301.0504305	301.0436401	301.0579834	277.735	274.371	281.435	486.0704762	468.779315	240	12	1		[M+H]+ 300.045 [M+H-C7H6O2]+ 422.084	3
+308.0261572	308.0209351	308.034668	278.072	275.716	282.444	751.5176	741.6344	323	27	1			3
+315.0378642	315.0346375	315.0412598	277.735	276.389	279.753	570.8708	568.516	324	323	1		[M+H-H14O7]+ 440.098	3
+371.2623675	371.2585754	371.2679749	277.399	275.38	279.417	1014.632667	1010.932083	456	455	1		[M+H-C3H4]+ 410.275	3
+422.0847921	422.0766602	422.0930786	277.399	275.716	279.081	817.022	813.9935	617	129	1			3
+425.0339018	425.0305176	425.0410461	277.735	276.052	279.417	398.7525	388.7106316	267	13	1			3
+427.0703433	427.0647888	427.0771484	278.072	274.707	282.107	1897.090909	1889.026807	1024	98	1	[7][M]+	[2M+K]+ 194.055	3
+428.071429	428.0612793	428.0791016	278.072	273.362	280.762	553.6545455	544.381348	310	27	1	[7][M+1]+		3
+443.0411698	443.0319519	443.0491333	278.072	273.362	280.089	842.8931	834.6301017	384	31	1			3
+445.074958	445.0639954	445.0813599	277.735	274.707	281.098	1661.996368	1649.526711	758	53	1	[5][M]+	[M+Na]+ 422.084	3
+446.0817674	446.0753784	446.0857849	277.735	276.725	280.426	352.6043636	348.2589676	238	23	1	[5][M+1]+		3
+449.2321066	449.2252808	449.2385864	277.735	275.716	282.107	1741.715684	1720.915388	631	37	1		[M+K]+ 410.275	3
+463.0878154	463.078186	463.0952759	278.072	274.707	283.116	819.0366	814.7170295	408	71	1		[M+Na]+ 440.098	3
+472.296343	472.2885132	472.3045959	277.399	275.716	280.089	369.0139231	363.6954096	249	23	1		[3M+H]+ 157.103	3
+480.3076532	480.2977295	480.315033	277.399	276.052	280.762	412.125	404.4284586	208	19	1			3
+607.1399722	607.1333618	607.1530151	278.072	274.034	282.107	284.236875	281.321625	211	34	1			3
+621.1283748	621.1159668	621.1455688	278.072	276.389	279.753	434.6288	431.6012	258	43	1		[3M+K]+ 194.055	3
+21.1283748	21.1159668	21.1455688	78.072	76.389	79.753	34.6288	31.6012	258	43	1		[X]+ 94.055	4
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/input02_2214-mz-int-pcgroups.tabular	Wed Apr 19 11:31:58 2017 -0400
@@ -0,0 +1,2215 @@
+mz	QC6	pcgroup		
+121.5145853	614328.101	1		
+121.6260795	298110.8522	1		
+126.186473	1372105.065	1		
+126.2979602	799423.8448	1		
+126.4094198	99064.65118	1		
+184.0731041	2342541.316	1		
+385.2300024	153777.6254	1		
+502.2922166	6619648.811	1		
+503.2956385	1681584.125	1		
+548.334235	2507995.364	1		
+550.3245293	829008.4774	1		
+551.3248058	368415.0327	1		
+566.2893078	157486.0653	1		
+566.7905764	48222.51792	1		
+568.3390012	446382177.5	1		
+570.3450055	28876124.32	1		
+571.3479121	2988517.198	1		
+572.3505372	225428.16	1		
+579.3233358	216856.8949	1		
+587.3122117	917520.0619	1		
+587.8139534	690601.2217	1		
+588.3154837	58952.83371	1		
+592.3272029	502690.7187	1		
+626.392138	1395956.985	1		
+636.313923	174562.4613	1		
+652.2915266	967624.7076	1		
+653.2949542	291543.285	1		
+666.307255	243719.0918	1		
+112.6288375	117890.6728	2		
+358.2770237	0	2		
+411.3575423	165856.1927	2		
+478.3218145	545683.9077	2		
+479.3251723	144657.5645	2		
+496.3388594	326649278.1	2		
+497.3421007	86412954.14	2		
+498.3448681	12878117.73	2		
+499.3471079	1028079.683	2		
+507.3234575	167638.1508	2		
+515.3122686	720161.6218	2		
+515.8139796	397175.3526	2		
+518.3207866	13745773.19	2		
+519.3241556	3311868.986	2		
+520.3272042	243489.526	2		
+534.2948444	504710.1168	2		
+554.3921216	1385635.332	2		
+555.3954949	348251.8324	2		
+564.313868	168012.914	2		
+580.2914584	995761.851	2		
+581.2947583	204696.4707	2		
+586.3083281	138599.0003	2		
+594.3070945	92685.13566	2		
+596.370224	615370.5679	2		
+597.3736566	72737.09261	2		
+115.9676656	121776.9211	3		
+317.2007344	2098352.407	3		
+318.2040976	458557.6832	3		
+319.2073582	0	3		
+353.3521065	1658398.883	3		
+474.3570859	360044.8496	3		
+482.3597638	1296382.244	3		
+483.3631202	301426.7483	3		
+504.3378034	238621.0857	3		
+522.3543945	180368757.6	3		
+523.3577138	50377590.4	3		
+524.3607156	7255131.902	3		
+525.3630416	599539.8512	3		
+541.3279032	196068.4889	3		
+541.8296488	69409.55717	3		
+544.3364533	10222073.29	3		
+545.3398262	2790644.602	3		
+546.3429472	184432.5974	3		
+560.310504	309862.3598	3		
+580.4077319	1005043.61	3		
+581.4111065	122900.2556	3		
+606.3070159	494884.5942	3		
+612.3239909	156489.1575	3		
+315.16276	204707.2467	4		
+321.1796828	126724.0327	4		
+326.3774822	115518284.2	4		
+327.3808042	25116955.97	4		
+328.3842252	2615994.772	4		
+329.3875872	0	4		
+389.1668823	0	4		
+504.3051591	202555.2418	4		
+676.5461678	5758573.034	4		
+697.5247595	243020.3285	4		
+697.7538842	239983.8012	4		
+698.7572722	113034.2856	4		
+699.7608545	0	4		
+114.6217783	653938.15	5		
+114.7332742	302321.6519	5		
+116.5136396	1044234.858	5		
+116.6251117	544124.1944	5		
+120.2973566	19775.85284	5		
+120.4088554	19691.44866	5		
+328.2377679	259917.185	5		
+462.243275	533866.1601	5		
+462.2664868	1086115.103	5		
+463.2698715	250396.1727	5		
+480.277096	2065022.357	5		
+481.280575	488031.4981	5		
+498.2875864	5319234.948	5		
+499.2910559	1101477.389	5		
+515.3141244	1986891.781	5		
+516.2982049	9988985.803	5		
+517.301694	2839874.622	5		
+518.2947627	320720.4282	5		
+518.3050052	389610.6434	5		
+533.3244307	267221595.3	5		
+534.3277395	77776421.92	5		
+535.3211137	11295733.1	5		
+536.3240385	2929361.018	5		
+537.3269699	212290.5597	5		
+538.2680198	5824612.09	5		
+538.2798766	7330132.232	5		
+539.2832914	2623326.24	5		
+554.2449701	2660229.58	5		
+555.2484984	451046.4285	5		
+555.3065167	657771.0423	5		
+560.2618251	390998.2675	5		
+561.3557977	6502591.384	5		
+562.3592327	1856206.571	5		
+574.3512231	982454.9197	5		
+575.3545263	91242.72597	5		
+100.0754227	463055.5623	6		
+104.052634	1312590.706	6		
+120.0805276	8972796.407	6		
+121.0838857	689370.0993	6		
+123.0549787	72375006.65	6		
+124.0583775	4254013.967	6		
+131.0489038	334262.8124	6		
+132.1015786	95629449.65	6		
+133.0315327	4235943.439	6		
+133.1049622	5913875.878	6		
+134.1058828	332109.922	6		
+136.0754357	889175.4386	6		
+137.0454536	77094471.44	6		
+138.0488322	3867770.676	6		
+149.0593986	456297.0041	6		
+150.0580269	23805425.28	6		
+151.0612352	2096401.193	6		
+152.0563547	875251.7323	6		
+159.0274341	2597503.227	6		
+165.0543755	1410621.436	6		
+166.085871	42307407.59	6		
+167.0892997	3985804.571	6		
+174.1235058	158797.6081	6		
+175.0013747	11421129.02	6		
+176.0047588	501060.366	6		
+176.9995337	727204.4634	6		
+182.0809017	8962361.037	6		
+183.0842944	689801.5599	6		
+188.0703384	2704248.846	6		
+189.0737004	279539.7309	6		
+189.1231288	258551.8081	6		
+192.0653615	246521.0182	6		
+202.1799478	236440.6917	6		
+204.1228069	7874268.406	6		
+204.1339792	1515839.669	6		
+205.0968831	4901304.974	6		
+206.1003234	641015.9685	6		
+209.0917817	973410.2985	6		
+213.123129	852356.8271	6		
+215.138751	140997.1368	6		
+218.1383621	535673.3715	6		
+220.1176229	4991486.125	6		
+221.1209727	386821.5287	6		
+224.0761515	154760.0945	6		
+229.1543785	1370388.278	6		
+232.1540016	2042645.001	6		
+233.15736	189433.6745	6		
+238.0741185	328256.3172	6		
+239.1057208	376978.1147	6		
+241.1543629	817822.5378	6		
+242.0995435	685184.5104	6		
+243.0526933	104523.0492	6		
+246.1333104	352414.3098	6		
+246.1695788	109384.7545	6		
+248.1489816	242275.5701	6		
+250.093127	1674953.529	6		
+257.1130092	1890428.693	6		
+258.0734576	1457434.002	6		
+258.1163214	1457344.463	6		
+264.1438986	1068811.294	6		
+268.103784	4118799.963	6		
+268.1401341	6727359.567	6		
+269.0877201	31084684.25	6		
+270.0910859	3355470.258	6		
+271.0920519	203094.5662	6		
+275.1419922	73923.54638	6		
+276.1437942	738101.107	6		
+276.1801221	161243.2928	6		
+282.1192667	146519.9683	6		
+284.0986162	2079119.793	6		
+285.0825064	191817.8883	6		
+285.1019713	191817.8883	6		
+290.1594043	651498.3721	6		
+291.0695996	3260881.965	6		
+292.0729618	271018.5962	6		
+292.2015981	207241.2737	6		
+294.1543898	3063942.707	6		
+295.0660256	552849.2046	6		
+295.1577567	286761.8814	6		
+298.0963907	606584.0658	6		
+298.1280753	183164.8922	6		
+302.1244032	2037198.811	6		
+304.17507	123420.9006	6		
+307.0434539	14824793.79	6		
+308.0468739	1434468.528	6		
+309.0416128	964210.3596	6		
+310.1280172	181931.8186	6		
+310.1757416	212310.0782	6		
+311.0398051	398810.5066	6		
+318.1906567	522423.0508	6		
+322.0544187	85526.454	6		
+327.1407576	192230.9194	6		
+328.1386144	889572.8307	6		
+341.1352858	699770.8496	6		
+367.1494606	341172.1298	6		
+375.2234194	154278.8027	6		
+377.144997	273974.7768	6		
+384.1510069	116519.8991	6		
+400.1822364	2027035.831	6		
+401.1855633	323138.1637	6		
+403.2294585	372558.1032	6		
+427.1079978	2385773.776	6		
+428.111217	313258.075	6		
+434.1664143	1058679.891	6		
+435.1697499	166872.0228	6		
+443.0818673	3314340.355	6		
+444.0850873	502374.5852	6		
+445.0800625	154459.6133	6		
+450.1614327	2850549.656	6		
+451.164688	440509.0961	6		
+473.1772132	2124069.352	6		
+474.1806068	475963.8647	6		
+477.1722303	227807.4177	6		
+485.3578183	104114.5274	6		
+518.1735392	135925.0525	6		
+525.1933897	248113.0111	6		
+536.1842817	275552.4583	6		
+537.1680799	18279203.39	6		
+538.1716926	3563637.315	6		
+539.174341	430876.5736	6		
+552.1791591	1075023.264	6		
+553.1827069	258811.5227	6		
+559.1500988	2822077.228	6		
+560.1537024	527119.1299	6		
+574.1609497	145007.6612	6		
+575.1240278	4468265.045	6		
+576.1277129	775475.5093	6		
+577.1217736	142787.7429	6		
+590.1349634	120469.0902	6		
+331.179897	0	7		
+349.3207391	723408.26	7		
+358.3210724	104300.8246	7		
+376.2840171	97105.58236	7		
+418.3057696	84969.75468	7		
+460.2585213	105312.8887	7		
+542.3230503	75301901.82	7		
+543.3263759	22504149.08	7		
+306.2897753	93041.66214	8		
+332.2215091	0	8		
+457.3667553	940068.9104	8		
+458.3701249	174113.8574	8		
+633.3988594	1050789.689	8		
+634.4022309	409023.7752	8		
+650.4253197	53181412.6	8		
+651.4286554	20725229.38	8		
+652.431785	3998650.887	8		
+653.4348455	965326.2614	8		
+655.3805039	4227507.28	8		
+656.3839574	1432693.215	8		
+657.3869999	325305.7358	8		
+671.3546283	42430.96932	8		
+677.3625112	493346.4104	8		
+678.3658113	112827.4733	8		
+678.4565311	1578039.292	8		
+679.4598874	543786.1607	8		
+691.451869	415658.8887	8		
+692.455268	151898.4276	8		
+717.3513114	101505.7917	8		
+731.3669598	147767.0884	8		
+430.2609461	0	9		
+478.2920984	10177938.86	9		
+479.2954591	2530738.478	9		
+480.2986934	186176.007	9		
+554.3235023	109510.2928	9		
+560.3059371	348323.2226	9		
+569.3421449	85028298.48	9		
+590.3207283	11617053.38	9		
+591.3241808	3396402.419	9		
+606.2949034	454928.6882	9		
+627.3956253	385358.3958	9		
+270.3151221	0	10		
+387.2888376	571753.0495	10		
+422.3259485	98455.23605	10		
+446.3257124	1689573.256	10		
+502.3214833	1767389.52	10		
+520.338894	71748751.36	10		
+521.3423065	19611325.18	10		
+522.345291	2535564.277	10		
+523.3474914	199403.6808	10		
+542.3211515	4095512.233	10		
+543.3243206	1096196.385	10		
+558.2956679	50459.04683	10		
+563.3123966	96297.9588	10		
+578.3919752	437353.4863	10		
+579.3953853	59400.26784	10		
+604.2912996	180522.3311	10		
+243.2790096	39414.9212	11		
+436.2169057	17327.37487	11		
+464.28201	1942903.797	11		
+465.2853978	367169.4931	11		
+482.2925856	1520503.851	11		
+483.295994	346301.1693	11		
+499.3191173	1361107.812	11		
+500.3031232	4192393.883	11		
+501.3066044	1042467.674	11		
+502.2994205	77918.00044	11		
+517.3295528	24666038.59	11		
+518.3330033	6650720.267	11		
+519.3256826	805808.2167	11		
+520.3290345	105238.4761	11		
+522.2849839	2061365.852	11		
+523.2884508	572281.3983	11		
+524.2691563	156848.2011	11		
+530.3136436	172182.0772	11		
+538.2501374	374881.6609	11		
+544.2668847	304701.7672	11		
+545.3608805	757757.4557	11		
+568.2951304	20529073.19	11		
+569.298673	5409738.747	11		
+570.3011231	820384.1367	11		
+571.303344	54932.19772	11		
+573.2505765	1785379.55	11		
+574.2540146	375208.6469	11		
+589.2246648	177165.5764	11		
+596.326528	1181540.778	11		
+597.3299228	264388.457	11		
+609.3218464	293397.3001	11		
+612.3213863	0	11		
+647.3778923	165211.7486	11		
+429.2530186	111323.6466	12		
+490.35202	0	12		
+544.3388971	36454151.04	12		
+545.342399	10220895.98	12		
+546.3456402	1307171.322	12		
+566.3210696	1182561.014	12		
+567.3244566	280669.7758	12		
+574.3129727	7334969.398	12		
+602.3920665	100987.7655	12		
+102.0546999	1285185.367	13		
+102.0910757	1048526.211	13		
+106.0495872	369839.2549	13		
+112.0502841	886881.2517	13		
+114.0659488	789772.2984	13		
+116.0703306	17147838.17	13		
+117.0737021	822062.2007	13		
+118.0859469	35529881.24	13		
+119.0892799	1768003.791	13		
+120.065241	2967394.094	13		
+122.0709742	238551.6701	13		
+127.0386768	399012.0928	13		
+130.0495949	742122.97	13		
+130.0860181	285482.9419	13		
+132.0764631	4608720.673	13		
+134.0267386	3640154.525	13		
+134.1172302	6840925.546	13		
+136.061447	19810020.79	13		
+138.0522676	141279.2551	13		
+139.0498392	330515.4854	13		
+144.1016028	904974.3141	13		
+145.0492444	881264.631	13		
+146.0267662	340212.4235	13		
+146.1172542	1543068.912	13		
+147.0761245	1488943.862	13		
+148.0601379	717433.2037	13		
+148.0965126	783280.4424	13		
+149.022974	2986005.302	13		
+150.0768995	625245.8918	13		
+154.0261773	182927.124	13		
+156.0322316	1244069.941	13		
+160.0965162	177442.3516	13		
+162.0757877	491167.3237	13		
+162.1121526	2358835.222	13		
+163.0597993	841156.7879	13		
+163.1155438	1083000.424	13		
+168.0863847	511608.186	13		
+173.0417886	27069.52473	13		
+175.0710574	239381.0654	13		
+178.0238439	91960.49336	13		
+179.0044997	283910.3437	13		
+180.0864164	3126037.096	13		
+186.0540292	288742.2425	13		
+186.0758037	192313.9482	13		
+189.0157474	69283.64421	13		
+198.0969219	6625270.144	13		
+199.100298	302339.2852	13		
+199.1689796	1267828.385	13		
+203.1387366	330334.8699	13		
+203.1499549	363048.0479	13		
+204.0863473	1108682.87	13		
+205.1261641	4082077.418	13		
+212.1125414	139098.3105	13		
+213.0269056	29880.92765	13		
+217.1794643	923143.7766	13		
+222.0968528	824700.3296	13		
+230.0954397	153630.1762	13		
+241.0849101	330731.9648	13		
+243.1005348	823939.7136	13		
+244.0787926	687118.3882	13		
+244.0924132	1843823.599	13		
+245.0765219	252384.3676	13		
+245.0958588	282226.1473	13		
+250.1281494	351398.5813	13		
+255.0971563	1357255.552	13		
+256.1005226	81906.10757	13		
+260.0526944	3427858.736	13		
+261.0560501	214572.9439	13		
+262.0508069	201670.1394	13		
+262.128061	226087.1393	13		
+265.1113496	333703.5879	13		
+266.0742994	281750.4093	13		
+268.0512591	174360.9129	13		
+273.0839985	417942.7854	13		
+275.159814	192388.9007	13		
+280.1386342	642047.9713	13		
+282.0482249	1734687.512	13		
+286.0965642	1031673.468	13		
+288.0743148	441021.695	13		
+290.1343729	85041.04724	13		
+308.0907194	1868111.853	13		
+309.0940646	193623.2762	13		
+312.1107796	318988.7203	13		
+318.1193685	2067681.563	13		
+320.2577992	514337.6949	13		
+330.0726286	63880.76815	13		
+346.0465246	170100.3009	13		
+346.2734667	4011295.136	13		
+347.2768165	754334.9418	13		
+360.1495497	282621.287	13		
+385.0672287	156525.8688	13		
+385.1284172	262853.9442	13		
+404.1420945	413550.7393	13		
+405.1261457	1715261.181	13		
+406.1294265	188990.6924	13		
+418.1386861	470325.8929	13		
+431.1404106	166766.2412	13		
+522.2021048	326636.284	13		
+576.1714039	752989.8542	13		
+247.2416149	203669.5652	14		
+265.2522062	950596.08	14		
+282.2787265	99319140.7	14		
+283.282065	18556402.33	14		
+284.285463	1634705.81	14		
+299.3052486	137904.9155	14		
+326.3776165	785927.1697	14		
+370.2769624	9138351.026	14		
+375.2265394	1049347.476	14		
+376.2298089	115308.1171	14		
+395.2449353	104069.2434	14		
+396.2526726	14444864.93	14		
+397.2560444	3760416.281	14		
+398.259528	296392.8256	14		
+409.4145882	78212.41444	14		
+414.3030715	2763241.712	14		
+415.3064021	539128.7837	14		
+464.3856117	291634.368	14		
+563.5502067	14435405.09	14		
+564.5536824	5537160.809	14		
+565.5569892	874099.2065	14		
+606.4568048	357336.0814	14		
+607.4602884	102468.9355	14		
+633.4829374	1136177.103	14		
+634.4863992	322697.0111	14		
+650.4830184	329254.4268	14		
+431.2898055	327374.3833	15		
+482.3233612	3697202.725	15		
+483.32671	779092.8721	15		
+508.2783641	102398.8737	15		
+526.2918596	53792124.94	15		
+527.2953684	15555440.46	15		
+668.6388149	66549.88996	15		
+729.5569389	275354.3681	15		
+730.5604548	36401.59174	15		
+731.5546682	87844.82657	15		
+359.3414915	328476.2736	16		
+524.3700067	32233597.55	16		
+525.3735224	8459337.202	16		
+526.3766583	939318.6857	16		
+546.3521508	2497371.958	16		
+547.3554918	577893.2846	16		
+582.4232884	79386.2451	16		
+166.1117424	51998.10383	17		
+331.2162251	9293230.079	17		
+332.2196572	2139054.831	17		
+333.222989	160868.8007	17		
+342.3361028	885131.6619	17		
+343.3394106	99110.54783	17		
+675.5427508	11846843.08	17		
+334.3210297	22056401	18		
+335.3244623	4566688.363	18		
+336.3278065	454016.0822	18		
+355.2472833	201500.6601	18		
+496.2897603	211030.8328	18		
+667.6352471	322791.5655	18		
+522.305156	2158196.235	19		
+523.3085908	594971.2596	19		
+546.3544047	11617546.64	19		
+547.3578176	3272183.679	19		
+585.3178444	74219.94687	19		
+610.3494604	116564.4885	19		
+345.1955704	183603.143	20		
+346.1988439	0	20		
+370.294512	219023.5663	20		
+403.2485294	0	20		
+518.3231445	17062845.37	20		
+519.3265167	4754291.431	20		
+520.3296721	527015.1707	20		
+540.3051836	1161079.684	20		
+541.3085565	230102.8229	20		
+566.3230459	535312.726	20		
+567.3265387	137810.6779	20		
+576.3763563	170240.2101	20		
+346.3210656	306485.327	21		
+494.3231958	25524809.68	21		
+495.3265739	8295663.555	21		
+496.3296321	553268.0566	21		
+516.305125	1700163.724	21		
+517.2333079	85048.34962	21		
+517.3084617	284595.5713	21		
+552.3763289	134981.9139	21		
+640.3446465	537508.9699	21		
+155.0464381	43729.91258	22		
+211.1090249	235805.1359	22		
+242.283813	197749.2513	22		
+267.1715042	1144333.95	22		
+268.1749059	43560.12752	22		
+289.1534053	15694.79499	22		
+301.2157301	61708.78221	22		
+312.2293167	148830.8784	22		
+325.2245217	0	22		
+340.2604925	0	22		
+398.3257692	1558668.805	22		
+399.3290891	232175.6078	22		
+401.3518816	125737.4135	22		
+442.3518718	80221.01578	22		
+466.2919212	1394713.8	22		
+467.295288	225942.0183	22		
+480.3439837	497449.6973	22		
+481.3473297	76480.30048	22		
+504.3075009	1298788.439	22		
+505.3109309	343967.5255	22		
+506.3595738	163693.3378	22		
+508.338863	5309837.594	22		
+509.3422294	1203663.044	22		
+530.3208223	159869.9174	22		
+548.3609537	574278.0019	22		
+570.3543831	19980393.7	22		
+571.3577909	6149144.344	22		
+604.4078025	28237.21861	22		
+626.5011552	0	22		
+364.3315477	429417.3022	23		
+419.1692828	60867.49666	23		
+470.3831891	227641.011	23		
+500.3783343	924293.437	23		
+501.3817189	96807.5131	23		
+532.3398493	490607.6157	23		
+533.3430057	169851.788	23		
+548.3241545	427817.3097	23		
+550.3397615	10189494.57	23		
+551.3432173	2650475.061	23		
+552.3363837	266453.1549	23		
+555.2952671	398156.0307	23		
+567.3664395	376249.6703	23		
+568.36993	67307.52399	23		
+104.1067028	37753375.68	24		
+126.0216286	2637618.762	24		
+105.1100828	1824644.926	25		
+120.1016415	1474882.689	25		
+127.0250335	151924.7559	25		
+128.0174562	430586.6586	25		
+143.048202	1219754.816	25		
+169.0581048	187748.9473	25		
+170.0323644	381036.4504	25		
+184.0730768	412272.3166	25		
+185.0320579	1114365.459	25		
+193.9881364	302773.3485	25		
+203.0523287	2344662.743	25		
+204.0556901	928239.1354	25		
+215.0693041	470823.0964	25		
+220.0295851	216121.5048	25		
+221.185632	1000814.63	25		
+243.1830496	1234609.763	25		
+245.1800904	409455.8143	25		
+249.0367577	270457.0257	25		
+251.0362569	1643833.569	25		
+253.0321185	116395.7448	25		
+258.1097196	71434.96654	25		
+273.0181686	142970.8816	25		
+276.9848048	24064.6973	25		
+288.9921016	168196.4261	25		
+310.9740583	780043.6489	25		
+326.0302185	312040.2967	25		
+328.0669069	49159.03951	25		
+350.0487897	118876.233	25		
+366.0226707	474382.6229	25		
+376.0507757	203262.9159	25		
+381.0788535	672192.2757	25		
+381.9966505	32570.39944	25		
+383.1155333	28985.3563	25		
+398.0326557	224359.7501	25		
+414.0065863	717747.93	25		
+435.988467	470564.3916	25		
+451.9623914	738578.3548	25		
+457.9704209	161637.3112	25		
+473.9442892	469126.4187	25		
+489.918213	329208.0668	25		
+491.0371546	105958.3264	25		
+507.0111778	0	25		
+527.1575141	88452.68284	25		
+539.0210825	215485.9484	25		
+543.1314759	673239.2842	25		
+576.9770886	170207.69	25		
+598.9590126	135667.5474	25		
+614.9328847	84852.75566	25		
+636.9148678	130069.4181	25		
+668.1461363	87687.44973	25		
+184.0730202	880040.935	26		
+290.6386702	122747.2961	26		
+299.3051662	454710.866	26		
+339.2523671	298330.8078	26		
+381.3104955	276111.1827	26		
+400.2798358	45233.95547	26		
+403.292378	109839.9525	26		
+468.3075555	16316485.71	26		
+469.310892	3615192.966	26		
+470.3140518	301803.3441	26		
+476.2762721	1615152.251	26		
+477.2795728	345637.0837	26		
+490.2894979	1123601.62	26		
+491.2928464	253179.7889	26		
+524.3061113	472959.4031	26		
+525.3091494	137479.412	26		
+526.3607157	96713.87778	26		
+530.323174	239474.8092	26		
+544.3294369	8781237.525	26		
+545.331882	814559.0114	26		
+554.3230309	250535.5211	26		
+561.2964512	241705.0605	26		
+561.7982165	219528.2449	26		
+564.3050163	10742846.35	26		
+565.3084007	3061567.613	26		
+566.3115462	336507.5017	26		
+570.2816976	6894122.992	26		
+571.2850598	2070202.06	26		
+572.2882351	196349.4946	26		
+580.2790784	666297.8145	26		
+592.263691	333414.0895	26		
+600.3762905	1988025.494	26		
+601.3797619	492505.3208	26		
+626.2756879	979015.8658	26		
+627.2791785	92112.60644	26		
+632.2925108	217060.6014	26		
+640.29127	165458.1565	26		
+464.2116559	83441.31093	27		
+473.3264695	995128.5293	27		
+575.371408	304697.7869	27		
+576.3749471	0	27		
+374.3523854	415068.6361	28		
+480.3076039	22243549.09	28		
+481.3110037	5577079.668	28		
+482.3142285	400882.5836	28		
+502.2896169	1123635.386	28		
+503.2929143	258429.5821	28		
+244.1902516	324274.7392	29		
+315.1333525	199178.6888	29		
+392.1907444	1178609.003	29		
+393.1940424	111188.0992	29		
+397.1461168	204373.1602	29		
+398.1494067	0	29		
+420.2219783	223286.0921	29		
+421.2250767	0	29		
+433.217195	31913.61518	29		
+465.2373926	21729.19182	29		
+533.3245418	16927531.69	29		
+534.3279871	4273423.983	29		
+442.3365626	658127.3795	30		
+516.31744	375243.8564	30		
+664.404498	3295236.469	30		
+665.4079223	1125183.032	30		
+669.359708	214837.9819	30		
+311.2364526	133569.7226	31		
+385.2730795	11796659.26	31		
+386.276419	2929719.595	31		
+387.2799216	198801.6818	31		
+464.3360693	187157.8117	31		
+510.3545594	152205.365	31		
+521.2653217	145163.0349	31		
+539.2760334	3029626.534	31		
+540.2794106	763413.203	31		
+557.2865643	24164156.45	31		
+558.290045	7016149.903	31		
+559.2929372	1081252.946	31		
+575.3163927	11996743.68	31		
+576.3193471	1775574.488	31		
+579.2683082	4818722.429	31		
+595.2334779	941031.8213	31		
+596.2368039	189288.2415	31		
+601.2502709	343740.8817	31		
+602.3442987	1003049.719	31		
+603.347628	289061.6825	31		
+557.3420975	296786.0635	32		
+658.3340786	480149.5377	32		
+725.4158819	281163.3946	32		
+745.4423885	114572.1962	32		
+338.2658229	266776.6828	33		
+374.3369766	306575.5875	33		
+474.2605592	98332.58534	33		
+516.3074236	8690236.849	33		
+517.3108324	2530604.114	33		
+518.3138519	264461.2747	33		
+538.2893488	352143.4441	33		
+648.4096185	6103073.502	33		
+649.4130027	2455436.237	33		
+653.3649072	557338.7117	33		
+654.3682824	193799.1205	33		
+531.3088421	1772645.593	34		
+532.312341	478792.8085	34		
+583.3770305	0	35		
+605.3587715	135660.8629	35		
+637.3056042	721910.6458	35		
+638.3087681	177211.5816	35		
+654.331387	12930102.16	35		
+655.3348214	4553178.79	35		
+656.3378617	691122.5618	35		
+659.2866257	381591.2292	35		
+660.289952	99652.71882	35		
+682.3626545	978496.3295	35		
+683.3660738	238366.0535	35		
+695.3579933	1287726.939	35		
+696.3614602	451672.6488	35		
+362.3523052	22948559.69	36		
+363.3556573	5346956.807	36		
+364.359015	448519.8099	36		
+374.2684833	76782.64676	36		
+430.2943431	260003.603	36		
+468.3076675	201398.731	36		
+723.6978041	245796.0681	36		
+724.7014313	46753.48796	36		
+112.8954981	2896433.208	37		
+114.892824	945365.0287	37		
+140.067936	332965.4952	37		
+148.0036172	3678928.22	37		
+149.9925282	203602.3375	37		
+156.0418533	1483956.536	37		
+156.0764529	777468.1658	37		
+163.9775151	8309120.74	37		
+164.9809193	55985.59842	37		
+165.9756478	462429.6932	37		
+169.985577	333483.6959	37		
+170.8541087	158285.9653	37		
+185.9595244	4302631.423	37		
+186.82805	228715.2265	37		
+187.9576416	199054.1387	37		
+188.8250087	82203.81414	37		
+194.0324112	207837.8411	37		
+195.977061	254818.4252	37		
+196.8569004	200136.236	37		
+201.9334494	10996708.49	37		
+202.9367698	91888.36006	37		
+203.9315137	1410483.134	37		
+207.014011	233822.7199	37		
+207.9980229	52689.13507	37		
+219.0262216	5324330.106	37		
+221.0243557	347973.0785	37		
+222.9878639	561404.7711	37		
+223.9718959	96894.06827	37		
+231.9439773	189906.6102	37		
+241.0081985	296523.9641	37		
+243.918081	164307.96	37		
+254.8153802	336456.7085	37		
+256.982119	311889.9363	37		
+259.8919855	850665.7111	37		
+260.760461	70536.31944	37		
+261.8891844	250580.2366	37		
+275.8659236	1423382.187	37		
+277.8633431	420512.0137	37		
+287.0136164	227714.877	37		
+295.0000971	71081.4372	37		
+302.9875787	290388.5567	37		
+317.8505899	134950.0017	37		
+326.9479723	930437.5981	37		
+332.9559771	354851.616	37		
+333.8244936	420683.0903	37		
+335.8217042	285610.0819	37		
+348.9298745	1910032.903	37		
+349.7984092	451086.8918	37		
+350.9286285	174625.7355	37		
+351.7957263	347791.1914	37		
+363.986061	132516.7045	37		
+364.9037725	2990323.005	37		
+366.891402	561412.8769	37		
+366.9023097	575905.6734	37		
+368.888469	93473.20626	37		
+369.9843903	165889.191	37		
+385.9582995	119871.5415	37		
+406.8884432	214886.3224	37		
+407.7569314	172775.2658	37		
+408.8865165	70293.48193	37		
+409.754149	198365.8187	37		
+422.8623317	688126.5148	37		
+423.9812592	59897.07889	37		
+424.8603024	388232.5246	37		
+425.7280988	157595.6278	37		
+438.8362153	619084.1056	37		
+439.9551568	185950.4948	37		
+440.8344187	381206.4483	37		
+480.8209084	197669.5273	37		
+482.8180098	114523.8779	37		
+495.9262306	351148.406	37		
+496.794729	274425.3089	37		
+498.7920516	257320.9044	37		
+511.9001906	508399.8198	37		
+512.7686922	274214.7506	37		
+513.8977259	105612.5288	37		
+514.7661055	165070.0487	37		
+527.874112	357205.6269	37		
+569.8588621	176603.8355	37		
+585.8328362	165830.9968	37		
+587.8301275	127560.0923	37		
+658.8968896	80019.02347	37		
+674.8708145	284044.1577	37		
+106.9503297	182460.8857	38		
+122.9242411	4765405.956	38		
+124.9223677	689147.1994	38		
+136.9398893	224209.6315	38		
+181.9614019	140980.502	38		
+189.1595296	107002.0707	38		
+190.9116754	1555535.634	38		
+204.9273031	246535.6729	38		
+206.8855837	1351295.95	38		
+208.8837251	289469.4353	38		
+220.9012198	204025.3242	38		
+222.0289306	353876.8991	38		
+229.1197552	56801.42197	38		
+231.9882035	231025.3622	38		
+253.9469107	112826.2064	38		
+255.135415	142068.1049	38		
+258.8989819	1089439.804	38		
+264.8441757	824583.5229	38		
+269.9207842	549508.7804	38		
+274.8728901	1898719.092	38		
+280.8181026	409424.3255	38		
+285.8947098	816445.5231	38		
+290.8468146	1345891.852	38		
+296.065617	1598272.32	38		
+343.8533147	365857.7888	38		
+353.8820851	397773.2169	38		
+367.2029253	140338.3596	38		
+284.2943683	1284522.615	39		
+285.2977711	127265.7582	39		
+351.2889256	514191.0147	39		
+352.2922482	78196.97448	39		
+365.3884299	136850.7519	39		
+395.2526641	238044.242	39		
+402.4088195	277299.1757	39		
+432.3677188	0	39		
+436.3931725	366896.551	39		
+452.5182418	538258.6195	39		
+453.521471	0	39		
+476.3938864	64080.45206	39		
+520.4201535	240584.2293	39		
+690.5428546	444210.4631	39		
+710.4750014	345168.6826	39		
+712.524865	0	39		
+730.540022	8284066.748	39		
+731.5434673	12067000.34	39		
+732.4569812	266138.8151	39		
+732.5463522	2484927.033	39		
+735.4953078	1486313.091	39		
+736.4988523	1031584.185	39		
+737.5021032	46914.69755	39		
+244.2630224	627678.4508	40		
+288.2891395	11910318.13	40		
+289.2925066	2082700.198	40		
+376.3315308	387990.5436	40		
+544.2531323	138789.7926	40		
+149.023003	9220639.998	41		
+150.0263399	629773.156	41		
+205.0856187	1714730.765	41		
+206.0890005	0	41		
+279.1586463	5479333.444	41		
+280.1620045	969488.0112	41		
+301.1405452	956865.935	41		
+302.1439221	59270.81654	41		
+317.1144852	18212.22419	41		
+390.3360159	1203195.076	41		
+391.3392583	189866.9514	41		
+400.3414683	4109145.925	41		
+401.3448199	835588.5122	41		
+418.2944939	125352.1564	41		
+510.3545716	3365990.351	41		
+511.357906	689852.1709	41		
+532.3364707	68551.2109	41		
+590.3806813	6161792.884	41		
+591.3841558	1855908.558	41		
+592.3872301	263090.65	41		
+612.3628034	304830.1006	41		
+640.5040123	206806.7059	41		
+641.5076174	62801.58227	41		
+500.2762487	14815460.14	42		
+501.2796761	3752186.005	42		
+502.2827865	360231.2216	42		
+522.2582049	755649.97	42		
+523.2616341	73941.32684	42		
+603.2919612	907629.7488	42		
+621.3026163	3148474.098	42		
+638.3291266	4914893.477	42		
+645.302412	207810.3254	42		
+166.0859336	479023.4537	43		
+240.671896	99073.0047	43		
+268.2630454	312446.6771	43		
+372.3618521	66648.51739	43		
+390.3836153	1061129.544	43		
+391.3869337	168351.4622	43		
+402.2996487	154727.7122	43		
+476.3150884	5740486.76	43		
+477.3185065	1949263.501	43		
+478.321833	206832.8792	43		
+480.3364603	829494.6703	43		
+481.3397621	161991.522	43		
+498.2969514	502642.0244	43		
+499.3003301	82761.31392	43		
+520.278936	263791.2756	43		
+534.3681977	29968.57206	43		
+587.3480051	52765.30446	43		
+281.6782838	125465.5019	44		
+362.3047393	305193.5553	44		
+420.3213276	105417.7428	44		
+496.3524262	623897.5488	44		
+497.3558082	114633.7202	44		
+562.3493144	9710503.123	44		
+563.3527768	2850954.774	44		
+564.3558115	391179.1752	44		
+582.3544515	259962.6152	44		
+584.3313219	590006.2046	44		
+585.334754	103629.4668	44		
+596.3420247	1348727.099	44		
+597.3453429	338503.9762	44		
+338.341251	775227.4861	45		
+339.3446628	57118.74297	45		
+506.5286994	0	45		
+738.506151	6665540.426	45		
+739.5095173	2882649.017	45		
+740.5122922	123875.0212	45		
+298.2735277	2623240.802	46		
+353.2679991	123592.2089	46		
+478.3207723	1721630.865	46		
+479.3240822	622515.2455	46		
+480.3274802	50241.21229	46		
+548.3701186	5163501.054	46		
+549.3735264	1388646.738	46		
+550.3767002	118999.9147	46		
+570.3524132	219791.0059	46		
+360.3366381	14494863.74	47		
+361.3399838	3234353.525	47		
+362.3432739	292747.4419	47		
+528.3075379	1984019.929	47		
+719.6664389	269465.201	47		
+720.670112	43265.04579	47		
+226.6562406	128497.5467	48		
+341.3520329	300838.3865	48		
+411.3210507	689161.0498	48		
+412.3243349	106946.6216	48		
+414.3570383	96259.7615	48		
+452.3051905	6062998.949	48		
+453.3084727	1933655.601	48		
+454.3117923	203050.2758	48		
+581.3633052	151199.6421	48		
+300.289176	10122817.74	49		
+301.2925581	1721523.079	49		
+322.2711157	173036.1917	49		
+119.0851878	1136639.833	50		
+121.1008532	1348068.097	50		
+123.1165017	456671.8921	50		
+135.1164854	538593.0794	50		
+139.1113848	1270153.162	50		
+149.1320989	545448.5394	50		
+153.1270341	909298.2971	50		
+223.0632208	840276.4236	50		
+237.2208451	699525.8817	50		
+239.2364505	680826.9471	50		
+247.2415587	603144.5776	50		
+257.2470309	4670118.142	50		
+263.2364509	819933.3558	50		
+265.2521053	5023808.782	50		
+266.2554171	597166.6786	50		
+270.0353886	906238.7387	50		
+277.2156902	578269.6428	50		
+279.2313531	414564.3182	50		
+281.050656	1050031.48	50		
+282.278595	32713388.93	50		
+283.2626381	5678303.612	50		
+284.2659766	863869.545	50		
+285.2782502	349431.355	50		
+303.2313258	1224697.669	50		
+305.2469522	658413.3484	50		
+329.2469109	2330821.807	50		
+330.2502146	354357.2574	50		
+355.0693072	703212.6348	50		
+369.3509106	6402226.139	50		
+370.3542273	1252173.917	50		
+371.1005768	636386.8843	50		
+296.257857	270871.1809	51		
+375.3363819	134130.3238	51		
+520.3024527	3483487.534	51		
+616.3447533	414286.2811	51		
+289.1693175	0	52		
+484.3622628	136981.49	52		
+542.3500355	112606.949	52		
+559.3765507	250686.229	52		
+109.1008633	819088.2217	53		
+121.1008471	1581238.457	53		
+123.1164876	1604159.798	53		
+125.0957378	451251.143	53		
+133.1008305	889091.6882	53		
+135.1165042	1437249.394	53		
+139.1113806	1520896.592	53		
+147.1164326	717292.3587	53		
+149.1321031	1263651.806	53		
+153.127035	856882.1126	53		
+175.1477606	425879.1199	53		
+223.0632042	1062190.244	53		
+237.2208421	882423.832	53		
+239.2364617	964169.8325	53		
+247.241553	524054.6156	53		
+255.2314203	702693.4006	53		
+257.2470231	10402457.26	53		
+263.2364435	729544.4097	53		
+265.2521026	2317852.466	53		
+266.2554134	587584.9838	53		
+270.0353769	1092913.799	53		
+277.2156967	595854.5027	53		
+279.2313438	938089.8819	53		
+281.0506359	541970.5634	53		
+281.2469862	1391888.183	53		
+283.2626444	4353508.921	53		
+284.2659759	855890.2178	53		
+285.2782428	1403689.008	53		
+298.2735777	46556.41164	53		
+303.2313025	3425462.813	53		
+305.2469625	624825.9043	53		
+313.2730764	801112.7051	53		
+329.2469041	1260080.45	53		
+330.2502416	542432.0605	53		
+355.0692948	1447323.119	53		
+369.3509022	3973048.978	53		
+370.3542089	1313848.133	53		
+371.1005918	812052.3757	53		
+445.1192212	750033.369	53		
+566.3346953	1450826.468	54		
+567.3382023	222054.1891	54		
+228.2317735	577267.2946	55		
+372.2891048	1246225.14	55		
+373.2924494	279318.263	55		
+376.3679707	391464.9695	55		
+394.2709709	221836.4386	55		
+395.2742515	0	55		
+430.3420485	21914.06832	55		
+604.3835106	619205.4207	55		
+605.3869005	101059.7271	55		
+609.3387223	91218.61899	55		
+368.2789776	21809.99213	56		
+374.2795831	162568.5395	56		
+376.2587895	382243.1579	56		
+377.2620832	23895.43392	56		
+393.2852951	2229246.657	56		
+394.2886041	460861.9857	56		
+396.2613823	240473.6825	56		
+398.240719	27983.9536	56		
+420.1910142	137720.4664	56		
+421.3165159	1503308.595	56		
+422.3198035	343557.5131	56		
+434.3117347	259140.6086	56		
+435.3150723	49642.02087	56		
+449.3477024	1266575.739	56		
+450.350919	280066.0883	56		
+678.5086045	1036914.767	57		
+679.5119523	398391.1578	57		
+706.5376679	2788314.198	57		
+707.541001	931058.7655	57		
+732.5532976	21919070.9	57		
+733.5565539	10237091.5	57		
+734.5587833	1544879.036	57		
+120.0804543	3053419.553	58		
+166.085883	11045653.18	58		
+167.0892355	1084852.66	58		
+188.0678523	0	58		
+291.0694784	1454513.874	58		
+307.0433925	1269471.192	58		
+454.2920719	8879512.682	59		18.04926324
+455.2953719	2013714.608	59		
+456.2986086	140346.3483	59		
+472.3413351	6294137.162	59		
+473.344666	1742244.799	59		
+474.3480038	238010.558	59		
+476.2739337	441891.4757	59		
+182.080859	81972.26636	60		
+312.3620252	0	60		
+332.3306348	904890.8936	60		
+333.3339184	205252.4222	60		
+426.3570373	6053205.238	60		
+427.3603099	1360948.569	60		
+492.309974	2108149.364	60		
+493.3133599	636015.1803	60		
+514.2918299	0	60		
+702.4626368	185686.2699	60		
+702.7969811	134308.893	60		
+314.3048694	142995.4169	61		
+364.3203963	104957.7206	61		
+412.3414146	333632.9831	61		
+572.3701206	1892895.185	61		
+573.3734929	543546.0118	61		
+436.3776556	304923.6651	62		
+534.344903	2323508.869	62		
+535.3483527	611580.6846	62		
+538.3001134	91784.63853	62		
+675.6756017	50073.55828	63		
+676.6789355	0	63		
+394.2269759	394073.8047	64		
+395.2302636	49237.89762	64		
+635.4142195	165915.1505	64		
+652.4409207	3127298.438	64		
+653.4442367	1042313.047	64		
+654.4473461	185191.1231	64		
+657.3962853	313168.2378	64		
+658.3994651	44933.30226	64		
+311.2364431	112956.4205	65		
+326.3048566	6184088.084	65		
+327.3082051	1147275.868	65		
+442.3308706	5164603.772	65		
+443.3341614	1490993.847	65		
+444.3376016	96091.9613	65		
+452.3151768	426522.6083	65		
+459.3573643	47294.82807	65		
+464.3127011	484238.3899	65		
+487.388651	276151.953	65		
+500.3839365	68834.83621	65		
+607.4568598	250136.5513	65		
+452.3726586	232518.3534	66		
+666.4201737	4459353.253	66		
+667.4235639	1491003.148	66		
+668.4359545	337731.2791	66		
+669.4391751	125197.0711	66		
+142.1223185	175340.8962	67		
+155.1063316	1036506.962	67		
+165.1120822	102952.9006	67		
+171.101302	212043.819	67		
+172.1329109	4649996.078	67		
+173.1362789	189192.0441	67		
+188.1278366	1666915.059	67		
+189.1311766	82069.0758	67		
+194.1148366	253290.0566	67		
+254.2474393	1564537.116	67		
+255.2507592	39265.1831	67		
+296.3307233	268130.4037	67		
+306.2399457	39901.01074	67		
+347.2899021	200827.0704	67		
+374.3047855	308063.0727	67		
+383.3414919	1100379.416	67		
+384.344776	255152.6971	67		
+396.2865941	46986.9284	67		
+402.2995618	114343.7579	67		
+640.4412511	277568.6957	67		
+681.5015929	106528.4646	67		
+478.2612566	835057.6001	68		
+479.2647315	231410.4406	68		
+500.243164	58510.89316	68		
+529.2932732	29040.73675	68		
+274.2734729	274845.4395	69		
+387.1794843	2231488.869	69		
+388.1828404	507564.6669	69		
+404.206018	3177875.436	69		
+405.2093274	681694.4125	69		
+409.1613444	2983069.021	69		
+410.1646998	647802.1154	69		
+425.1352536	1598384.515	69		
+426.1386004	199798.9241	69		
+432.2372049	6570915.673	69		
+433.2405066	1749272.634	69		
+445.2324219	7742226.862	69		
+446.2357325	1878737.029	69		
+447.2391512	60206.8883	69		
+303.1433064	44996.02916	70		
+320.1697722	1449981.489	70		
+321.1731093	172584.433	70		
+325.1251526	311289.195	70		
+326.1284914	0	70		
+348.2010339	408809.0968	70		
+349.2043442	17850.95819	70		
+361.1962916	0	70		
+184.0730694	391972.965	71		
+294.2058599	385287.9753	71		
+321.2418732	228296.6582	71		
+388.3204525	642480.2625	71		
+389.3237733	139953.307	71		
+422.3257216	76149.26581	71		
+424.3413865	1032651.271	71		
+425.3447756	196322.3556	71		
+448.341364	2546584.156	71		
+449.3447042	716198.5085	71		
+482.2659166	299071.5469	71		
+528.3200663	257050.8817	71		
+530.3231223	176529.4339	71		
+561.3180509	196520.7271	71		
+568.3386757	36766335.45	71		
+569.3421968	10573091.46	71		
+578.3444313	165433.2756	71		
+621.398822	0	71		
+730.3820295	696976.4731	72		
+731.3853584	196308.5601	72		
+581.2386711	119892.4924	73		
+583.2542969	46848.29902	73		
+585.269941	1976835.192	73		
+586.2734366	537224.4664	73		
+350.3047916	319291.1064	74		
+420.3101443	644728.1211	74		
+421.3133909	61442.22834	74		
+436.3414176	122176.6865	74		
+441.2966497	159766.2028	74		
+536.406561	101912.4399	74		
+550.3858082	3588745.877	74		
+551.3891955	860372.6204	74		
+552.3922273	47464.38731	74		
+572.3677318	113016.1475	74		
+272.2943324	128969.2259	75		
+282.2786419	848516.8105	75		
+283.2819103	104959.1267	75		
+300.2892017	5033794.574	75		
+301.2925627	767449.8062	75		
+316.3204515	2515995.611	75		
+317.3238264	434931.7505	75		
+322.2711585	0	75		
+351.3364069	2050244.904	75		
+352.3397557	417788.339	75		
+373.3174114	31549.36644	75		
+383.2897832	105703.1516	75		
+421.3181379	25910.27188	75		
+436.2508151	168848.5304	75		
+453.277387	202166.9279	75		
+572.360985	1640508.236	75		
+573.3633424	171801.0514	75		
+581.3075365	258356.6285	75		
+592.3363396	2025901.456	75		
+593.3396976	682235.6559	75		
+599.3182118	340023.2746	75		
+628.4076161	304413.7068	75		
+309.3258895	148517.8896	76		
+368.351674	3216169.824	76		
+369.3550054	640427.0668	76		
+385.3570152	87499.54464	76		
+425.2654615	198271.1078	76		
+426.2688081	23316.09369	76		
+493.2527862	0	76		
+559.5187553	482159.7868	76		
+560.5221598	146072.4502	76		
+428.3726964	5656027.623	77		
+429.376034	1213148.637	77		
+702.4695331	190487.7523	77		
+601.2901278	165906.928	78		
+649.3936896	3480480.972	78		
+650.3970479	1141660.773	78		
+651.400101	116782.434	78		
+671.375395	720639.3481	78		
+672.3788279	194903.8249	78		
+694.4515023	174872.2298	78		
+212.117787	15293764.7	79		
+213.1211471	2224151.687	79		
+219.1738825	129203.7869	80		
+330.2533649	6144691.112	80		
+331.2566985	1172429.62	80		
+450.2278324	757942.9692	80		
+452.226041	242312.6006	80		
+721.4212326	424763.4143	80		
+722.4248639	186635.9243	80		
+723.4188891	145061.9298	80		
+180.1015883	128755.4964	81		
+246.1695077	1531224.169	81		
+247.1729139	158993.4184	81		
+726.5060896	5998564.16	82		
+727.5095075	2589244.6	82		
+728.5125391	357731.3018	82		
+748.4880569	302110.2918	82		
+354.2998776	176691.201	83		
+367.1940752	277241.3653	83		
+373.2109125	5507297.109	83		
+374.2142958	1259415.085	83		
+380.2767373	154830.0327	83		
+389.184863	180302.5919	83		
+390.3725679	157724.4126	83		
+428.315435	2176945.908	83		
+429.3187394	514525.4836	83		
+450.2973267	877917.9766	83		
+478.331017	415314.3304	83		
+480.4041479	194419.1097	83		
+500.3128609	208424.1423	83		
+560.3680892	425239.0988	83		
+563.3481746	0	83		
+701.4512607	307201.1379	83		
+702.4546927	112758.5593	83		
+723.4331846	470083.1051	83		
+724.4364968	142169.4171	83		
+728.4835645	322712.0826	83		
+728.5221951	975229.0959	83		
+325.320762	817205.4655	84		
+509.2866084	106131.0574	84		
+526.3131592	107729.5269	84		
+556.3389432	1694252.293	84		
+188.0702528	2548886.781	85		
+189.0736213	283408.2439	85		
+205.0967714	4678973.151	85		
+206.100128	416130.6098	85		
+227.0786601	315098.4894	85		
+249.0605968	81682.30113	85		
+324.2891775	2554920.871	86		
+325.2925388	451784.5079	86		
+346.2710333	27767.87545	86		
+351.3363879	101667.6513	86		
+392.3516228	0	86		
+432.2559468	158058.113	86		
+452.3726347	253834.8678	86		
+494.3255502	39990.57976	86		
+304.1883926	21656.35416	87		
+342.3724655	117606.3146	87		
+506.3230696	92307.08141	87		
+572.2971317	237586.6624	87		
+664.3446771	438751.8179	87		
+688.3446198	3519947.379	87		
+689.3480494	1121810.463	87		
+690.3508605	163063.0883	87		
+150.0579657	160226.7779	88		
+426.2995178	363502.1384	88		
+452.3362607	95070.04624	88		
+460.2871574	4159301.998	88		
+461.2905246	1013371.338	88		
+462.2829004	180471.6866	88		
+482.2689473	195758.8134	88		
+508.3388338	714279.7092	88		
+609.3321773	29547.04868	88		
+386.2765684	0	89		
+730.5375094	12074551.16	89		
+731.5409701	3580372.248	89		
+107.0852441	69756.72732	90		
+125.0957979	248517.2621	90		
+135.0801414	519565.6669	90		
+153.0906807	709613.7621	90		
+170.1172501	1503537.5	90		
+330.2633817	475680.3838	90		
+352.2452605	2832232.737	90		
+353.2485866	530695.5425	90		
+368.2191619	257043.5338	90		
+375.3211266	7256873.842	90		
+376.3244543	1002346.562	90		
+388.316372	2918650.728	90		
+389.3196813	483669.0678	90		
+410.2716456	266337.1064	90		
+434.2716055	1315563.257	90		
+435.2749479	214270.3756	90		
+659.5197149	580749.3552	90		
+660.5230917	215740.151	90		
+682.5049269	41258.4723	90		
+724.4538426	788608.9864	90		
+725.4572302	223698.9152	90		
+387.2887681	0	91		
+429.3720287	302349.7821	91		
+658.539727	284567.7847	91		
+659.543167	86171.07389	91		
+732.5531065	9565061.507	91		
+733.5565617	3199656.319	91		
+740.5581206	908345.6494	91		
+482.3232121	412569.0132	92		
+256.2265783	3858233.116	93		
+257.2299528	565966.9669	93		
+272.2003735	253289.4318	93		
+361.3570214	765048.6543	93		
+362.3603248	60827.49188	93		
+392.3264166	164557.4726	93		
+267.2103847	422561.5945	94		
+270.315123	479611.1368	94		
+320.2580137	236714.0619	94		
+321.2419502	67016.00092	94		
+325.2007935	111595.1929	94		
+341.1783658	660882.9406	94		
+347.1952684	3972240.214	94		
+348.1986208	608123.5955	94		
+363.1688642	73835.23066	94		
+412.2874623	2077093.188	94		
+413.2908108	421165.6472	94		
+416.3727595	127565.8948	94		
+428.3153144	1655177.453	94		
+434.2692692	498809.6062	94		
+435.272644	130183.4916	94		
+446.3258337	1187472.359	94		
+447.3291651	198248.2246	94		
+456.2511357	225866.5057	94		
+466.2710918	170529.342	94		
+468.3077207	26405.10745	94		
+470.3404186	72310.81647	94		
+472.2791698	302931.5195	94		
+473.2823646	40096.21456	94		
+486.3683573	364048.6962	94		
+487.3717182	98284.92129	94		
+490.2895559	29309.96338	94		
+510.3910519	360474.5899	94		
+518.3209635	115969.6968	94		
+532.3729841	752382.4893	94		
+533.3763132	56966.60182	94		
+544.3366351	90639.34476	94		
+590.3209721	259993.5276	94		
+649.4193428	14769.2455	94		
+671.4015064	428449.0997	94		
+672.4048308	98998.40067	94		
+697.5247986	1105059.709	94		
+698.5282469	431795.2858	94		
+713.5204005	19754.72087	94		
+726.4697403	310741.7937	94		
+727.4732159	57042.7371	94		
+748.4517462	246502.7899	94		
+324.3620307	3046580.023	95		
+325.3653466	614367.2612	95		
+344.2613276	274326.3657	95		
+349.2109662	1214537.772	95		
+350.2143304	199273.7713	95		
+424.3567474	479800.0726	95		
+675.4327615	30821.70923	95		
+326.2871023	7312159.337	96		
+327.2904229	1304921.119	96		
+328.2828551	164982.6439	96		
+431.4352032	1044917.92	96		
+200.2368677	712894.2462	97		
+201.2402264	34131.5344	97		
+466.174414	280785.6047	97		
+600.2822442	52801.52447	97		
+651.4090943	67881.40568	97		
+392.315211	227685.7059	98		
+478.3517966	364786.6913	98		
+552.4013621	140689.8783	98		
+578.4357125	210160.799	98		
+589.3661794	343455.1312	98		
+590.3696553	137001.567	98		
+611.3479794	636262.57	98		
+612.351386	127196.9614	98		
+312.2892288	41083.47622	99		
+372.3102639	519693.5253	99		
+388.2509682	197763.9056	99		
+399.3362996	2237910.042	99		
+400.3396333	562643.392	99		
+405.2775469	69297.96322	99		
+447.3290645	404777.0077	99		
+529.3108964	708972.868	99		
+301.2111649	59007.46489	100		
+363.3728202	5383082.539	100		
+364.3761614	1178761.764	100		
+373.2110055	45449.38027	100		
+433.2842823	1194188.569	100		
+434.2875711	275566.7153	100		
+653.5023598	103072.4178	100		
+663.1325701	456364.7867	100		
+663.8013859	136660.609	100		
+696.52493	245973.6981	100		
+718.5741489	753293.9944	100		
+719.5776107	55803.4553	100		
+722.475119	233664.9082	100		
+741.5900465	3029639.937	100		
+742.5934648	983206.1495	100		
+743.5972281	240294.5545	100		
+748.4908191	658779.6848	100		
+749.494405	257332.8385	100		
+482.3233511	3418087.39	101		
+483.3266872	772304.1618	101		
+304.2993307	2076209.899	102		
+305.302709	420279.1153	102		
+320.2579354	130521.6312	102		
+376.232359	654258.2268	102		
+387.2886912	535415.8629	102		
+398.2142254	1001541.829	102		
+421.2900948	1746426.839	102		
+434.2852971	1435080.46	102		
+435.2885111	102457.6369	102		
+512.3700957	439425.1786	102		
+559.3021517	1679291.59	102		
+560.3056312	317388.3885	102		
+576.3286781	2597030.288	102		
+577.3321003	620349.4154	102		
+581.2840029	280842.1524	102		
+447.2632987	643348.8521	103		
+448.2666447	127501.8796	103		
+531.3318745	789095.0253	104		
+532.3350283	123375.8626	104		
+137.0454414	13956360.82	105		
+269.0875464	3458362.148	105		
+307.0433583	6162487.993	105		
+350.3159151	2963429.507	106		
+351.3191925	458045.8969	106		
+394.3419948	1021225.481	106		
+470.2904742	184076.0002	106		
+214.2525011	717825.8548	107		
+389.2580809	22517.14253	107		
+440.2898552	176473.1815	107		
+445.2452746	377531.3341	107		
+452.3126234	445136.3773	107		
+492.3074761	1353963.254	107		
+493.310823	214813.7926	107		
+552.2880101	190424.4719	107		
+583.2540146	2435264.371	107		
+583.7557038	229264.4713	107		
+584.2573852	522324.7239	107		
+182.1536148	145275.7268	108		
+272.257962	76300.92549	108		
+298.3462951	379006.5991	108		
+299.3496802	45196.09423	108		
+346.2735039	2204891.128	108		
+347.276823	496571.4334	108		
+350.2295348	102363.1758	108		
+368.2553866	305902.7447	108		
+369.258678	76163.59556	108		
+373.3054831	497561.9204	108		
+386.3007139	525366.8173	108		
+404.3264835	61611.63414	108		
+466.2943438	892292.0904	108		
+467.2976432	157905.0264	108		
+508.3259775	861667.3865	108		
+509.3293108	183332.9333	108		
+513.2812804	76236.4834	108		
+263.236442	217966.6454	109		
+280.2630293	5226221.172	109		
+281.2663716	973597.2183	109		
+397.3569854	197130.7294	109		
+416.3152344	1524802.347	109		
+417.3185072	322656.2606	109		
+438.2971086	75442.24358	109		
+125.9859012	16572310.07	110		
+126.9892494	246679.2346	110		
+140.0015439	10035409.25	110		
+152.946772	2687593.196	110		
+166.9623956	14204247.2	110		
+167.0124325	18384666.13	110		
+168.0157855	505960.2103	110		
+181.0281075	4043049.057	110		
+183.061141	284081.4625	110		
+185.023042	1213780.358	110		
+193.9733133	585760.5631	110		
+214.9172341	176326.5901	110		
+228.9328266	459601.002	110		
+239.9661685	1103057.059	110		
+253.981792	1138082.278	110		
+255.9436756	2229310.177	110		
+267.9974436	245141.4945	110		
+269.9592857	2672720.974	110		
+280.9426036	154641.3408	110		
+282.9044807	390267.0629	110		
+283.9748933	809714.885	110		
+296.9201133	633420.2338	110		
+310.9357648	219562.0594	110		
+334.9931903	1258000.509	110		
+422.7610717	858410.4506	110		
+423.262775	329377.9408	110		
+435.7688597	152118.06	110		
+704.5242544	3442891.297	111		
+705.5276527	1624896.999	111		
+709.4794946	40094.56705	111		
+348.2891757	273519.8619	112		
+386.2683581	259052.9776	112		
+388.36793	6298242.567	112		
+389.3712561	1410667.315	112		
+416.3515535	247344.4283	112		
+496.3389468	16939719.8	112		
+596.4147313	75535.8743	112		
+722.4382181	252344.6048	112		
+423.3613096	541825.7298	113		
+424.364597	78712.28316	113		
+441.3718264	65843.57685	113		
+622.3059194	58461.41212	113		
+662.3888249	941177.7322	113		
+663.3922825	313260.4724	113		
+679.3780017	388099.6819	113		
+719.3667155	197896.2365	113		
+232.1538904	1533526.995	114		
+233.1572628	152171.2454	114		
+250.0929856	401059.4569	114		
+320.3054734	762894.2785	115		
+359.2575009	559921.0339	115		
+361.2731347	1134070.776	115		
+362.2764633	75838.05273	115		
+604.2952363	151021.2888	115		
+622.3059058	827105.9653	115		
+623.3086942	138310.0761	115		
+639.3325524	1287363.101	115		
+640.335314	170562.6125	115		
+643.2843065	711912.7488	115		
+644.2877834	98753.68869	115		
+659.2493714	153798.056	115		
+662.3290878	592993.8629	115		
+663.3325858	184878.7001	115		
+380.3153246	130508.4588	116		
+454.3883017	1286168.369	116		
+455.3916631	333798.056	116		
+218.1535086	126235.3367	117		
+303.1850299	405455.7576	117		
+310.2734674	2483124.819	117		
+373.3206587	1277292.272	117		
+374.3239569	217884.4882	117		
+395.3023733	114618.4072	117		
+410.2351759	227023.6337	117		
+427.2617593	153323.6974	117		
+442.2479856	1744440.491	117		
+443.2512739	427206.23	117		
+242.2838398	364300.9794	118		
+340.3204334	528045.3632	118		
+341.3237928	31949.60914	118		
+388.3415232	175696.7232	118		
+414.3359074	2218140.22	118		
+415.339258	570488.8961	118		
+424.2739803	1323810.853	118		
+425.2772909	278066.6516	118		
+506.3232254	684147.6106	118		
+507.3266045	138907.6391	118		
+508.3752537	2817285.007	118		
+509.3785861	694910.7314	118		
+530.357166	103806.0283	118		
+228.1954537	702041.65	119		
+244.1904038	378078.7018	119		
+370.3310752	71499.63953	119		
+431.3837047	273637.5045	119		
+456.4040352	684676.5988	119		
+643.7853151	689976.8647	119		
+644.1197548	1109245.468	119		
+386.2717279	196931.903	120		
+409.3570122	2082422.335	120		
+410.3603349	436173.6974	120		
+450.2993574	2178716.625	120		
+451.302693	561530.4449	120		
+598.4221855	196842.8098	120		
+376.3315142	1399143.548	121		
+377.3347878	336536.6107	121		
+474.3297206	391073.288	121		
+417.2272541	158567.2861	122		
+640.3163965	1615696.087	122		
+641.319742	370607.5136	122		
+645.2717987	36895.70059	122		
+668.3475912	96793.0258	122		
+253.1443076	115697.6677	123		
+298.0962759	687118.8484	123		
+367.2684038	109221.9177	124		
+374.1802256	410318.7272	124		
+375.1835732	18428.67445	124		
+384.2948541	180094.3301	124		
+131.0851272	358478.5642	125		
+282.2786116	11002296.42	125		
+381.4196851	356214.432	126		
+422.3046418	1461632.733	126		
+423.3079822	337968.6717	126		
+694.5198019	234578.0849	126		
+256.2629532	1453064.354	127		
+282.2785569	9117152.874	127		
+431.3874352	429022.4734	127		
+325.211046	214690.3086	128		
+337.3573114	1626633.379	128		
+338.3606254	264771.7879	128		
+354.2820712	211279.1245	128		
+371.2803257	1591220.69	128		
+372.2728342	107808.3687	128		
+398.2685045	485300.1966	128		
+474.3782522	0	128		
+490.4013009	75308.34855	128		
+518.4045577	74331.58826	128		
+523.3597671	100273.1728	128		
+563.2646655	142794.9047	128		
+564.2681981	23025.63152	128		
+567.3860155	106403.0952	128		
+736.4907201	543178.5076	128		
+738.5426296	5486054.993	128		
+739.5461117	1187986.424	128		
+744.5532643	1820117.426	128		
+658.5398059	5923700.014	129		
+706.5397202	1192448.615	129		
+707.5433122	289590.0205	129		
+732.5535111	4382625.256	129		
+746.5687986	1511946.105	129		
+747.5722254	590233.494	129		
+377.1448159	1707441.728	130		
+378.1481818	221047.5673	130		
+399.1267439	171715.9123	130		
+500.2740864	306116.3695	131		
+559.3026112	1488195.221	131		
+576.3287078	2438602.122	131		
+430.3309687	245325.3543	132		
+431.3342818	18121.63406	132		
+444.3789297	182804.9041	132		
+396.3102151	296695.0428	133		
+528.2984805	2955234.922	133		
+529.3008539	195782.1569	133		
+548.2740094	2132085.921	133		
+549.2774022	602366.7505	133		
+564.2393453	192019.224	133		
+584.3700949	949377.9408	133		
+585.3735489	208422.5992	133		
+610.2444924	131184.322	133		
+330.2533456	2414812.374	134		
+433.2013922	254461.8018	134		
+226.1798444	302597.6654	135		
+367.4042023	1074007.076	135		
+368.4074935	300452.0156	135		
+408.3079717	326650.0143	135		
+410.2685353	60662.24359	135		
+286.3098764	90772.09927	136		
+304.2840191	159790.8626	136		
+378.2803514	621132.4448	136		
+379.2836919	80061.85134	136		
+402.2532116	232752.6982	136		
+403.2565373	0	136		
+415.2107339	1005022.564	136		
+416.2140362	195856.5965	136		
+437.1925785	1008224.428	136		
+438.1958263	145147.7736	136		
+453.1664529	489411.4278	136		
+460.2684217	3644273.102	136		
+461.2717616	813599.1297	136		
+473.2636531	4228806.273	136		
+474.2669914	1111145.497	136		
+488.2996009	421978.5988	136		
+534.3180214	341864.2801	136		
+544.3106261	96005.15678	136		
+378.3471205	1254451.871	137		
+379.3504264	213761.0754	137		
+430.242718	113007.1372	137		
+377.3519725	273146.115	138		
+409.3053943	516557.7457	138		
+440.2787615	99643.75746	138		
+457.305228	1749984.123	138		
+458.3085659	567154.7915	138		
+479.2871769	77492.60599	138		
+511.3021637	164868.1753	138		
+526.2919191	2588458.101	138		
+528.3287434	374724.6244	138		
+256.2631139	4274384.159	139		
+257.2664221	727276.7847	139		
+387.3727843	1321671.5	139		
+388.2874443	905845.7645	139		
+388.3760969	337433.7232	139		
+389.290702	152386.4323	139		
+394.3309924	1433172.036	139		
+395.3343058	279074.9181	139		
+437.3883665	302402.834	139		
+358.2846274	1037984.456	140		
+359.2879818	381080.5496	140		
+380.2664456	241594.6808	140		
+531.2708132	576762.5917	140		
+532.2741203	39047.50947	140		
+548.297284	567351.4931	140		
+549.3007126	40739.87132	140		
+553.2525919	65187.08453	140		
+732.545629	942149.6171	140		
+733.5490605	282874.6288	140		
+354.3554317	145121.532	141		
+390.2666798	53235.61179	141		
+416.2789325	266539.053	141		
+458.2892964	216529.5574	141		
+576.3650849	2179069.11	141		
+577.3684797	572504.603	141		
+598.3471594	50012.25159	141		
+223.0960898	94467.3209	142		
+232.1327502	0	142		
+430.3206486	251536.0593	142		
+573.355984	28344.13234	142		
+200.1641557	347038.8773	143		
+216.1590529	51261.30533	143		
+424.2838742	284759.4815	143		
+436.3543004	234337.4333	143		
+511.3192156	65288.60379	143		
+533.3010472	111057.7649	143		
+277.1793006	283039.8802	144		
+295.1897907	331592.8525	144		
+327.2159961	333286.294	144		
+372.2737583	457384.8921	144		
+385.2689456	390314.7754	144		
+394.2944751	323131.7396	144		
+452.2762916	1062915.001	144		
+453.2795526	78989.70206	144		
+684.5554361	2293410.025	145		
+329.2005802	331760.8721	146		
+330.2038663	17316.39553	146		
+478.2612599	96612.08229	146		
+616.461969	1144935.684	146		
+617.4653851	187335.3807	146		
+362.2472626	404406.3788	147		
+510.4872745	1099754.661	147		
+511.4905593	748430.349	147		
+536.1645351	1744266.01	147		
+537.1634336	426917.4792	147		
+538.161191	336839.803	147		
+704.521726	3106048.523	147		
+724.4904592	509983.9229	147		
+725.4939911	144080.5292	147		
+747.5721908	911482.2509	147		
+444.3100747	690821.8215	148		
+445.313307	227432.1181	148		
+468.3100106	178222.6633	148		
+522.3544982	2471673.981	148		
+606.3755807	149563.6617	148		
+510.4507365	210744.7845	149		
+682.5398326	3539201.293	149		
+701.827144	467707.4543	149		
+702.161557	1052496.325	149		
+702.4959633	532067.1415	149		
+734.5112029	903299.3773	149		
+735.5146595	442589.3443	149		
+270.2787292	247150.7961	150		
+340.3933266	2340394.723	150		
+341.3966564	143682.0305	150		
+369.2970225	290574.4644	150		
+374.3776046	737490.8035	150		
+375.3809339	58874.41528	150		
+436.7929757	803914.7789	150		
+437.2946785	250532.8228	150		
+704.4853236	316913.7625	150		
+705.4888782	93027.25732	150		
+328.3205212	1530681.784	151		
+329.3238238	246180.4337	151		
+396.3465968	784609.5244	151		
+353.3885427	2485567.475	152		
+354.3918754	503291.8078	152		
+694.5095062	87810.59688	152		
+355.2373535	100367.7199	153		
+394.3420125	1346263.432	153		
+395.3453542	239743.4768	153		
+416.3239327	165983.1362	153		
+436.2950476	181006.5792	153		
+534.3085833	228821.6442	153		
+664.4044701	1101099.624	153		
+172.1328616	832547.5042	154		
+302.3048353	49170.45858	154		
+324.2139874	110149.584	154		
+347.2898311	446061.7122	154		
+348.3367356	3254159.773	154		
+349.3400384	574007.1663	154		
+360.2850797	173687.8422	154		
+450.2894423	59224.95226	154		
+470.3255239	141958.1049	154		
+482.3102974	428003.7638	154		
+487.2656963	144758.0579	154		
+642.3602565	473696.4809	154		
+683.3693157	133054.301	154		
+327.2267228	147884.3371	155		
+356.2977302	297908.3349	155		
+400.3933113	18213.7176	155		
+565.4498278	106671.2083	155		
+590.3212844	24195.80694	155		
+608.4727541	558927.6295	155		
+613.428098	517723.4694	155		
+656.5244469	1042066.914	155		
+657.4542294	237440.7598	155		
+680.5243511	1941559.146	155		
+681.5277708	653656.3038	155		
+710.5090872	710897.3488	155		
+711.5126761	132908.5877	155		
+732.495997	202027.6929	155		
+740.5563439	567827.1423	155		
+744.5897837	2362970.607	155		
+496.2717938	99977.62096	156		
+513.2983195	905705.3558	156		
+514.3017617	165329.4557	156		
+220.1175036	1502141.055	157		
+430.3797053	945604.8648	158		
+736.5270362	2935080.021	158		
+737.5304486	1125597.07	158		
+738.533529	222690.5991	158		
+144.0804014	647944.7527	159		
+173.1069849	1480176.046	159		
+174.1103524	39047.93	159		
+299.3051763	155431.067	160		
+369.1243568	491787.8489	160		
+390.2995986	217022.2686	160		
+400.2839737	622759.7035	160		
+401.2872034	119385.2241	160		
+320.255393	54242.86134	161		
+356.3265559	420900.0272	161		
+450.3569735	148433.0557	161		
+526.3130976	52710.76551	161		
+538.3857493	412923.9705	161		
+539.3891746	96066.64085	161		
+583.3233231	907531.6441	161		
+601.3338972	1078688.881	161		
+352.32054	69177.91713	162		
+411.3728129	1632501.625	162		
+412.3760887	364039.8551	162		
+418.331077	198221.8304	162		
+432.4306178	343023.1063	162		
+600.4363939	447094.9024	162		
+601.4398671	107154.1025	162		
+366.3360521	994769.0545	163		
+367.3393663	85644.30023	163		
+742.4644381	333127.5922	163		
+173.3455393	238294.5408	164		
+173.4570225	237757.5237	164		
+385.2731825	1637066.448	164		
+138.1022189	199498.2634	165		
+163.1325244	1317546.614	165		
+298.1868777	206758.4777	165		
+222.1120235	118327.0888	166		
+278.2585304	609545.287	166		
+316.2377257	1516085.353	166		
+317.2410805	213290.298	166		
+436.2122676	77348.97877	166		
+545.3975102	145067.8787	167		
+746.5687651	4952485.162	167		
+269.1279791	0	168		
+317.1641962	17312.93812	168		
+331.1798608	175670.5112	168		
+332.1831543	0	168		
+376.2375975	34726.1916	168		
+389.2328291	151741.2548	168		
+390.2361226	0	168		
+514.2918756	256080.1365	168		
+202.1334767	197441.7048	169		
+218.1171173	444175.7379	169		
+291.0694615	5237429.827	170		
+280.2629685	249989.2416	171		
+347.2112962	28938.03032	171		
+408.2560766	92565.28654	171		
+397.3498928	0	172		
+435.7851269	328190.7879	172		
+706.4797861	1126414.001	172		
+707.483234	446009.2498	172		
+125.9858968	3743151.398	173		
+167.0124232	1291983.29	173		
+345.2994404	128273.6648	174		
+362.3260168	92955.37152	174		
+367.2813182	663013.1372	174		
+368.2845854	118826.7517	174		
+416.3992112	152967.28	174		
+110.0084008	310960.4301	175		
+124.0240313	789359.37	175		
+151.0349073	3224472.764	175		
+152.0356935	119440.2372	175		
+153.0324605	283785.6405	175		
+165.0505436	3088459.712	175		
+166.0513464	136714.4118	175		
+253.2633815	111175.0063	176		
+577.3216028	180026.2034	176		
+580.2716572	1268463.853	176		
+581.2745272	191579.3784	176		
+615.3396157	140267.9469	176		
+429.3720158	1115976.537	177		
+430.3753167	230180.3404	177		
+543.3818491	97889.1143	178		
+565.3636561	116038.6292	178		
+146.1171803	169472.998	179		
+290.159233	465146.1582	179		
+125.9859013	6691145.44	180		
+140.0015372	1138120.777	180		
+163.132484	4238882.843	180		
+167.0124359	1261995.108	180		
+186.0338282	779329.9135	180		
+191.1637929	4118319.462	180		
+391.2835488	2527068.193	180		
+364.1959073	317192.9166	181		
+365.1992666	24757.60375	181		
+369.1512928	25525.20191	181		
+682.4798157	1170763.308	182		
+682.8142361	1329737.725	182		
+708.4953774	182529.7393	182		
+311.2768401	369718.3004	183		
+332.2553689	544772.6669	183		
+333.258747	0	183		
+372.3214793	179466.6854	183		
+454.3282852	173607.6966	183		
+466.3054489	918368.4459	183		
+467.308719	251055.1827	183		
+149.0229425	5356223.261	184		
+361.1388054	18186.39966	185		
+406.258032	405541.7735	185		
+428.2398676	177396.5105	185		
+366.2996533	325933.4487	186		
+388.2815042	92567.25293	186		
+541.3490736	0	186		
+721.8098044	311870.6642	186		
+722.1442331	286106.0682	186		
+722.4785667	26973.05838	186		
+323.2576595	1119899.949	187		
+324.2609483	116791.8386	187		
+367.2214907	225118.5504	187		
+480.3676236	236245.2804	187		
+329.2470817	282973.8775	188		
+346.2736557	1036922.743	188		
+347.2770126	225986.7572	188		
+387.205956	292296.7942	189		
+615.178688	73401.48021	189		
+664.4045409	262638.9916	189		
+368.315495	152173.6531	190		
+538.3860063	472606.3537	190		
+539.3892443	21597.03639	190		
+706.5012578	348516.9303	190		
+257.2470189	1003866.965	191		
+283.2626115	1835458.266	191		
+303.2313014	767926.2231	191		
+329.2468827	813513.3646	191		
+202.1620275	15544.16532	192		
+350.3159106	205362.7544	192		
+558.4201216	980758.3996	192		
+559.4236416	326674.8647	192		
+342.2533283	275822.9724	193		
+324.2715655	683867.7504	194		
+481.3493312	26780.89039	194		
+521.4235846	0	194		
+525.3754995	246292.365	194		
+526.3787414	54543.68837	194		
+564.4464395	421687.7953	194		
+569.4017274	466655.5334	194		
+570.4052238	50057.07165	194		
+614.4314106	0	194		
+685.4797152	253886.3725	194		
+585.3323114	0	195		
+462.2147136	188035.5011	196		
+479.2412621	459117.4623	196		
+191.1638628	681444.6492	197		
+158.1535057	22474.64341	198		
+228.195329	1445412.701	198		
+250.1772541	926309.7339	198		
+273.2530598	216556.1818	198		
+286.248327	399447.5306	198		
+374.2894294	89180.18096	198		
+547.3401854	171981.8508	199		
+109.1008677	648961.4281	200		
+133.1008338	446037.1975	200		
+147.1164298	0	200		
+281.2469846	933509.0981	200		
+313.2730776	0	200		
+445.1192143	1055775.68	200		
+501.3347484	120876.2272	201		
+346.2734284	1846019.863	202		
+403.4040951	521699.613	203		
+416.4243458	244772.6944	203		
+716.5582053	520359.4062	203		
+369.3508555	1749131.201	204		
+370.3541606	323820.6576	204		
+379.2372718	0	205		
+540.3074862	349672.5335	205		
+347.3050576	663378.9219	206		
+322.2735534	367678.0126	207		
+442.294423	172525.1254	207		
+609.4762758	124677.0003	208		
+652.4989463	379611.8734	208		
+688.5271109	1449091.678	208		
+689.5304996	413044.4576	208		
+436.3203568	93720.83967	209		
+436.2872935	392271.2702	210		
+351.3728627	450751.789	211		
+438.3722636	160575.9269	211		
+482.419633	672501.5935	211		
+483.4228955	225212.4512	211		
+338.3776079	455694.5383	212		
+360.3619345	84242.66497	212		
+565.3661932	0	212		
+312.3619927	516656.0488	213		
+335.3415291	357329.5896	213		
+462.3028965	282572.63	213		
+348.3002835	292746.7573	214		
+111.116512	2218305.478	215		
+133.1008037	1044914.542	215		
+151.1114041	572951.25	215		
+584.3266289	239424.0831	216		
+602.337247	232663.9813	216		
+618.3604105	247845.4812	216		
+619.3639428	26923.74915	216		
+623.3157351	59595.99978	216		
+350.377592	49441.94917	217		
+370.3674265	433230.8533	217		
+379.4041005	229837.2648	217		
+517.3662721	89486.50732	218		
+539.3481455	22203.39016	218		
+330.2819728	287128.6222	219		
+407.4353168	0	219		
+663.4671239	478077.111	219		
+697.5282115	122469.5267	219		
+310.3100363	427008.8901	220		
+302.2143169	17278.72907	221		
+266.1381564	324657.0482	222		
+300.1799891	82332.33106	222		
+170.153565	369918.6102	223		
+307.2737764	29918.9708	223		
+746.3771353	193301.4576	223		
+332.3053903	158975.8391	224		
+386.1989138	82396.3659	224		
+703.5743348	1184555.801	225		
+509.3422062	106332.1276	226		
+741.1570223	268693.5274	226		
+741.4914841	344147.2886	226		
+741.8260314	198510.4317	226		
+562.4306319	328284.7266	227		
+563.4340431	18872.59119	227		
+268.1035363	534252.4539	228		
+385.3054402	499413.6009	229		
+726.4695624	503286.5471	229		
+727.4727658	188332.8504	229		
+378.3471658	197894.6862	230		
+423.2633337	154138.8896	230		
+674.503838	919157.7664	230		
+675.5072181	324560.9802	230		
+720.4309235	143576.2898	230		
+363.2523778	210978.9906	231		
+570.3262845	375363.896	231		
+571.3295928	149645.2661	231		
+740.5219175	1544626.862	232		
+741.5253504	305067.1262	232		
+377.3884264	20171.93865	233		
+437.3618181	49300.31517	233		
+678.5060848	1321400.042	233		
+679.5094571	215330.6023	233		
+736.4904105	430636.9037	233		
+255.2314009	512723.8957	234		
+256.2629749	888099.3782	234		
+298.2735552	168903.2691	234		
+298.2735117	194692.4532	235		
+331.2835901	280844.0388	235		
+552.4016221	173428.497	236		
+628.1940218	235545.2755	237		
+683.1486598	953476.9982	237		
+140.0015248	1481524.191	238		
+318.190497	99823.94702	239		
+125.9859013	398103.8614	240		
+140.001529	515654.018	240		
+354.3360615	162417.8304	241		
+436.2866909	19798.56509	241		
+662.511116	525647.8204	241		
+192.0685326	204010.2836	242		
+404.3153945	172593.5184	243		
+414.3206753	267993.0298	244		
+536.3702259	337991.5355	245		
+395.4352892	0	246		
+660.5454221	982415.7565	246		
+315.1849177	51050.16753	247		
+366.4088767	305943.203	248		
+401.3884867	366661.2675	248		
+567.3793829	267430.8508	249		
+300.2715203	720705.831	250		
+358.2482107	66718.49533	251		
+514.2846879	429406.7596	251		
+515.3258901	130170.3144	252		
+410.325746	615720.8294	253		
+410.2893365	144975.4363	254		
+495.2877678	20129.07861	255		
+745.5931083	592730.4401	256		
+446.2792894	192580.6632	257		
+580.3600032	624930.1471	258		
+391.4040611	399686.7138	259		
+512.284429	143159.2769	260		
+644.4541038	496178.6893	261		
+463.258152	159530.9721	262		
+332.1387163	295157.0875	263		
+366.195784	252882.1663	264		
+513.334647	141263.2114	264		
+396.3829774	399287.5827	265		
+375.2171567	0	266		
+570.3447994	168316.8779	266		
+299.1385621	90889.18344	267		
+379.3677563	304867.3484	268		
+535.3166131	105152.0583	269		
+379.2947774	82853.65353	270		
+609.2884105	17567.99291	270		
+167.1426455	528168.2992	271		
+229.2156985	1470185.756	271		
+258.2503877	1747023.071	271		
+304.2346716	293927.2153	271		
+268.299456	97516.96626	272		
+327.3365798	489140.8783	273		
+710.5113943	260788.053	274		
+748.5846242	429602.6287	274		
+286.3099308	253226.1009	275		
+360.3367435	374524.0159	276		
+533.4303433	139679.1578	276		
+301.1186907	71381.29913	277		
+336.2502204	283760.9261	278		
+420.309974	107758.5217	278		
+300.3367153	119773.3762	279		
+193.1069965	36354.11507	280		
+377.3518862	137936.1303	281		
+392.2787938	191496.038	282		
+408.2220371	92686.4699	283		
+466.1963276	137678.0055	284		
+161.132084	380636.3981	285		
+292.2013976	41466.78924	286		
+316.2112756	110076.0906	287		
+248.2367912	431074.2413	288		
+402.2819963	109317.5765	289		
+444.3465296	159998.0154	289		
+209.0917227	114977.7277	290		
+261.1592734	35653.53661	291		
+163.1477344	604114.3131	292		
+186.0338085	1292272.028	293		
+408.3619586	324680.3344	294		
+154.1586574	41388.39637	295		
+549.4151013	205451.663	296		
+457.1509073	109797.7946	297		
+175.1477518	639584.5627	298		
+204.1227077	55214.80473	299		
+650.438396	110830.976	300		
+179.1268461	984329.6446	301		
+179.2383355	874487.3156	301		
+386.352364	167882.061	302		
+341.1966277	0	303		
+431.3240999	0	304		
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/input03_1mz-1pcgroup-mz-relative_int.tabular	Wed Apr 19 11:31:58 2017 -0400
@@ -0,0 +1,9 @@
+mz	mzmin	mzmax	rt	rtmin	rtmax	into	intb	maxo	sn	sample	isotopes	adduct	pcgroup
+303.0485467	303.0479126	303.0501709	273.698	270.334	278.072	247182.3356	246032.8821	80132	351	1	[8][M]+		1
+304.0519266	304.050354	304.0531006	273.362	270.671	278.072	39377.69332	39179.45225	12431	267	1	[8][M+1]+		1
+305.0552454	305.0523376	305.0632324	274.034	271.007	278.072	6932.447143	6916.875306	2489	149	1	[8][M+2]+		1
+611.1574452	611.1509399	611.159729	273.362	270.334	278.072	52749.60957	52698.08698	21130	1529	1	[6][M]+	[M+H]+ 610.147	2
+503.0443595	503.0398865	503.0495605	274.034	270.671	278.744	2661.062625	2635.329938	919	62	1			1
+297.0306054	297.0255432	297.038147	278.072	275.38	280.426	1108.1016	1103.392	385	384	1			3
+301.0504305	301.0436401	301.0579834	277.735	274.371	281.435	486.0704762	468.779315	240	12	1		[M+H]+ 300.045 [M+H-C7H6O2]+ 422.084	3
+21.1283748	21.1159668	21.1455688	78.072	76.389	79.753	34.6288	31.6012	258	43	1		[X]+ 94.055	4
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/out_test01.html	Wed Apr 19 11:31:58 2017 -0400
@@ -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="INRA de Clermont-Ferrand"><title>Galaxy MassBank (by spectra) queries - All results</title><link rel="stylesheet" type="text/css" href="css.php" media="all"><link rel="stylesheet" type="text/css" href="https://cdn.rawgit.com/fgiacomoni/galaxy_utils/master/style/simplePagination.css"/><!-- JavaScript --><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 type="text/css">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 MASSBANK queries - Search params : Molecular specie = Positive / delta (unit) = 0.3 / Score threshold = 0.5 and max hit = 20 per pcgroup</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><!-- HeadRows--><table id="detail_table" class="detail"><col style="width:30px;"><!-- Ids (m/z)--><col style="width:30px;"><!-- Pcgroup --><col style="width:30px;"><!-- Mass (m/z)--><col style="width:120px;"><!-- Met name--><col style="width:50px;"><!-- Cpd ID--><col style="width:40px;"><!-- formula--><col style="width:60px;"><!-- cpd mw--><col style="width:50px;"><!-- MS type --><col style="width:20px;"><!-- ion/prec. type--><col style="width:80px;"><!-- Instrument type--><col style="width:60px;"><!-- score--><col style="width:60px;"><!-- INCHI--><thead><th>ID from input</th><th>PCGroup</th><th>Mass (m/z)</th><th>Metabolite name</th><th>Compound ID</th><th>Formula</th><th>Compound MW (Da)</th><th>MS type</th><th>ion/prec. type</th><th>Instr. type</th><th>Score</th><th>InChI Identifier</th></thead><tbody class="select" id="page-id-1"><tr class="white"><td class="ca" >mz_00001</td><td id="1" class="ca" >1</td><td class="ca">303.0485467</td><td class="ca" colspan="9"></td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">Rutin</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=TY000246" target="_blank" class="btn">TY000246</a></td><td class="ca">C27H30O16</td><td class="ca">610.15338</td><td class="ca">MS</td><td class="ca">[M+H]+</td><td class="ca">LC-ESI-ITTOF</td><td class="ca">0.722183932245</td><td class="ca">InChI=1S/C27H30O16/c1-8-17(32)20(35)22(37)26(40-8)39-7-15-18(33)21(36)23(38)27(42-15)43-25-19(34)16-13(31)5-10(28)6-14(16)41-24(25)9-2-3-11(29)12(30)4-9/h2-6,8,15,17-18,20-23,26-33,35-38H,7H2,1H3/t8-,15+,17-,18+,20+,21-,22+,23+,26+,27-/m0/s1</td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">Rutin </td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=PB006201" target="_blank" class="btn">PB006201</a></td><td class="ca">C27H30O16</td><td class="ca">610.15338</td><td class="ca">MS2</td><td class="ca"> [M+H]+</td><td class="ca">LC-ESI-QTOF</td><td class="ca">0.718240688151</td><td class="ca">InChI=1S/C27H30O16/c1-8-17(32)20(35)22(37)26(40-8)39-7-15-18(33)21(36)23(38)27(42-15)43-25-19(34)16-13(31)5-10(28)6-14(16)41-24(25)9-2-3-11(29)12(30)4-9/h2-6,8,15,17-18,20-23,26-33,35-38H,7H2,1H3/t8-,15+,17-,18+,20+,21-,22+,23+,26+,27-/m0/s1</td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">Rutin</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=FIO00588" target="_blank" class="btn">FIO00588</a></td><td class="ca">C27H30O16</td><td class="ca">610.15338</td><td class="ca">MS2</td><td class="ca"> [M+H]+</td><td class="ca">LC-ESI-QTOF</td><td class="ca">0.676089256465</td><td class="ca">InChI=1S/C27H30O16/c1-8-17(32)20(35)22(37)26(40-8)39-7-15-18(33)21(36)23(38)27(42-15)43-25-19(34)16-13(31)5-10(28)6-14(16)41-24(25)9-2-3-11(29)12(30)4-9/h2-6,8,15,17-18,20-23,26-33,35-38H,7H2,1H3/t8-,15+,17-,18+,20+,21-,22+,23+,26+,27-/m0/s1</td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">Hyperoside</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=FIO00150" target="_blank" class="btn">FIO00150</a></td><td class="ca">C21H20O12</td><td class="ca">464.09548</td><td class="ca">MS2</td><td class="ca"> [M+H]+</td><td class="ca">LC-ESI-QTOF</td><td class="ca">0.631453810993</td><td class="ca">InChI=1S/C21H20O12/c22-6-13-15(27)17(29)18(30)21(32-13)33-20-16(28)14-11(26)4-8(23)5-12(14)31-19(20)7-1-2-9(24)10(25)3-7/h1-5,13,15,17-18,21-27,29-30H,6H2/t13-,15+,17+,18-,21+/m1/s1</td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">Isoquercitrin</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=TY000218" target="_blank" class="btn">TY000218</a></td><td class="ca">C21H20O12</td><td class="ca">464.09548</td><td class="ca">MS</td><td class="ca">[M+H]+</td><td class="ca">LC-ESI-ITTOF</td><td class="ca">0.630268036021</td><td class="ca">InChI=1S/C21H20O12/c22-6-13-15(27)17(29)18(30)21(32-13)33-20-16(28)14-11(26)4-8(23)5-12(14)31-19(20)7-1-2-9(24)10(25)3-7/h1-5,13,15,17-18,21-27,29-30H,6H2/t13-,15-,17+,18+,21-/m0/s1</td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">Isoquercitrin</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=FIO00160" target="_blank" class="btn">FIO00160</a></td><td class="ca">C21H20O12</td><td class="ca">464.09548</td><td class="ca">MS2</td><td class="ca"> [M+H]+</td><td class="ca">LC-ESI-QTOF</td><td class="ca">0.629320319716</td><td class="ca">InChI=1S/C21H20O12/c22-6-13-15(27)17(29)18(30)21(32-13)33-20-16(28)14-11(26)4-8(23)5-12(14)31-19(20)7-1-2-9(24)10(25)3-7/h1-5,13,15,17-18,21-27,29-30H,6H2/t13-,15-,17+,18-,21+/m1/s1</td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">Rutin</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=FIO00589" target="_blank" class="btn">FIO00589</a></td><td class="ca">C27H30O16</td><td class="ca">610.15338</td><td class="ca">MS2</td><td class="ca"> [M+H]+</td><td class="ca">LC-ESI-QTOF</td><td class="ca">0.628953392993</td><td class="ca">InChI=1S/C27H30O16/c1-8-17(32)20(35)22(37)26(40-8)39-7-15-18(33)21(36)23(38)27(42-15)43-25-19(34)16-13(31)5-10(28)6-14(16)41-24(25)9-2-3-11(29)12(30)4-9/h2-6,8,15,17-18,20-23,26-33,35-38H,7H2,1H3/t8-,15+,17-,18+,20+,21-,22+,23+,26+,27-/m0/s1</td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">Quercetin-3-beta-O-galactoside</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=PR020075" target="_blank" class="btn">PR020075</a></td><td class="ca">C21H20O12</td><td class="ca">464.09548</td><td class="ca">MS</td><td class="ca"> [M+H]+</td><td class="ca">LC-ESI-QTOF</td><td class="ca">0.618103117363</td><td class="ca">InChI=1S/C21H20O12/c22-6-13-15(27)17(29)18(30)21(32-13)33-20-16(28)14-11(26)4-8(23)5-12(14)31-19(20)7-1-2-9(24)10(25)3-7/h1-5,13,15,17-18,21-27,29-30H,6H2/t13-,15+,17+,18-,21+/m1/s1</td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">Quercetin-3-O-beta-glucopyranoside</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=PR020078" target="_blank" class="btn">PR020078</a></td><td class="ca">C21H20O12</td><td class="ca">464.09548</td><td class="ca">MS</td><td class="ca"> [M+H]+</td><td class="ca">LC-ESI-QTOF</td><td class="ca">0.609833904994</td><td class="ca">InChI=1S/C21H20O12/c22-6-13-15(27)17(29)18(30)21(32-13)33-20-16(28)14-11(26)4-8(23)5-12(14)31-19(20)7-1-2-9(24)10(25)3-7/h1-5,13,15,17-18,21-27,29-30H,6H2/t13-,15-,17+,18-,21+/m1/s1</td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">Quercetin-3-O-rutinoside</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=PR020080" target="_blank" class="btn">PR020080</a></td><td class="ca">C27H30O16</td><td class="ca">610.15338</td><td class="ca">MS</td><td class="ca"> [M+H]+</td><td class="ca">LC-ESI-QTOF</td><td class="ca">0.593021369395</td><td class="ca">InChI=1S/C27H30O16/c1-8-17(32)20(35)22(37)26(40-8)39-7-15-18(33)21(36)23(38)27(42-15)43-25-19(34)16-13(31)5-10(28)6-14(16)41-24(25)9-2-3-11(29)12(30)4-9/h2-6,8,15,17-18,20-23,26-33,35-38H,7H2,1H3/t8-,15+,17-,18+,20+,21-,22+,23+,26+,27-/m0/s1</td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">Hesperidin</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=FIO00483" target="_blank" class="btn">FIO00483</a></td><td class="ca">C28H34O15</td><td class="ca">610.18977</td><td class="ca">MS2</td><td class="ca"> [M+H]+</td><td class="ca">LC-ESI-QTOF</td><td class="ca">0.591111986992</td><td class="ca">InChI=1S/C28H34O15/c1-10-21(32)23(34)25(36)27(40-10)39-9-19-22(33)24(35)26(37)28(43-19)41-12-6-14(30)20-15(31)8-17(42-18(20)7-12)11-3-4-16(38-2)13(29)5-11/h3-7,10,17,19,21-30,32-37H,8-9H2,1-2H3/t10-,17-,19+,21-,22+,23+,24-,25+,26+,27+,28+/m0/s1</td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">Hesperetin-7-O-neohesperidoside</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=PR020045" target="_blank" class="btn">PR020045</a></td><td class="ca">C28H34O15</td><td class="ca">610.18977</td><td class="ca">MS</td><td class="ca"> [M+H]+</td><td class="ca">LC-ESI-QTOF</td><td class="ca">0.585927069664</td><td class="ca">InChI=1S/C28H34O15/c1-10-21(33)23(35)25(37)27(39-10)43-26-24(36)22(34)19(9-29)42-28(26)40-12-6-14(31)20-15(32)8-17(41-18(20)7-12)11-3-4-16(38-2)13(30)5-11/h3-7,10,17,19,21-31,33-37H,8-9H2,1-2H3/t10-,17-,19+,21-,22+,23+,24-,25+,26+,27-,28+/m0/s1</td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">Hirsutrin</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=TY000168" target="_blank" class="btn">TY000168</a></td><td class="ca">C21H20O12</td><td class="ca">464.09548</td><td class="ca">MS</td><td class="ca">[M+H]+</td><td class="ca">LC-ESI-ITTOF</td><td class="ca">0.571213973695</td><td class="ca">InChI=1S/C21H20O12/c22-6-13-15(27)17(29)18(30)21(32-13)33-20-16(28)14-11(26)4-8(23)5-12(14)31-19(20)7-1-2-9(24)10(25)3-7/h1-5,13,15,17-18,21-27,29-30H,6H2/t13-,15-,17+,18-,21+/m1/s1</td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">Hesperidin</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=FIO00484" target="_blank" class="btn">FIO00484</a></td><td class="ca">C28H34O15</td><td class="ca">610.18977</td><td class="ca">MS2</td><td class="ca"> [M+H]+</td><td class="ca">LC-ESI-QTOF</td><td class="ca">0.526179514801</td><td class="ca">InChI=1S/C28H34O15/c1-10-21(32)23(34)25(36)27(40-10)39-9-19-22(33)24(35)26(37)28(43-19)41-12-6-14(30)20-15(31)8-17(42-18(20)7-12)11-3-4-16(38-2)13(29)5-11/h3-7,10,17,19,21-30,32-37H,8-9H2,1-2H3/t10-,17-,19+,21-,22+,23+,24-,25+,26+,27+,28+/m0/s1</td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">Hesperetin-7-O-rutinoside</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=PR020046" target="_blank" class="btn">PR020046</a></td><td class="ca">C28H34O15</td><td class="ca">610.18977</td><td class="ca">MS</td><td class="ca"> [M+H]+</td><td class="ca">LC-ESI-QTOF</td><td class="ca">0.503808010925</td><td class="ca">InChI=1S/C28H34O15/c1-10-21(32)23(34)25(36)27(40-10)39-9-19-22(33)24(35)26(37)28(43-19)41-12-6-14(30)20-15(31)8-17(42-18(20)7-12)11-3-4-16(38-2)13(29)5-11/h3-7,10,17,19,21-30,32-37H,8-9H2,1-2H3/t10-,17-,19+,21-,22+,23+,24-,25+,26+,27+,28+/m0/s1</td></tr><tr class="green"><td class="ca" >mz_00002</td><td id="2" class="ca" >1</td><td class="ca">304.0519266</td><td class="ca" colspan="9"></td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">Rutin</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=TY000246" target="_blank" class="btn">TY000246</a></td><td class="ca">C27H30O16</td><td class="ca">610.15338</td><td class="ca">MS</td><td class="ca">[M+H]+</td><td class="ca">LC-ESI-ITTOF</td><td class="ca">0.722183932245</td><td class="ca">InChI=1S/C27H30O16/c1-8-17(32)20(35)22(37)26(40-8)39-7-15-18(33)21(36)23(38)27(42-15)43-25-19(34)16-13(31)5-10(28)6-14(16)41-24(25)9-2-3-11(29)12(30)4-9/h2-6,8,15,17-18,20-23,26-33,35-38H,7H2,1H3/t8-,15+,17-,18+,20+,21-,22+,23+,26+,27-/m0/s1</td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">Rutin </td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=PB006201" target="_blank" class="btn">PB006201</a></td><td class="ca">C27H30O16</td><td class="ca">610.15338</td><td class="ca">MS2</td><td class="ca"> [M+H]+</td><td class="ca">LC-ESI-QTOF</td><td class="ca">0.718240688151</td><td class="ca">InChI=1S/C27H30O16/c1-8-17(32)20(35)22(37)26(40-8)39-7-15-18(33)21(36)23(38)27(42-15)43-25-19(34)16-13(31)5-10(28)6-14(16)41-24(25)9-2-3-11(29)12(30)4-9/h2-6,8,15,17-18,20-23,26-33,35-38H,7H2,1H3/t8-,15+,17-,18+,20+,21-,22+,23+,26+,27-/m0/s1</td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">Rutin</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=FIO00588" target="_blank" class="btn">FIO00588</a></td><td class="ca">C27H30O16</td><td class="ca">610.15338</td><td class="ca">MS2</td><td class="ca"> [M+H]+</td><td class="ca">LC-ESI-QTOF</td><td class="ca">0.676089256465</td><td class="ca">InChI=1S/C27H30O16/c1-8-17(32)20(35)22(37)26(40-8)39-7-15-18(33)21(36)23(38)27(42-15)43-25-19(34)16-13(31)5-10(28)6-14(16)41-24(25)9-2-3-11(29)12(30)4-9/h2-6,8,15,17-18,20-23,26-33,35-38H,7H2,1H3/t8-,15+,17-,18+,20+,21-,22+,23+,26+,27-/m0/s1</td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">Hyperoside</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=FIO00150" target="_blank" class="btn">FIO00150</a></td><td class="ca">C21H20O12</td><td class="ca">464.09548</td><td class="ca">MS2</td><td class="ca"> [M+H]+</td><td class="ca">LC-ESI-QTOF</td><td class="ca">0.631453810993</td><td class="ca">InChI=1S/C21H20O12/c22-6-13-15(27)17(29)18(30)21(32-13)33-20-16(28)14-11(26)4-8(23)5-12(14)31-19(20)7-1-2-9(24)10(25)3-7/h1-5,13,15,17-18,21-27,29-30H,6H2/t13-,15+,17+,18-,21+/m1/s1</td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">Isoquercitrin</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=TY000218" target="_blank" class="btn">TY000218</a></td><td class="ca">C21H20O12</td><td class="ca">464.09548</td><td class="ca">MS</td><td class="ca">[M+H]+</td><td class="ca">LC-ESI-ITTOF</td><td class="ca">0.630268036021</td><td class="ca">InChI=1S/C21H20O12/c22-6-13-15(27)17(29)18(30)21(32-13)33-20-16(28)14-11(26)4-8(23)5-12(14)31-19(20)7-1-2-9(24)10(25)3-7/h1-5,13,15,17-18,21-27,29-30H,6H2/t13-,15-,17+,18+,21-/m0/s1</td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">Isoquercitrin</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=FIO00160" target="_blank" class="btn">FIO00160</a></td><td class="ca">C21H20O12</td><td class="ca">464.09548</td><td class="ca">MS2</td><td class="ca"> [M+H]+</td><td class="ca">LC-ESI-QTOF</td><td class="ca">0.629320319716</td><td class="ca">InChI=1S/C21H20O12/c22-6-13-15(27)17(29)18(30)21(32-13)33-20-16(28)14-11(26)4-8(23)5-12(14)31-19(20)7-1-2-9(24)10(25)3-7/h1-5,13,15,17-18,21-27,29-30H,6H2/t13-,15-,17+,18-,21+/m1/s1</td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">Rutin</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=FIO00589" target="_blank" class="btn">FIO00589</a></td><td class="ca">C27H30O16</td><td class="ca">610.15338</td><td class="ca">MS2</td><td class="ca"> [M+H]+</td><td class="ca">LC-ESI-QTOF</td><td class="ca">0.628953392993</td><td class="ca">InChI=1S/C27H30O16/c1-8-17(32)20(35)22(37)26(40-8)39-7-15-18(33)21(36)23(38)27(42-15)43-25-19(34)16-13(31)5-10(28)6-14(16)41-24(25)9-2-3-11(29)12(30)4-9/h2-6,8,15,17-18,20-23,26-33,35-38H,7H2,1H3/t8-,15+,17-,18+,20+,21-,22+,23+,26+,27-/m0/s1</td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">Quercetin-3-beta-O-galactoside</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=PR020075" target="_blank" class="btn">PR020075</a></td><td class="ca">C21H20O12</td><td class="ca">464.09548</td><td class="ca">MS</td><td class="ca"> [M+H]+</td><td class="ca">LC-ESI-QTOF</td><td class="ca">0.618103117363</td><td class="ca">InChI=1S/C21H20O12/c22-6-13-15(27)17(29)18(30)21(32-13)33-20-16(28)14-11(26)4-8(23)5-12(14)31-19(20)7-1-2-9(24)10(25)3-7/h1-5,13,15,17-18,21-27,29-30H,6H2/t13-,15+,17+,18-,21+/m1/s1</td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">Quercetin-3-O-beta-glucopyranoside</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=PR020078" target="_blank" class="btn">PR020078</a></td><td class="ca">C21H20O12</td><td class="ca">464.09548</td><td class="ca">MS</td><td class="ca"> [M+H]+</td><td class="ca">LC-ESI-QTOF</td><td class="ca">0.609833904994</td><td class="ca">InChI=1S/C21H20O12/c22-6-13-15(27)17(29)18(30)21(32-13)33-20-16(28)14-11(26)4-8(23)5-12(14)31-19(20)7-1-2-9(24)10(25)3-7/h1-5,13,15,17-18,21-27,29-30H,6H2/t13-,15-,17+,18-,21+/m1/s1</td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">Quercetin-3-O-rutinoside</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=PR020080" target="_blank" class="btn">PR020080</a></td><td class="ca">C27H30O16</td><td class="ca">610.15338</td><td class="ca">MS</td><td class="ca"> [M+H]+</td><td class="ca">LC-ESI-QTOF</td><td class="ca">0.593021369395</td><td class="ca">InChI=1S/C27H30O16/c1-8-17(32)20(35)22(37)26(40-8)39-7-15-18(33)21(36)23(38)27(42-15)43-25-19(34)16-13(31)5-10(28)6-14(16)41-24(25)9-2-3-11(29)12(30)4-9/h2-6,8,15,17-18,20-23,26-33,35-38H,7H2,1H3/t8-,15+,17-,18+,20+,21-,22+,23+,26+,27-/m0/s1</td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">Hesperidin</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=FIO00483" target="_blank" class="btn">FIO00483</a></td><td class="ca">C28H34O15</td><td class="ca">610.18977</td><td class="ca">MS2</td><td class="ca"> [M+H]+</td><td class="ca">LC-ESI-QTOF</td><td class="ca">0.591111986992</td><td class="ca">InChI=1S/C28H34O15/c1-10-21(32)23(34)25(36)27(40-10)39-9-19-22(33)24(35)26(37)28(43-19)41-12-6-14(30)20-15(31)8-17(42-18(20)7-12)11-3-4-16(38-2)13(29)5-11/h3-7,10,17,19,21-30,32-37H,8-9H2,1-2H3/t10-,17-,19+,21-,22+,23+,24-,25+,26+,27+,28+/m0/s1</td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">Hesperetin-7-O-neohesperidoside</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=PR020045" target="_blank" class="btn">PR020045</a></td><td class="ca">C28H34O15</td><td class="ca">610.18977</td><td class="ca">MS</td><td class="ca"> [M+H]+</td><td class="ca">LC-ESI-QTOF</td><td class="ca">0.585927069664</td><td class="ca">InChI=1S/C28H34O15/c1-10-21(33)23(35)25(37)27(39-10)43-26-24(36)22(34)19(9-29)42-28(26)40-12-6-14(31)20-15(32)8-17(41-18(20)7-12)11-3-4-16(38-2)13(30)5-11/h3-7,10,17,19,21-31,33-37H,8-9H2,1-2H3/t10-,17-,19+,21-,22+,23+,24-,25+,26+,27-,28+/m0/s1</td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">Hirsutrin</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=TY000168" target="_blank" class="btn">TY000168</a></td><td class="ca">C21H20O12</td><td class="ca">464.09548</td><td class="ca">MS</td><td class="ca">[M+H]+</td><td class="ca">LC-ESI-ITTOF</td><td class="ca">0.571213973695</td><td class="ca">InChI=1S/C21H20O12/c22-6-13-15(27)17(29)18(30)21(32-13)33-20-16(28)14-11(26)4-8(23)5-12(14)31-19(20)7-1-2-9(24)10(25)3-7/h1-5,13,15,17-18,21-27,29-30H,6H2/t13-,15-,17+,18-,21+/m1/s1</td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">Hesperidin</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=FIO00484" target="_blank" class="btn">FIO00484</a></td><td class="ca">C28H34O15</td><td class="ca">610.18977</td><td class="ca">MS2</td><td class="ca"> [M+H]+</td><td class="ca">LC-ESI-QTOF</td><td class="ca">0.526179514801</td><td class="ca">InChI=1S/C28H34O15/c1-10-21(32)23(34)25(36)27(40-10)39-9-19-22(33)24(35)26(37)28(43-19)41-12-6-14(30)20-15(31)8-17(42-18(20)7-12)11-3-4-16(38-2)13(29)5-11/h3-7,10,17,19,21-30,32-37H,8-9H2,1-2H3/t10-,17-,19+,21-,22+,23+,24-,25+,26+,27+,28+/m0/s1</td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">Hesperetin-7-O-rutinoside</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=PR020046" target="_blank" class="btn">PR020046</a></td><td class="ca">C28H34O15</td><td class="ca">610.18977</td><td class="ca">MS</td><td class="ca"> [M+H]+</td><td class="ca">LC-ESI-QTOF</td><td class="ca">0.503808010925</td><td class="ca">InChI=1S/C28H34O15/c1-10-21(32)23(34)25(36)27(40-10)39-9-19-22(33)24(35)26(37)28(43-19)41-12-6-14(30)20-15(31)8-17(42-18(20)7-12)11-3-4-16(38-2)13(29)5-11/h3-7,10,17,19,21-30,32-37H,8-9H2,1-2H3/t10-,17-,19+,21-,22+,23+,24-,25+,26+,27+,28+/m0/s1</td></tr><tr class="white"><td class="ca" >mz_00003</td><td id="3" class="ca" >1</td><td class="ca">305.0552454</td><td class="ca" colspan="9"></td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">Rutin</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=TY000246" target="_blank" class="btn">TY000246</a></td><td class="ca">C27H30O16</td><td class="ca">610.15338</td><td class="ca">MS</td><td class="ca">[M+H]+</td><td class="ca">LC-ESI-ITTOF</td><td class="ca">0.722183932245</td><td class="ca">InChI=1S/C27H30O16/c1-8-17(32)20(35)22(37)26(40-8)39-7-15-18(33)21(36)23(38)27(42-15)43-25-19(34)16-13(31)5-10(28)6-14(16)41-24(25)9-2-3-11(29)12(30)4-9/h2-6,8,15,17-18,20-23,26-33,35-38H,7H2,1H3/t8-,15+,17-,18+,20+,21-,22+,23+,26+,27-/m0/s1</td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">Rutin </td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=PB006201" target="_blank" class="btn">PB006201</a></td><td class="ca">C27H30O16</td><td class="ca">610.15338</td><td class="ca">MS2</td><td class="ca"> [M+H]+</td><td class="ca">LC-ESI-QTOF</td><td class="ca">0.718240688151</td><td class="ca">InChI=1S/C27H30O16/c1-8-17(32)20(35)22(37)26(40-8)39-7-15-18(33)21(36)23(38)27(42-15)43-25-19(34)16-13(31)5-10(28)6-14(16)41-24(25)9-2-3-11(29)12(30)4-9/h2-6,8,15,17-18,20-23,26-33,35-38H,7H2,1H3/t8-,15+,17-,18+,20+,21-,22+,23+,26+,27-/m0/s1</td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">Rutin</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=FIO00588" target="_blank" class="btn">FIO00588</a></td><td class="ca">C27H30O16</td><td class="ca">610.15338</td><td class="ca">MS2</td><td class="ca"> [M+H]+</td><td class="ca">LC-ESI-QTOF</td><td class="ca">0.676089256465</td><td class="ca">InChI=1S/C27H30O16/c1-8-17(32)20(35)22(37)26(40-8)39-7-15-18(33)21(36)23(38)27(42-15)43-25-19(34)16-13(31)5-10(28)6-14(16)41-24(25)9-2-3-11(29)12(30)4-9/h2-6,8,15,17-18,20-23,26-33,35-38H,7H2,1H3/t8-,15+,17-,18+,20+,21-,22+,23+,26+,27-/m0/s1</td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">Hyperoside</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=FIO00150" target="_blank" class="btn">FIO00150</a></td><td class="ca">C21H20O12</td><td class="ca">464.09548</td><td class="ca">MS2</td><td class="ca"> [M+H]+</td><td class="ca">LC-ESI-QTOF</td><td class="ca">0.631453810993</td><td class="ca">InChI=1S/C21H20O12/c22-6-13-15(27)17(29)18(30)21(32-13)33-20-16(28)14-11(26)4-8(23)5-12(14)31-19(20)7-1-2-9(24)10(25)3-7/h1-5,13,15,17-18,21-27,29-30H,6H2/t13-,15+,17+,18-,21+/m1/s1</td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">Isoquercitrin</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=TY000218" target="_blank" class="btn">TY000218</a></td><td class="ca">C21H20O12</td><td class="ca">464.09548</td><td class="ca">MS</td><td class="ca">[M+H]+</td><td class="ca">LC-ESI-ITTOF</td><td class="ca">0.630268036021</td><td class="ca">InChI=1S/C21H20O12/c22-6-13-15(27)17(29)18(30)21(32-13)33-20-16(28)14-11(26)4-8(23)5-12(14)31-19(20)7-1-2-9(24)10(25)3-7/h1-5,13,15,17-18,21-27,29-30H,6H2/t13-,15-,17+,18+,21-/m0/s1</td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">Isoquercitrin</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=FIO00160" target="_blank" class="btn">FIO00160</a></td><td class="ca">C21H20O12</td><td class="ca">464.09548</td><td class="ca">MS2</td><td class="ca"> [M+H]+</td><td class="ca">LC-ESI-QTOF</td><td class="ca">0.629320319716</td><td class="ca">InChI=1S/C21H20O12/c22-6-13-15(27)17(29)18(30)21(32-13)33-20-16(28)14-11(26)4-8(23)5-12(14)31-19(20)7-1-2-9(24)10(25)3-7/h1-5,13,15,17-18,21-27,29-30H,6H2/t13-,15-,17+,18-,21+/m1/s1</td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">Rutin</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=FIO00589" target="_blank" class="btn">FIO00589</a></td><td class="ca">C27H30O16</td><td class="ca">610.15338</td><td class="ca">MS2</td><td class="ca"> [M+H]+</td><td class="ca">LC-ESI-QTOF</td><td class="ca">0.628953392993</td><td class="ca">InChI=1S/C27H30O16/c1-8-17(32)20(35)22(37)26(40-8)39-7-15-18(33)21(36)23(38)27(42-15)43-25-19(34)16-13(31)5-10(28)6-14(16)41-24(25)9-2-3-11(29)12(30)4-9/h2-6,8,15,17-18,20-23,26-33,35-38H,7H2,1H3/t8-,15+,17-,18+,20+,21-,22+,23+,26+,27-/m0/s1</td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">Quercetin-3-beta-O-galactoside</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=PR020075" target="_blank" class="btn">PR020075</a></td><td class="ca">C21H20O12</td><td class="ca">464.09548</td><td class="ca">MS</td><td class="ca"> [M+H]+</td><td class="ca">LC-ESI-QTOF</td><td class="ca">0.618103117363</td><td class="ca">InChI=1S/C21H20O12/c22-6-13-15(27)17(29)18(30)21(32-13)33-20-16(28)14-11(26)4-8(23)5-12(14)31-19(20)7-1-2-9(24)10(25)3-7/h1-5,13,15,17-18,21-27,29-30H,6H2/t13-,15+,17+,18-,21+/m1/s1</td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">Quercetin-3-O-beta-glucopyranoside</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=PR020078" target="_blank" class="btn">PR020078</a></td><td class="ca">C21H20O12</td><td class="ca">464.09548</td><td class="ca">MS</td><td class="ca"> [M+H]+</td><td class="ca">LC-ESI-QTOF</td><td class="ca">0.609833904994</td><td class="ca">InChI=1S/C21H20O12/c22-6-13-15(27)17(29)18(30)21(32-13)33-20-16(28)14-11(26)4-8(23)5-12(14)31-19(20)7-1-2-9(24)10(25)3-7/h1-5,13,15,17-18,21-27,29-30H,6H2/t13-,15-,17+,18-,21+/m1/s1</td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">Quercetin-3-O-rutinoside</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=PR020080" target="_blank" class="btn">PR020080</a></td><td class="ca">C27H30O16</td><td class="ca">610.15338</td><td class="ca">MS</td><td class="ca"> [M+H]+</td><td class="ca">LC-ESI-QTOF</td><td class="ca">0.593021369395</td><td class="ca">InChI=1S/C27H30O16/c1-8-17(32)20(35)22(37)26(40-8)39-7-15-18(33)21(36)23(38)27(42-15)43-25-19(34)16-13(31)5-10(28)6-14(16)41-24(25)9-2-3-11(29)12(30)4-9/h2-6,8,15,17-18,20-23,26-33,35-38H,7H2,1H3/t8-,15+,17-,18+,20+,21-,22+,23+,26+,27-/m0/s1</td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">Hesperidin</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=FIO00483" target="_blank" class="btn">FIO00483</a></td><td class="ca">C28H34O15</td><td class="ca">610.18977</td><td class="ca">MS2</td><td class="ca"> [M+H]+</td><td class="ca">LC-ESI-QTOF</td><td class="ca">0.591111986992</td><td class="ca">InChI=1S/C28H34O15/c1-10-21(32)23(34)25(36)27(40-10)39-9-19-22(33)24(35)26(37)28(43-19)41-12-6-14(30)20-15(31)8-17(42-18(20)7-12)11-3-4-16(38-2)13(29)5-11/h3-7,10,17,19,21-30,32-37H,8-9H2,1-2H3/t10-,17-,19+,21-,22+,23+,24-,25+,26+,27+,28+/m0/s1</td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">Hesperetin-7-O-neohesperidoside</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=PR020045" target="_blank" class="btn">PR020045</a></td><td class="ca">C28H34O15</td><td class="ca">610.18977</td><td class="ca">MS</td><td class="ca"> [M+H]+</td><td class="ca">LC-ESI-QTOF</td><td class="ca">0.585927069664</td><td class="ca">InChI=1S/C28H34O15/c1-10-21(33)23(35)25(37)27(39-10)43-26-24(36)22(34)19(9-29)42-28(26)40-12-6-14(31)20-15(32)8-17(41-18(20)7-12)11-3-4-16(38-2)13(30)5-11/h3-7,10,17,19,21-31,33-37H,8-9H2,1-2H3/t10-,17-,19+,21-,22+,23+,24-,25+,26+,27-,28+/m0/s1</td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">Hirsutrin</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=TY000168" target="_blank" class="btn">TY000168</a></td><td class="ca">C21H20O12</td><td class="ca">464.09548</td><td class="ca">MS</td><td class="ca">[M+H]+</td><td class="ca">LC-ESI-ITTOF</td><td class="ca">0.571213973695</td><td class="ca">InChI=1S/C21H20O12/c22-6-13-15(27)17(29)18(30)21(32-13)33-20-16(28)14-11(26)4-8(23)5-12(14)31-19(20)7-1-2-9(24)10(25)3-7/h1-5,13,15,17-18,21-27,29-30H,6H2/t13-,15-,17+,18-,21+/m1/s1</td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">Hesperidin</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=FIO00484" target="_blank" class="btn">FIO00484</a></td><td class="ca">C28H34O15</td><td class="ca">610.18977</td><td class="ca">MS2</td><td class="ca"> [M+H]+</td><td class="ca">LC-ESI-QTOF</td><td class="ca">0.526179514801</td><td class="ca">InChI=1S/C28H34O15/c1-10-21(32)23(34)25(36)27(40-10)39-9-19-22(33)24(35)26(37)28(43-19)41-12-6-14(30)20-15(31)8-17(42-18(20)7-12)11-3-4-16(38-2)13(29)5-11/h3-7,10,17,19,21-30,32-37H,8-9H2,1-2H3/t10-,17-,19+,21-,22+,23+,24-,25+,26+,27+,28+/m0/s1</td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">Hesperetin-7-O-rutinoside</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=PR020046" target="_blank" class="btn">PR020046</a></td><td class="ca">C28H34O15</td><td class="ca">610.18977</td><td class="ca">MS</td><td class="ca"> [M+H]+</td><td class="ca">LC-ESI-QTOF</td><td class="ca">0.503808010925</td><td class="ca">InChI=1S/C28H34O15/c1-10-21(32)23(34)25(36)27(40-10)39-9-19-22(33)24(35)26(37)28(43-19)41-12-6-14(30)20-15(31)8-17(42-18(20)7-12)11-3-4-16(38-2)13(29)5-11/h3-7,10,17,19,21-30,32-37H,8-9H2,1-2H3/t10-,17-,19+,21-,22+,23+,24-,25+,26+,27+,28+/m0/s1</td></tr><tr class="green"><td class="ca" >mz_00004</td><td id="4" class="ca" >1</td><td class="ca">325.0531081</td><td class="ca" colspan="9"></td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">UNKNOWN</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=" target="_blank" class="btn">NONE</a></td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">0</td><td class="ca">n/a</td></tr></tbody><tbody class="select" id="page-id-2"><tr class="white"><td class="ca" >mz_00005</td><td id="5" class="ca" >1</td><td class="ca">325.5558227</td><td class="ca" colspan="9"></td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">UNKNOWN</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=" target="_blank" class="btn">NONE</a></td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">0</td><td class="ca">n/a</td></tr><tr class="green"><td class="ca" >mz_00006</td><td id="6" class="ca" >1</td><td class="ca">326.0658445</td><td class="ca" colspan="9"></td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">UNKNOWN</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=" target="_blank" class="btn">NONE</a></td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">0</td><td class="ca">n/a</td></tr><tr class="white"><td class="ca" >mz_00007</td><td id="7" class="ca" >1</td><td class="ca">334.0589389</td><td class="ca" colspan="9"></td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">UNKNOWN</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=" target="_blank" class="btn">NONE</a></td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">0</td><td class="ca">n/a</td></tr><tr class="green"><td class="ca" >mz_00008</td><td id="8" class="ca" >1</td><td class="ca">334.5601886</td><td class="ca" colspan="9"></td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">UNKNOWN</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=" target="_blank" class="btn">NONE</a></td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">0</td><td class="ca">n/a</td></tr></tbody><tbody class="select" id="page-id-3"><tr class="white"><td class="ca" >mz_00009</td><td id="9" class="ca" >1</td><td class="ca">335.0608018</td><td class="ca" colspan="9"></td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">UNKNOWN</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=" target="_blank" class="btn">NONE</a></td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">0</td><td class="ca">n/a</td></tr><tr class="green"><td class="ca" >mz_00010</td><td id="10" class="ca" >1</td><td class="ca">465.101281</td><td class="ca" colspan="9"></td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">Rutin</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=TY000246" target="_blank" class="btn">TY000246</a></td><td class="ca">C27H30O16</td><td class="ca">610.15338</td><td class="ca">MS</td><td class="ca">[M+H]+</td><td class="ca">LC-ESI-ITTOF</td><td class="ca">0.722183932245</td><td class="ca">InChI=1S/C27H30O16/c1-8-17(32)20(35)22(37)26(40-8)39-7-15-18(33)21(36)23(38)27(42-15)43-25-19(34)16-13(31)5-10(28)6-14(16)41-24(25)9-2-3-11(29)12(30)4-9/h2-6,8,15,17-18,20-23,26-33,35-38H,7H2,1H3/t8-,15+,17-,18+,20+,21-,22+,23+,26+,27-/m0/s1</td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">Rutin </td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=PB006201" target="_blank" class="btn">PB006201</a></td><td class="ca">C27H30O16</td><td class="ca">610.15338</td><td class="ca">MS2</td><td class="ca"> [M+H]+</td><td class="ca">LC-ESI-QTOF</td><td class="ca">0.718240688151</td><td class="ca">InChI=1S/C27H30O16/c1-8-17(32)20(35)22(37)26(40-8)39-7-15-18(33)21(36)23(38)27(42-15)43-25-19(34)16-13(31)5-10(28)6-14(16)41-24(25)9-2-3-11(29)12(30)4-9/h2-6,8,15,17-18,20-23,26-33,35-38H,7H2,1H3/t8-,15+,17-,18+,20+,21-,22+,23+,26+,27-/m0/s1</td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">Rutin</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=FIO00588" target="_blank" class="btn">FIO00588</a></td><td class="ca">C27H30O16</td><td class="ca">610.15338</td><td class="ca">MS2</td><td class="ca"> [M+H]+</td><td class="ca">LC-ESI-QTOF</td><td class="ca">0.676089256465</td><td class="ca">InChI=1S/C27H30O16/c1-8-17(32)20(35)22(37)26(40-8)39-7-15-18(33)21(36)23(38)27(42-15)43-25-19(34)16-13(31)5-10(28)6-14(16)41-24(25)9-2-3-11(29)12(30)4-9/h2-6,8,15,17-18,20-23,26-33,35-38H,7H2,1H3/t8-,15+,17-,18+,20+,21-,22+,23+,26+,27-/m0/s1</td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">Hyperoside</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=FIO00150" target="_blank" class="btn">FIO00150</a></td><td class="ca">C21H20O12</td><td class="ca">464.09548</td><td class="ca">MS2</td><td class="ca"> [M+H]+</td><td class="ca">LC-ESI-QTOF</td><td class="ca">0.631453810993</td><td class="ca">InChI=1S/C21H20O12/c22-6-13-15(27)17(29)18(30)21(32-13)33-20-16(28)14-11(26)4-8(23)5-12(14)31-19(20)7-1-2-9(24)10(25)3-7/h1-5,13,15,17-18,21-27,29-30H,6H2/t13-,15+,17+,18-,21+/m1/s1</td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">Isoquercitrin</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=TY000218" target="_blank" class="btn">TY000218</a></td><td class="ca">C21H20O12</td><td class="ca">464.09548</td><td class="ca">MS</td><td class="ca">[M+H]+</td><td class="ca">LC-ESI-ITTOF</td><td class="ca">0.630268036021</td><td class="ca">InChI=1S/C21H20O12/c22-6-13-15(27)17(29)18(30)21(32-13)33-20-16(28)14-11(26)4-8(23)5-12(14)31-19(20)7-1-2-9(24)10(25)3-7/h1-5,13,15,17-18,21-27,29-30H,6H2/t13-,15-,17+,18+,21-/m0/s1</td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">Isoquercitrin</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=FIO00160" target="_blank" class="btn">FIO00160</a></td><td class="ca">C21H20O12</td><td class="ca">464.09548</td><td class="ca">MS2</td><td class="ca"> [M+H]+</td><td class="ca">LC-ESI-QTOF</td><td class="ca">0.629320319716</td><td class="ca">InChI=1S/C21H20O12/c22-6-13-15(27)17(29)18(30)21(32-13)33-20-16(28)14-11(26)4-8(23)5-12(14)31-19(20)7-1-2-9(24)10(25)3-7/h1-5,13,15,17-18,21-27,29-30H,6H2/t13-,15-,17+,18-,21+/m1/s1</td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">Rutin</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=FIO00589" target="_blank" class="btn">FIO00589</a></td><td class="ca">C27H30O16</td><td class="ca">610.15338</td><td class="ca">MS2</td><td class="ca"> [M+H]+</td><td class="ca">LC-ESI-QTOF</td><td class="ca">0.628953392993</td><td class="ca">InChI=1S/C27H30O16/c1-8-17(32)20(35)22(37)26(40-8)39-7-15-18(33)21(36)23(38)27(42-15)43-25-19(34)16-13(31)5-10(28)6-14(16)41-24(25)9-2-3-11(29)12(30)4-9/h2-6,8,15,17-18,20-23,26-33,35-38H,7H2,1H3/t8-,15+,17-,18+,20+,21-,22+,23+,26+,27-/m0/s1</td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">Quercetin-3-beta-O-galactoside</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=PR020075" target="_blank" class="btn">PR020075</a></td><td class="ca">C21H20O12</td><td class="ca">464.09548</td><td class="ca">MS</td><td class="ca"> [M+H]+</td><td class="ca">LC-ESI-QTOF</td><td class="ca">0.618103117363</td><td class="ca">InChI=1S/C21H20O12/c22-6-13-15(27)17(29)18(30)21(32-13)33-20-16(28)14-11(26)4-8(23)5-12(14)31-19(20)7-1-2-9(24)10(25)3-7/h1-5,13,15,17-18,21-27,29-30H,6H2/t13-,15+,17+,18-,21+/m1/s1</td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">Quercetin-3-O-beta-glucopyranoside</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=PR020078" target="_blank" class="btn">PR020078</a></td><td class="ca">C21H20O12</td><td class="ca">464.09548</td><td class="ca">MS</td><td class="ca"> [M+H]+</td><td class="ca">LC-ESI-QTOF</td><td class="ca">0.609833904994</td><td class="ca">InChI=1S/C21H20O12/c22-6-13-15(27)17(29)18(30)21(32-13)33-20-16(28)14-11(26)4-8(23)5-12(14)31-19(20)7-1-2-9(24)10(25)3-7/h1-5,13,15,17-18,21-27,29-30H,6H2/t13-,15-,17+,18-,21+/m1/s1</td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">Quercetin-3-O-rutinoside</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=PR020080" target="_blank" class="btn">PR020080</a></td><td class="ca">C27H30O16</td><td class="ca">610.15338</td><td class="ca">MS</td><td class="ca"> [M+H]+</td><td class="ca">LC-ESI-QTOF</td><td class="ca">0.593021369395</td><td class="ca">InChI=1S/C27H30O16/c1-8-17(32)20(35)22(37)26(40-8)39-7-15-18(33)21(36)23(38)27(42-15)43-25-19(34)16-13(31)5-10(28)6-14(16)41-24(25)9-2-3-11(29)12(30)4-9/h2-6,8,15,17-18,20-23,26-33,35-38H,7H2,1H3/t8-,15+,17-,18+,20+,21-,22+,23+,26+,27-/m0/s1</td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">Hesperidin</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=FIO00483" target="_blank" class="btn">FIO00483</a></td><td class="ca">C28H34O15</td><td class="ca">610.18977</td><td class="ca">MS2</td><td class="ca"> [M+H]+</td><td class="ca">LC-ESI-QTOF</td><td class="ca">0.591111986992</td><td class="ca">InChI=1S/C28H34O15/c1-10-21(32)23(34)25(36)27(40-10)39-9-19-22(33)24(35)26(37)28(43-19)41-12-6-14(30)20-15(31)8-17(42-18(20)7-12)11-3-4-16(38-2)13(29)5-11/h3-7,10,17,19,21-30,32-37H,8-9H2,1-2H3/t10-,17-,19+,21-,22+,23+,24-,25+,26+,27+,28+/m0/s1</td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">Hesperetin-7-O-neohesperidoside</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=PR020045" target="_blank" class="btn">PR020045</a></td><td class="ca">C28H34O15</td><td class="ca">610.18977</td><td class="ca">MS</td><td class="ca"> [M+H]+</td><td class="ca">LC-ESI-QTOF</td><td class="ca">0.585927069664</td><td class="ca">InChI=1S/C28H34O15/c1-10-21(33)23(35)25(37)27(39-10)43-26-24(36)22(34)19(9-29)42-28(26)40-12-6-14(31)20-15(32)8-17(41-18(20)7-12)11-3-4-16(38-2)13(30)5-11/h3-7,10,17,19,21-31,33-37H,8-9H2,1-2H3/t10-,17-,19+,21-,22+,23+,24-,25+,26+,27-,28+/m0/s1</td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">Hirsutrin</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=TY000168" target="_blank" class="btn">TY000168</a></td><td class="ca">C21H20O12</td><td class="ca">464.09548</td><td class="ca">MS</td><td class="ca">[M+H]+</td><td class="ca">LC-ESI-ITTOF</td><td class="ca">0.571213973695</td><td class="ca">InChI=1S/C21H20O12/c22-6-13-15(27)17(29)18(30)21(32-13)33-20-16(28)14-11(26)4-8(23)5-12(14)31-19(20)7-1-2-9(24)10(25)3-7/h1-5,13,15,17-18,21-27,29-30H,6H2/t13-,15-,17+,18-,21+/m1/s1</td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">Hesperidin</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=FIO00484" target="_blank" class="btn">FIO00484</a></td><td class="ca">C28H34O15</td><td class="ca">610.18977</td><td class="ca">MS2</td><td class="ca"> [M+H]+</td><td class="ca">LC-ESI-QTOF</td><td class="ca">0.526179514801</td><td class="ca">InChI=1S/C28H34O15/c1-10-21(32)23(34)25(36)27(40-10)39-9-19-22(33)24(35)26(37)28(43-19)41-12-6-14(30)20-15(31)8-17(42-18(20)7-12)11-3-4-16(38-2)13(29)5-11/h3-7,10,17,19,21-30,32-37H,8-9H2,1-2H3/t10-,17-,19+,21-,22+,23+,24-,25+,26+,27+,28+/m0/s1</td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">Hesperetin-7-O-rutinoside</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=PR020046" target="_blank" class="btn">PR020046</a></td><td class="ca">C28H34O15</td><td class="ca">610.18977</td><td class="ca">MS</td><td class="ca"> [M+H]+</td><td class="ca">LC-ESI-QTOF</td><td class="ca">0.503808010925</td><td class="ca">InChI=1S/C28H34O15/c1-10-21(32)23(34)25(36)27(40-10)39-9-19-22(33)24(35)26(37)28(43-19)41-12-6-14(30)20-15(31)8-17(42-18(20)7-12)11-3-4-16(38-2)13(29)5-11/h3-7,10,17,19,21-30,32-37H,8-9H2,1-2H3/t10-,17-,19+,21-,22+,23+,24-,25+,26+,27+,28+/m0/s1</td></tr><tr class="white"><td class="ca" >mz_00011</td><td id="11" class="ca" >1</td><td class="ca">466.1044404</td><td class="ca" colspan="9"></td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">Rutin</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=TY000246" target="_blank" class="btn">TY000246</a></td><td class="ca">C27H30O16</td><td class="ca">610.15338</td><td class="ca">MS</td><td class="ca">[M+H]+</td><td class="ca">LC-ESI-ITTOF</td><td class="ca">0.722183932245</td><td class="ca">InChI=1S/C27H30O16/c1-8-17(32)20(35)22(37)26(40-8)39-7-15-18(33)21(36)23(38)27(42-15)43-25-19(34)16-13(31)5-10(28)6-14(16)41-24(25)9-2-3-11(29)12(30)4-9/h2-6,8,15,17-18,20-23,26-33,35-38H,7H2,1H3/t8-,15+,17-,18+,20+,21-,22+,23+,26+,27-/m0/s1</td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">Rutin </td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=PB006201" target="_blank" class="btn">PB006201</a></td><td class="ca">C27H30O16</td><td class="ca">610.15338</td><td class="ca">MS2</td><td class="ca"> [M+H]+</td><td class="ca">LC-ESI-QTOF</td><td class="ca">0.718240688151</td><td class="ca">InChI=1S/C27H30O16/c1-8-17(32)20(35)22(37)26(40-8)39-7-15-18(33)21(36)23(38)27(42-15)43-25-19(34)16-13(31)5-10(28)6-14(16)41-24(25)9-2-3-11(29)12(30)4-9/h2-6,8,15,17-18,20-23,26-33,35-38H,7H2,1H3/t8-,15+,17-,18+,20+,21-,22+,23+,26+,27-/m0/s1</td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">Rutin</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=FIO00588" target="_blank" class="btn">FIO00588</a></td><td class="ca">C27H30O16</td><td class="ca">610.15338</td><td class="ca">MS2</td><td class="ca"> [M+H]+</td><td class="ca">LC-ESI-QTOF</td><td class="ca">0.676089256465</td><td class="ca">InChI=1S/C27H30O16/c1-8-17(32)20(35)22(37)26(40-8)39-7-15-18(33)21(36)23(38)27(42-15)43-25-19(34)16-13(31)5-10(28)6-14(16)41-24(25)9-2-3-11(29)12(30)4-9/h2-6,8,15,17-18,20-23,26-33,35-38H,7H2,1H3/t8-,15+,17-,18+,20+,21-,22+,23+,26+,27-/m0/s1</td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">Hyperoside</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=FIO00150" target="_blank" class="btn">FIO00150</a></td><td class="ca">C21H20O12</td><td class="ca">464.09548</td><td class="ca">MS2</td><td class="ca"> [M+H]+</td><td class="ca">LC-ESI-QTOF</td><td class="ca">0.631453810993</td><td class="ca">InChI=1S/C21H20O12/c22-6-13-15(27)17(29)18(30)21(32-13)33-20-16(28)14-11(26)4-8(23)5-12(14)31-19(20)7-1-2-9(24)10(25)3-7/h1-5,13,15,17-18,21-27,29-30H,6H2/t13-,15+,17+,18-,21+/m1/s1</td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">Isoquercitrin</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=TY000218" target="_blank" class="btn">TY000218</a></td><td class="ca">C21H20O12</td><td class="ca">464.09548</td><td class="ca">MS</td><td class="ca">[M+H]+</td><td class="ca">LC-ESI-ITTOF</td><td class="ca">0.630268036021</td><td class="ca">InChI=1S/C21H20O12/c22-6-13-15(27)17(29)18(30)21(32-13)33-20-16(28)14-11(26)4-8(23)5-12(14)31-19(20)7-1-2-9(24)10(25)3-7/h1-5,13,15,17-18,21-27,29-30H,6H2/t13-,15-,17+,18+,21-/m0/s1</td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">Isoquercitrin</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=FIO00160" target="_blank" class="btn">FIO00160</a></td><td class="ca">C21H20O12</td><td class="ca">464.09548</td><td class="ca">MS2</td><td class="ca"> [M+H]+</td><td class="ca">LC-ESI-QTOF</td><td class="ca">0.629320319716</td><td class="ca">InChI=1S/C21H20O12/c22-6-13-15(27)17(29)18(30)21(32-13)33-20-16(28)14-11(26)4-8(23)5-12(14)31-19(20)7-1-2-9(24)10(25)3-7/h1-5,13,15,17-18,21-27,29-30H,6H2/t13-,15-,17+,18-,21+/m1/s1</td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">Rutin</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=FIO00589" target="_blank" class="btn">FIO00589</a></td><td class="ca">C27H30O16</td><td class="ca">610.15338</td><td class="ca">MS2</td><td class="ca"> [M+H]+</td><td class="ca">LC-ESI-QTOF</td><td class="ca">0.628953392993</td><td class="ca">InChI=1S/C27H30O16/c1-8-17(32)20(35)22(37)26(40-8)39-7-15-18(33)21(36)23(38)27(42-15)43-25-19(34)16-13(31)5-10(28)6-14(16)41-24(25)9-2-3-11(29)12(30)4-9/h2-6,8,15,17-18,20-23,26-33,35-38H,7H2,1H3/t8-,15+,17-,18+,20+,21-,22+,23+,26+,27-/m0/s1</td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">Quercetin-3-beta-O-galactoside</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=PR020075" target="_blank" class="btn">PR020075</a></td><td class="ca">C21H20O12</td><td class="ca">464.09548</td><td class="ca">MS</td><td class="ca"> [M+H]+</td><td class="ca">LC-ESI-QTOF</td><td class="ca">0.618103117363</td><td class="ca">InChI=1S/C21H20O12/c22-6-13-15(27)17(29)18(30)21(32-13)33-20-16(28)14-11(26)4-8(23)5-12(14)31-19(20)7-1-2-9(24)10(25)3-7/h1-5,13,15,17-18,21-27,29-30H,6H2/t13-,15+,17+,18-,21+/m1/s1</td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">Quercetin-3-O-beta-glucopyranoside</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=PR020078" target="_blank" class="btn">PR020078</a></td><td class="ca">C21H20O12</td><td class="ca">464.09548</td><td class="ca">MS</td><td class="ca"> [M+H]+</td><td class="ca">LC-ESI-QTOF</td><td class="ca">0.609833904994</td><td class="ca">InChI=1S/C21H20O12/c22-6-13-15(27)17(29)18(30)21(32-13)33-20-16(28)14-11(26)4-8(23)5-12(14)31-19(20)7-1-2-9(24)10(25)3-7/h1-5,13,15,17-18,21-27,29-30H,6H2/t13-,15-,17+,18-,21+/m1/s1</td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">Quercetin-3-O-rutinoside</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=PR020080" target="_blank" class="btn">PR020080</a></td><td class="ca">C27H30O16</td><td class="ca">610.15338</td><td class="ca">MS</td><td class="ca"> [M+H]+</td><td class="ca">LC-ESI-QTOF</td><td class="ca">0.593021369395</td><td class="ca">InChI=1S/C27H30O16/c1-8-17(32)20(35)22(37)26(40-8)39-7-15-18(33)21(36)23(38)27(42-15)43-25-19(34)16-13(31)5-10(28)6-14(16)41-24(25)9-2-3-11(29)12(30)4-9/h2-6,8,15,17-18,20-23,26-33,35-38H,7H2,1H3/t8-,15+,17-,18+,20+,21-,22+,23+,26+,27-/m0/s1</td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">Hesperidin</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=FIO00483" target="_blank" class="btn">FIO00483</a></td><td class="ca">C28H34O15</td><td class="ca">610.18977</td><td class="ca">MS2</td><td class="ca"> [M+H]+</td><td class="ca">LC-ESI-QTOF</td><td class="ca">0.591111986992</td><td class="ca">InChI=1S/C28H34O15/c1-10-21(32)23(34)25(36)27(40-10)39-9-19-22(33)24(35)26(37)28(43-19)41-12-6-14(30)20-15(31)8-17(42-18(20)7-12)11-3-4-16(38-2)13(29)5-11/h3-7,10,17,19,21-30,32-37H,8-9H2,1-2H3/t10-,17-,19+,21-,22+,23+,24-,25+,26+,27+,28+/m0/s1</td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">Hesperetin-7-O-neohesperidoside</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=PR020045" target="_blank" class="btn">PR020045</a></td><td class="ca">C28H34O15</td><td class="ca">610.18977</td><td class="ca">MS</td><td class="ca"> [M+H]+</td><td class="ca">LC-ESI-QTOF</td><td class="ca">0.585927069664</td><td class="ca">InChI=1S/C28H34O15/c1-10-21(33)23(35)25(37)27(39-10)43-26-24(36)22(34)19(9-29)42-28(26)40-12-6-14(31)20-15(32)8-17(41-18(20)7-12)11-3-4-16(38-2)13(30)5-11/h3-7,10,17,19,21-31,33-37H,8-9H2,1-2H3/t10-,17-,19+,21-,22+,23+,24-,25+,26+,27-,28+/m0/s1</td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">Hirsutrin</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=TY000168" target="_blank" class="btn">TY000168</a></td><td class="ca">C21H20O12</td><td class="ca">464.09548</td><td class="ca">MS</td><td class="ca">[M+H]+</td><td class="ca">LC-ESI-ITTOF</td><td class="ca">0.571213973695</td><td class="ca">InChI=1S/C21H20O12/c22-6-13-15(27)17(29)18(30)21(32-13)33-20-16(28)14-11(26)4-8(23)5-12(14)31-19(20)7-1-2-9(24)10(25)3-7/h1-5,13,15,17-18,21-27,29-30H,6H2/t13-,15-,17+,18-,21+/m1/s1</td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">Hesperidin</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=FIO00484" target="_blank" class="btn">FIO00484</a></td><td class="ca">C28H34O15</td><td class="ca">610.18977</td><td class="ca">MS2</td><td class="ca"> [M+H]+</td><td class="ca">LC-ESI-QTOF</td><td class="ca">0.526179514801</td><td class="ca">InChI=1S/C28H34O15/c1-10-21(32)23(34)25(36)27(40-10)39-9-19-22(33)24(35)26(37)28(43-19)41-12-6-14(30)20-15(31)8-17(42-18(20)7-12)11-3-4-16(38-2)13(29)5-11/h3-7,10,17,19,21-30,32-37H,8-9H2,1-2H3/t10-,17-,19+,21-,22+,23+,24-,25+,26+,27+,28+/m0/s1</td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">Hesperetin-7-O-rutinoside</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=PR020046" target="_blank" class="btn">PR020046</a></td><td class="ca">C28H34O15</td><td class="ca">610.18977</td><td class="ca">MS</td><td class="ca"> [M+H]+</td><td class="ca">LC-ESI-QTOF</td><td class="ca">0.503808010925</td><td class="ca">InChI=1S/C28H34O15/c1-10-21(32)23(34)25(36)27(40-10)39-9-19-22(33)24(35)26(37)28(43-19)41-12-6-14(30)20-15(31)8-17(42-18(20)7-12)11-3-4-16(38-2)13(29)5-11/h3-7,10,17,19,21-30,32-37H,8-9H2,1-2H3/t10-,17-,19+,21-,22+,23+,24-,25+,26+,27+,28+/m0/s1</td></tr><tr class="green"><td class="ca" >mz_00012</td><td id="12" class="ca" >1</td><td class="ca">467.1065989</td><td class="ca" colspan="9"></td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">Rutin </td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=PB006201" target="_blank" class="btn">PB006201</a></td><td class="ca">C27H30O16</td><td class="ca">610.15338</td><td class="ca">MS2</td><td class="ca"> [M+H]+</td><td class="ca">LC-ESI-QTOF</td><td class="ca">0.718240688151</td><td class="ca">InChI=1S/C27H30O16/c1-8-17(32)20(35)22(37)26(40-8)39-7-15-18(33)21(36)23(38)27(42-15)43-25-19(34)16-13(31)5-10(28)6-14(16)41-24(25)9-2-3-11(29)12(30)4-9/h2-6,8,15,17-18,20-23,26-33,35-38H,7H2,1H3/t8-,15+,17-,18+,20+,21-,22+,23+,26+,27-/m0/s1</td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">Rutin</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=FIO00588" target="_blank" class="btn">FIO00588</a></td><td class="ca">C27H30O16</td><td class="ca">610.15338</td><td class="ca">MS2</td><td class="ca"> [M+H]+</td><td class="ca">LC-ESI-QTOF</td><td class="ca">0.676089256465</td><td class="ca">InChI=1S/C27H30O16/c1-8-17(32)20(35)22(37)26(40-8)39-7-15-18(33)21(36)23(38)27(42-15)43-25-19(34)16-13(31)5-10(28)6-14(16)41-24(25)9-2-3-11(29)12(30)4-9/h2-6,8,15,17-18,20-23,26-33,35-38H,7H2,1H3/t8-,15+,17-,18+,20+,21-,22+,23+,26+,27-/m0/s1</td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">Hyperoside</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=FIO00150" target="_blank" class="btn">FIO00150</a></td><td class="ca">C21H20O12</td><td class="ca">464.09548</td><td class="ca">MS2</td><td class="ca"> [M+H]+</td><td class="ca">LC-ESI-QTOF</td><td class="ca">0.631453810993</td><td class="ca">InChI=1S/C21H20O12/c22-6-13-15(27)17(29)18(30)21(32-13)33-20-16(28)14-11(26)4-8(23)5-12(14)31-19(20)7-1-2-9(24)10(25)3-7/h1-5,13,15,17-18,21-27,29-30H,6H2/t13-,15+,17+,18-,21+/m1/s1</td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">Isoquercitrin</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=TY000218" target="_blank" class="btn">TY000218</a></td><td class="ca">C21H20O12</td><td class="ca">464.09548</td><td class="ca">MS</td><td class="ca">[M+H]+</td><td class="ca">LC-ESI-ITTOF</td><td class="ca">0.630268036021</td><td class="ca">InChI=1S/C21H20O12/c22-6-13-15(27)17(29)18(30)21(32-13)33-20-16(28)14-11(26)4-8(23)5-12(14)31-19(20)7-1-2-9(24)10(25)3-7/h1-5,13,15,17-18,21-27,29-30H,6H2/t13-,15-,17+,18+,21-/m0/s1</td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">Isoquercitrin</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=FIO00160" target="_blank" class="btn">FIO00160</a></td><td class="ca">C21H20O12</td><td class="ca">464.09548</td><td class="ca">MS2</td><td class="ca"> [M+H]+</td><td class="ca">LC-ESI-QTOF</td><td class="ca">0.629320319716</td><td class="ca">InChI=1S/C21H20O12/c22-6-13-15(27)17(29)18(30)21(32-13)33-20-16(28)14-11(26)4-8(23)5-12(14)31-19(20)7-1-2-9(24)10(25)3-7/h1-5,13,15,17-18,21-27,29-30H,6H2/t13-,15-,17+,18-,21+/m1/s1</td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">Rutin</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=FIO00589" target="_blank" class="btn">FIO00589</a></td><td class="ca">C27H30O16</td><td class="ca">610.15338</td><td class="ca">MS2</td><td class="ca"> [M+H]+</td><td class="ca">LC-ESI-QTOF</td><td class="ca">0.628953392993</td><td class="ca">InChI=1S/C27H30O16/c1-8-17(32)20(35)22(37)26(40-8)39-7-15-18(33)21(36)23(38)27(42-15)43-25-19(34)16-13(31)5-10(28)6-14(16)41-24(25)9-2-3-11(29)12(30)4-9/h2-6,8,15,17-18,20-23,26-33,35-38H,7H2,1H3/t8-,15+,17-,18+,20+,21-,22+,23+,26+,27-/m0/s1</td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">Quercetin-3-beta-O-galactoside</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=PR020075" target="_blank" class="btn">PR020075</a></td><td class="ca">C21H20O12</td><td class="ca">464.09548</td><td class="ca">MS</td><td class="ca"> [M+H]+</td><td class="ca">LC-ESI-QTOF</td><td class="ca">0.618103117363</td><td class="ca">InChI=1S/C21H20O12/c22-6-13-15(27)17(29)18(30)21(32-13)33-20-16(28)14-11(26)4-8(23)5-12(14)31-19(20)7-1-2-9(24)10(25)3-7/h1-5,13,15,17-18,21-27,29-30H,6H2/t13-,15+,17+,18-,21+/m1/s1</td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">Quercetin-3-O-beta-glucopyranoside</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=PR020078" target="_blank" class="btn">PR020078</a></td><td class="ca">C21H20O12</td><td class="ca">464.09548</td><td class="ca">MS</td><td class="ca"> [M+H]+</td><td class="ca">LC-ESI-QTOF</td><td class="ca">0.609833904994</td><td class="ca">InChI=1S/C21H20O12/c22-6-13-15(27)17(29)18(30)21(32-13)33-20-16(28)14-11(26)4-8(23)5-12(14)31-19(20)7-1-2-9(24)10(25)3-7/h1-5,13,15,17-18,21-27,29-30H,6H2/t13-,15-,17+,18-,21+/m1/s1</td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">Hesperidin</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=FIO00483" target="_blank" class="btn">FIO00483</a></td><td class="ca">C28H34O15</td><td class="ca">610.18977</td><td class="ca">MS2</td><td class="ca"> [M+H]+</td><td class="ca">LC-ESI-QTOF</td><td class="ca">0.591111986992</td><td class="ca">InChI=1S/C28H34O15/c1-10-21(32)23(34)25(36)27(40-10)39-9-19-22(33)24(35)26(37)28(43-19)41-12-6-14(30)20-15(31)8-17(42-18(20)7-12)11-3-4-16(38-2)13(29)5-11/h3-7,10,17,19,21-30,32-37H,8-9H2,1-2H3/t10-,17-,19+,21-,22+,23+,24-,25+,26+,27+,28+/m0/s1</td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">Hirsutrin</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=TY000168" target="_blank" class="btn">TY000168</a></td><td class="ca">C21H20O12</td><td class="ca">464.09548</td><td class="ca">MS</td><td class="ca">[M+H]+</td><td class="ca">LC-ESI-ITTOF</td><td class="ca">0.571213973695</td><td class="ca">InChI=1S/C21H20O12/c22-6-13-15(27)17(29)18(30)21(32-13)33-20-16(28)14-11(26)4-8(23)5-12(14)31-19(20)7-1-2-9(24)10(25)3-7/h1-5,13,15,17-18,21-27,29-30H,6H2/t13-,15-,17+,18-,21+/m1/s1</td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">Hesperidin</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=FIO00484" target="_blank" class="btn">FIO00484</a></td><td class="ca">C28H34O15</td><td class="ca">610.18977</td><td class="ca">MS2</td><td class="ca"> [M+H]+</td><td class="ca">LC-ESI-QTOF</td><td class="ca">0.526179514801</td><td class="ca">InChI=1S/C28H34O15/c1-10-21(32)23(34)25(36)27(40-10)39-9-19-22(33)24(35)26(37)28(43-19)41-12-6-14(30)20-15(31)8-17(42-18(20)7-12)11-3-4-16(38-2)13(29)5-11/h3-7,10,17,19,21-30,32-37H,8-9H2,1-2H3/t10-,17-,19+,21-,22+,23+,24-,25+,26+,27+,28+/m0/s1</td></tr></tbody><tbody class="select" id="page-id-4"><tr class="white"><td class="ca" >mz_00013</td><td id="13" class="ca" >1</td><td class="ca">503.0443595</td><td class="ca" colspan="9"></td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">UNKNOWN</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=" target="_blank" class="btn">NONE</a></td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">0</td><td class="ca">n/a</td></tr><tr class="green"><td class="ca" >mz_00014</td><td id="14" class="ca" >1</td><td class="ca">519.0203434</td><td class="ca" colspan="9"></td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">UNKNOWN</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=" target="_blank" class="btn">NONE</a></td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">0</td><td class="ca">n/a</td></tr><tr class="white"><td class="ca" >mz_00015</td><td id="15" class="ca" >1</td><td class="ca">520.0216826</td><td class="ca" colspan="9"></td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">UNKNOWN</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=" target="_blank" class="btn">NONE</a></td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">0</td><td class="ca">n/a</td></tr><tr class="green"><td class="ca" >mz_00016</td><td id="16" class="ca" >1</td><td class="ca">611.1574452</td><td class="ca" colspan="9"></td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">Rutin</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=TY000246" target="_blank" class="btn">TY000246</a></td><td class="ca">C27H30O16</td><td class="ca">610.15338</td><td class="ca">MS</td><td class="ca">[M+H]+</td><td class="ca">LC-ESI-ITTOF</td><td class="ca">0.722183932245</td><td class="ca">InChI=1S/C27H30O16/c1-8-17(32)20(35)22(37)26(40-8)39-7-15-18(33)21(36)23(38)27(42-15)43-25-19(34)16-13(31)5-10(28)6-14(16)41-24(25)9-2-3-11(29)12(30)4-9/h2-6,8,15,17-18,20-23,26-33,35-38H,7H2,1H3/t8-,15+,17-,18+,20+,21-,22+,23+,26+,27-/m0/s1</td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">Rutin </td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=PB006201" target="_blank" class="btn">PB006201</a></td><td class="ca">C27H30O16</td><td class="ca">610.15338</td><td class="ca">MS2</td><td class="ca"> [M+H]+</td><td class="ca">LC-ESI-QTOF</td><td class="ca">0.718240688151</td><td class="ca">InChI=1S/C27H30O16/c1-8-17(32)20(35)22(37)26(40-8)39-7-15-18(33)21(36)23(38)27(42-15)43-25-19(34)16-13(31)5-10(28)6-14(16)41-24(25)9-2-3-11(29)12(30)4-9/h2-6,8,15,17-18,20-23,26-33,35-38H,7H2,1H3/t8-,15+,17-,18+,20+,21-,22+,23+,26+,27-/m0/s1</td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">Rutin</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=FIO00588" target="_blank" class="btn">FIO00588</a></td><td class="ca">C27H30O16</td><td class="ca">610.15338</td><td class="ca">MS2</td><td class="ca"> [M+H]+</td><td class="ca">LC-ESI-QTOF</td><td class="ca">0.676089256465</td><td class="ca">InChI=1S/C27H30O16/c1-8-17(32)20(35)22(37)26(40-8)39-7-15-18(33)21(36)23(38)27(42-15)43-25-19(34)16-13(31)5-10(28)6-14(16)41-24(25)9-2-3-11(29)12(30)4-9/h2-6,8,15,17-18,20-23,26-33,35-38H,7H2,1H3/t8-,15+,17-,18+,20+,21-,22+,23+,26+,27-/m0/s1</td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">Rutin</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=FIO00589" target="_blank" class="btn">FIO00589</a></td><td class="ca">C27H30O16</td><td class="ca">610.15338</td><td class="ca">MS2</td><td class="ca"> [M+H]+</td><td class="ca">LC-ESI-QTOF</td><td class="ca">0.628953392993</td><td class="ca">InChI=1S/C27H30O16/c1-8-17(32)20(35)22(37)26(40-8)39-7-15-18(33)21(36)23(38)27(42-15)43-25-19(34)16-13(31)5-10(28)6-14(16)41-24(25)9-2-3-11(29)12(30)4-9/h2-6,8,15,17-18,20-23,26-33,35-38H,7H2,1H3/t8-,15+,17-,18+,20+,21-,22+,23+,26+,27-/m0/s1</td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">Quercetin-3-O-rutinoside</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=PR020080" target="_blank" class="btn">PR020080</a></td><td class="ca">C27H30O16</td><td class="ca">610.15338</td><td class="ca">MS</td><td class="ca"> [M+H]+</td><td class="ca">LC-ESI-QTOF</td><td class="ca">0.593021369395</td><td class="ca">InChI=1S/C27H30O16/c1-8-17(32)20(35)22(37)26(40-8)39-7-15-18(33)21(36)23(38)27(42-15)43-25-19(34)16-13(31)5-10(28)6-14(16)41-24(25)9-2-3-11(29)12(30)4-9/h2-6,8,15,17-18,20-23,26-33,35-38H,7H2,1H3/t8-,15+,17-,18+,20+,21-,22+,23+,26+,27-/m0/s1</td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">Hesperidin</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=FIO00483" target="_blank" class="btn">FIO00483</a></td><td class="ca">C28H34O15</td><td class="ca">610.18977</td><td class="ca">MS2</td><td class="ca"> [M+H]+</td><td class="ca">LC-ESI-QTOF</td><td class="ca">0.591111986992</td><td class="ca">InChI=1S/C28H34O15/c1-10-21(32)23(34)25(36)27(40-10)39-9-19-22(33)24(35)26(37)28(43-19)41-12-6-14(30)20-15(31)8-17(42-18(20)7-12)11-3-4-16(38-2)13(29)5-11/h3-7,10,17,19,21-30,32-37H,8-9H2,1-2H3/t10-,17-,19+,21-,22+,23+,24-,25+,26+,27+,28+/m0/s1</td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">Hesperetin-7-O-neohesperidoside</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=PR020045" target="_blank" class="btn">PR020045</a></td><td class="ca">C28H34O15</td><td class="ca">610.18977</td><td class="ca">MS</td><td class="ca"> [M+H]+</td><td class="ca">LC-ESI-QTOF</td><td class="ca">0.585927069664</td><td class="ca">InChI=1S/C28H34O15/c1-10-21(33)23(35)25(37)27(39-10)43-26-24(36)22(34)19(9-29)42-28(26)40-12-6-14(31)20-15(32)8-17(41-18(20)7-12)11-3-4-16(38-2)13(30)5-11/h3-7,10,17,19,21-31,33-37H,8-9H2,1-2H3/t10-,17-,19+,21-,22+,23+,24-,25+,26+,27-,28+/m0/s1</td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">Hesperetin-7-O-rutinoside</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=PR020046" target="_blank" class="btn">PR020046</a></td><td class="ca">C28H34O15</td><td class="ca">610.18977</td><td class="ca">MS</td><td class="ca"> [M+H]+</td><td class="ca">LC-ESI-QTOF</td><td class="ca">0.503808010925</td><td class="ca">InChI=1S/C28H34O15/c1-10-21(32)23(34)25(36)27(40-10)39-9-19-22(33)24(35)26(37)28(43-19)41-12-6-14(30)20-15(31)8-17(42-18(20)7-12)11-3-4-16(38-2)13(29)5-11/h3-7,10,17,19,21-30,32-37H,8-9H2,1-2H3/t10-,17-,19+,21-,22+,23+,24-,25+,26+,27+,28+/m0/s1</td></tr></tbody><tbody class="select" id="page-id-5"><tr class="white"><td class="ca" >mz_00017</td><td id="17" class="ca" >1</td><td class="ca">612.1618463</td><td class="ca" colspan="9"></td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">Rutin</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=TY000246" target="_blank" class="btn">TY000246</a></td><td class="ca">C27H30O16</td><td class="ca">610.15338</td><td class="ca">MS</td><td class="ca">[M+H]+</td><td class="ca">LC-ESI-ITTOF</td><td class="ca">0.722183932245</td><td class="ca">InChI=1S/C27H30O16/c1-8-17(32)20(35)22(37)26(40-8)39-7-15-18(33)21(36)23(38)27(42-15)43-25-19(34)16-13(31)5-10(28)6-14(16)41-24(25)9-2-3-11(29)12(30)4-9/h2-6,8,15,17-18,20-23,26-33,35-38H,7H2,1H3/t8-,15+,17-,18+,20+,21-,22+,23+,26+,27-/m0/s1</td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">Rutin </td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=PB006201" target="_blank" class="btn">PB006201</a></td><td class="ca">C27H30O16</td><td class="ca">610.15338</td><td class="ca">MS2</td><td class="ca"> [M+H]+</td><td class="ca">LC-ESI-QTOF</td><td class="ca">0.718240688151</td><td class="ca">InChI=1S/C27H30O16/c1-8-17(32)20(35)22(37)26(40-8)39-7-15-18(33)21(36)23(38)27(42-15)43-25-19(34)16-13(31)5-10(28)6-14(16)41-24(25)9-2-3-11(29)12(30)4-9/h2-6,8,15,17-18,20-23,26-33,35-38H,7H2,1H3/t8-,15+,17-,18+,20+,21-,22+,23+,26+,27-/m0/s1</td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">Rutin</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=FIO00588" target="_blank" class="btn">FIO00588</a></td><td class="ca">C27H30O16</td><td class="ca">610.15338</td><td class="ca">MS2</td><td class="ca"> [M+H]+</td><td class="ca">LC-ESI-QTOF</td><td class="ca">0.676089256465</td><td class="ca">InChI=1S/C27H30O16/c1-8-17(32)20(35)22(37)26(40-8)39-7-15-18(33)21(36)23(38)27(42-15)43-25-19(34)16-13(31)5-10(28)6-14(16)41-24(25)9-2-3-11(29)12(30)4-9/h2-6,8,15,17-18,20-23,26-33,35-38H,7H2,1H3/t8-,15+,17-,18+,20+,21-,22+,23+,26+,27-/m0/s1</td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">Quercetin-3-O-rutinoside</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=PR020080" target="_blank" class="btn">PR020080</a></td><td class="ca">C27H30O16</td><td class="ca">610.15338</td><td class="ca">MS</td><td class="ca"> [M+H]+</td><td class="ca">LC-ESI-QTOF</td><td class="ca">0.593021369395</td><td class="ca">InChI=1S/C27H30O16/c1-8-17(32)20(35)22(37)26(40-8)39-7-15-18(33)21(36)23(38)27(42-15)43-25-19(34)16-13(31)5-10(28)6-14(16)41-24(25)9-2-3-11(29)12(30)4-9/h2-6,8,15,17-18,20-23,26-33,35-38H,7H2,1H3/t8-,15+,17-,18+,20+,21-,22+,23+,26+,27-/m0/s1</td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">Hesperidin</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=FIO00483" target="_blank" class="btn">FIO00483</a></td><td class="ca">C28H34O15</td><td class="ca">610.18977</td><td class="ca">MS2</td><td class="ca"> [M+H]+</td><td class="ca">LC-ESI-QTOF</td><td class="ca">0.591111986992</td><td class="ca">InChI=1S/C28H34O15/c1-10-21(32)23(34)25(36)27(40-10)39-9-19-22(33)24(35)26(37)28(43-19)41-12-6-14(30)20-15(31)8-17(42-18(20)7-12)11-3-4-16(38-2)13(29)5-11/h3-7,10,17,19,21-30,32-37H,8-9H2,1-2H3/t10-,17-,19+,21-,22+,23+,24-,25+,26+,27+,28+/m0/s1</td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">Hesperetin-7-O-neohesperidoside</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=PR020045" target="_blank" class="btn">PR020045</a></td><td class="ca">C28H34O15</td><td class="ca">610.18977</td><td class="ca">MS</td><td class="ca"> [M+H]+</td><td class="ca">LC-ESI-QTOF</td><td class="ca">0.585927069664</td><td class="ca">InChI=1S/C28H34O15/c1-10-21(33)23(35)25(37)27(39-10)43-26-24(36)22(34)19(9-29)42-28(26)40-12-6-14(31)20-15(32)8-17(41-18(20)7-12)11-3-4-16(38-2)13(30)5-11/h3-7,10,17,19,21-31,33-37H,8-9H2,1-2H3/t10-,17-,19+,21-,22+,23+,24-,25+,26+,27-,28+/m0/s1</td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">Hesperetin-7-O-rutinoside</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=PR020046" target="_blank" class="btn">PR020046</a></td><td class="ca">C28H34O15</td><td class="ca">610.18977</td><td class="ca">MS</td><td class="ca"> [M+H]+</td><td class="ca">LC-ESI-QTOF</td><td class="ca">0.503808010925</td><td class="ca">InChI=1S/C28H34O15/c1-10-21(32)23(34)25(36)27(40-10)39-9-19-22(33)24(35)26(37)28(43-19)41-12-6-14(30)20-15(31)8-17(42-18(20)7-12)11-3-4-16(38-2)13(29)5-11/h3-7,10,17,19,21-30,32-37H,8-9H2,1-2H3/t10-,17-,19+,21-,22+,23+,24-,25+,26+,27+,28+/m0/s1</td></tr><tr class="green"><td class="ca" >mz_00018</td><td id="18" class="ca" >1</td><td class="ca">613.1621027</td><td class="ca" colspan="9"></td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">Rutin</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=TY000246" target="_blank" class="btn">TY000246</a></td><td class="ca">C27H30O16</td><td class="ca">610.15338</td><td class="ca">MS</td><td class="ca">[M+H]+</td><td class="ca">LC-ESI-ITTOF</td><td class="ca">0.722183932245</td><td class="ca">InChI=1S/C27H30O16/c1-8-17(32)20(35)22(37)26(40-8)39-7-15-18(33)21(36)23(38)27(42-15)43-25-19(34)16-13(31)5-10(28)6-14(16)41-24(25)9-2-3-11(29)12(30)4-9/h2-6,8,15,17-18,20-23,26-33,35-38H,7H2,1H3/t8-,15+,17-,18+,20+,21-,22+,23+,26+,27-/m0/s1</td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">Rutin </td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=PB006201" target="_blank" class="btn">PB006201</a></td><td class="ca">C27H30O16</td><td class="ca">610.15338</td><td class="ca">MS2</td><td class="ca"> [M+H]+</td><td class="ca">LC-ESI-QTOF</td><td class="ca">0.718240688151</td><td class="ca">InChI=1S/C27H30O16/c1-8-17(32)20(35)22(37)26(40-8)39-7-15-18(33)21(36)23(38)27(42-15)43-25-19(34)16-13(31)5-10(28)6-14(16)41-24(25)9-2-3-11(29)12(30)4-9/h2-6,8,15,17-18,20-23,26-33,35-38H,7H2,1H3/t8-,15+,17-,18+,20+,21-,22+,23+,26+,27-/m0/s1</td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">Rutin</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=FIO00588" target="_blank" class="btn">FIO00588</a></td><td class="ca">C27H30O16</td><td class="ca">610.15338</td><td class="ca">MS2</td><td class="ca"> [M+H]+</td><td class="ca">LC-ESI-QTOF</td><td class="ca">0.676089256465</td><td class="ca">InChI=1S/C27H30O16/c1-8-17(32)20(35)22(37)26(40-8)39-7-15-18(33)21(36)23(38)27(42-15)43-25-19(34)16-13(31)5-10(28)6-14(16)41-24(25)9-2-3-11(29)12(30)4-9/h2-6,8,15,17-18,20-23,26-33,35-38H,7H2,1H3/t8-,15+,17-,18+,20+,21-,22+,23+,26+,27-/m0/s1</td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">Quercetin-3-O-rutinoside</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=PR020080" target="_blank" class="btn">PR020080</a></td><td class="ca">C27H30O16</td><td class="ca">610.15338</td><td class="ca">MS</td><td class="ca"> [M+H]+</td><td class="ca">LC-ESI-QTOF</td><td class="ca">0.593021369395</td><td class="ca">InChI=1S/C27H30O16/c1-8-17(32)20(35)22(37)26(40-8)39-7-15-18(33)21(36)23(38)27(42-15)43-25-19(34)16-13(31)5-10(28)6-14(16)41-24(25)9-2-3-11(29)12(30)4-9/h2-6,8,15,17-18,20-23,26-33,35-38H,7H2,1H3/t8-,15+,17-,18+,20+,21-,22+,23+,26+,27-/m0/s1</td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">Hesperidin</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=FIO00483" target="_blank" class="btn">FIO00483</a></td><td class="ca">C28H34O15</td><td class="ca">610.18977</td><td class="ca">MS2</td><td class="ca"> [M+H]+</td><td class="ca">LC-ESI-QTOF</td><td class="ca">0.591111986992</td><td class="ca">InChI=1S/C28H34O15/c1-10-21(32)23(34)25(36)27(40-10)39-9-19-22(33)24(35)26(37)28(43-19)41-12-6-14(30)20-15(31)8-17(42-18(20)7-12)11-3-4-16(38-2)13(29)5-11/h3-7,10,17,19,21-30,32-37H,8-9H2,1-2H3/t10-,17-,19+,21-,22+,23+,24-,25+,26+,27+,28+/m0/s1</td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">Hesperetin-7-O-neohesperidoside</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=PR020045" target="_blank" class="btn">PR020045</a></td><td class="ca">C28H34O15</td><td class="ca">610.18977</td><td class="ca">MS</td><td class="ca"> [M+H]+</td><td class="ca">LC-ESI-QTOF</td><td class="ca">0.585927069664</td><td class="ca">InChI=1S/C28H34O15/c1-10-21(33)23(35)25(37)27(39-10)43-26-24(36)22(34)19(9-29)42-28(26)40-12-6-14(31)20-15(32)8-17(41-18(20)7-12)11-3-4-16(38-2)13(30)5-11/h3-7,10,17,19,21-31,33-37H,8-9H2,1-2H3/t10-,17-,19+,21-,22+,23+,24-,25+,26+,27-,28+/m0/s1</td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">Hesperetin-7-O-rutinoside</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=PR020046" target="_blank" class="btn">PR020046</a></td><td class="ca">C28H34O15</td><td class="ca">610.18977</td><td class="ca">MS</td><td class="ca"> [M+H]+</td><td class="ca">LC-ESI-QTOF</td><td class="ca">0.503808010925</td><td class="ca">InChI=1S/C28H34O15/c1-10-21(32)23(34)25(36)27(40-10)39-9-19-22(33)24(35)26(37)28(43-19)41-12-6-14(30)20-15(31)8-17(42-18(20)7-12)11-3-4-16(38-2)13(29)5-11/h3-7,10,17,19,21-30,32-37H,8-9H2,1-2H3/t10-,17-,19+,21-,22+,23+,24-,25+,26+,27+,28+/m0/s1</td></tr><tr class="white"><td class="ca" >mz_00019</td><td id="19" class="ca" >1</td><td class="ca">630.6266888</td><td class="ca" colspan="9"></td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">UNKNOWN</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=" target="_blank" class="btn">NONE</a></td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">0</td><td class="ca">n/a</td></tr><tr class="green"><td class="ca" >mz_00020</td><td id="20" class="ca" >1</td><td class="ca">631.1270815</td><td class="ca" colspan="9"></td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">UNKNOWN</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=" target="_blank" class="btn">NONE</a></td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">0</td><td class="ca">n/a</td></tr></tbody><tbody class="select" id="page-id-6"><tr class="white"><td class="ca" >mz_00021</td><td id="21" class="ca" >1</td><td class="ca">633.1395015</td><td class="ca" colspan="9"></td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">Rutin</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=TY000246" target="_blank" class="btn">TY000246</a></td><td class="ca">C27H30O16</td><td class="ca">610.15338</td><td class="ca">MS</td><td class="ca">[M+H]+</td><td class="ca">LC-ESI-ITTOF</td><td class="ca">0.722183932245</td><td class="ca">InChI=1S/C27H30O16/c1-8-17(32)20(35)22(37)26(40-8)39-7-15-18(33)21(36)23(38)27(42-15)43-25-19(34)16-13(31)5-10(28)6-14(16)41-24(25)9-2-3-11(29)12(30)4-9/h2-6,8,15,17-18,20-23,26-33,35-38H,7H2,1H3/t8-,15+,17-,18+,20+,21-,22+,23+,26+,27-/m0/s1</td></tr><tr class="green"><td class="ca" >mz_00022</td><td id="22" class="ca" >1</td><td class="ca">634.1424296</td><td class="ca" colspan="9"></td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">UNKNOWN</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=" target="_blank" class="btn">NONE</a></td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">0</td><td class="ca">n/a</td></tr><tr class="white"><td class="ca" >mz_00023</td><td id="23" class="ca" >1</td><td class="ca">635.1427623</td><td class="ca" colspan="9"></td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">UNKNOWN</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=" target="_blank" class="btn">NONE</a></td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">0</td><td class="ca">n/a</td></tr><tr class="green"><td class="ca" >mz_00024</td><td id="24" class="ca" >1</td><td class="ca">636.1507892</td><td class="ca" colspan="9"></td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">UNKNOWN</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=" target="_blank" class="btn">NONE</a></td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">0</td><td class="ca">n/a</td></tr></tbody><tbody class="select" id="page-id-7"><tr class="white"><td class="ca" >mz_00025</td><td id="25" class="ca" >1</td><td class="ca">649.1057016</td><td class="ca" colspan="9"></td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">UNKNOWN</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=" target="_blank" class="btn">NONE</a></td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">0</td><td class="ca">n/a</td></tr><tr class="green"><td class="ca" >mz_00026</td><td id="26" class="ca" >1</td><td class="ca">649.6002579</td><td class="ca" colspan="9"></td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">UNKNOWN</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=" target="_blank" class="btn">NONE</a></td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">0</td><td class="ca">n/a</td></tr><tr class="white"><td class="ca" >mz_00027</td><td id="27" class="ca" >1</td><td class="ca">650.1081035</td><td class="ca" colspan="9"></td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">UNKNOWN</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=" target="_blank" class="btn">NONE</a></td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">0</td><td class="ca">n/a</td></tr><tr class="green"><td class="ca" >mz_00028</td><td id="28" class="ca" >1</td><td class="ca">655.1225036</td><td class="ca" colspan="9"></td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">UNKNOWN</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=" target="_blank" class="btn">NONE</a></td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">0</td><td class="ca">n/a</td></tr></tbody><tbody class="select" id="page-id-8"><tr class="white"><td class="ca" >mz_00029</td><td id="29" class="ca" >1</td><td class="ca">717.0893975</td><td class="ca" colspan="9"></td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">UNKNOWN</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=" target="_blank" class="btn">NONE</a></td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">0</td><td class="ca">n/a</td></tr><tr class="green"><td class="ca" >mz_00030</td><td id="30" class="ca" >2</td><td class="ca">135.0459028</td><td class="ca" colspan="9"></td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">1-ETHYL-2,3-DIMETHYLBENZENE</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=JP012276" target="_blank" class="btn">JP012276</a></td><td class="ca">C10H14</td><td class="ca">134.10955</td><td class="ca">MS</td><td class="ca">MS</td><td class="ca">CI-B</td><td class="ca">0.842444634941</td><td class="ca">InChI=1S/C10H14/c1-4-10-7-5-6-8(2)9(10)3/h5-7H,4H2,1-3H3</td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">1,2-DIETHYLBENZENE</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=JP012273" target="_blank" class="btn">JP012273</a></td><td class="ca">C10H14</td><td class="ca">134.10955</td><td class="ca">MS</td><td class="ca">MS</td><td class="ca">CI-B</td><td class="ca">0.834834020699</td><td class="ca">InChI=1S/C10H14/c1-3-9-7-5-6-8-10(9)4-2/h5-8H,3-4H2,1-2H3</td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">1,3-DIETHYLBENZENE</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=JP012274" target="_blank" class="btn">JP012274</a></td><td class="ca">C10H14</td><td class="ca">134.10955</td><td class="ca">MS</td><td class="ca">MS</td><td class="ca">CI-B</td><td class="ca">0.825082890799</td><td class="ca">InChI=1S/C10H14/c1-3-9-6-5-7-10(4-2)8-9/h5-8H,3-4H2,1-2H3</td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">1-ETHYL-3,5-DIMETHYLBENZENE</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=JP012279" target="_blank" class="btn">JP012279</a></td><td class="ca">C10H14</td><td class="ca">134.10955</td><td class="ca">MS</td><td class="ca">MS</td><td class="ca">CI-B</td><td class="ca">0.822346316415</td><td class="ca">InChI=1S/C10H14/c1-4-10-6-8(2)5-9(3)7-10/h5-7H,4H2,1-3H3</td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">1,4-DIETHYLBENZENE</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=JP012275" target="_blank" class="btn">JP012275</a></td><td class="ca">C10H14</td><td class="ca">134.10955</td><td class="ca">MS</td><td class="ca">MS</td><td class="ca">CI-B</td><td class="ca">0.812855498092</td><td class="ca">InChI=1S/C10H14/c1-3-9-5-7-10(4-2)8-6-9/h5-8H,3-4H2,1-2H3</td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">1-ETHYL-3,4-DIMETHYLBENZENE</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=JP012277" target="_blank" class="btn">JP012277</a></td><td class="ca">C10H14</td><td class="ca">134.10955</td><td class="ca">MS</td><td class="ca">MS</td><td class="ca">CI-B</td><td class="ca">0.809347489341</td><td class="ca">InChI=1S/C10H14/c1-4-10-6-5-8(2)9(3)7-10/h5-7H,4H2,1-3H3</td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">2-METHYL-1-PROPYLBENZENE</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=JP012267" target="_blank" class="btn">JP012267</a></td><td class="ca">C10H14</td><td class="ca">134.10955</td><td class="ca">MS</td><td class="ca">MS</td><td class="ca">CI-B</td><td class="ca">0.793494288532</td><td class="ca">InChI=1S/C10H14/c1-3-6-10-8-5-4-7-9(10)2/h4-5,7-8H,3,6H2,1-2H3</td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">3-METHYL-1-PROPYLBENZENE</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=JP012268" target="_blank" class="btn">JP012268</a></td><td class="ca">C10H14</td><td class="ca">134.10955</td><td class="ca">MS</td><td class="ca">MS</td><td class="ca">CI-B</td><td class="ca">0.771842678731</td><td class="ca">InChI=1S/C10H14/c1-3-5-10-7-4-6-9(2)8-10/h4,6-8H,3,5H2,1-2H3</td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">4-METHYL-1-PROPYLBENZENE</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=JP012269" target="_blank" class="btn">JP012269</a></td><td class="ca">C10H14</td><td class="ca">134.10955</td><td class="ca">MS</td><td class="ca">MS</td><td class="ca">CI-B</td><td class="ca">0.766089270107</td><td class="ca">InChI=1S/C10H14/c1-3-4-10-7-5-9(2)6-8-10/h5-8H,3-4H2,1-2H3</td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">BUTYLBENZENE</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=JP012263" target="_blank" class="btn">JP012263</a></td><td class="ca">C10H14</td><td class="ca">134.10955</td><td class="ca">MS</td><td class="ca">MS</td><td class="ca">CI-B</td><td class="ca">0.721608041747</td><td class="ca">InChI=1S/C10H14/c1-2-3-7-10-8-5-4-6-9-10/h4-6,8-9H,2-3,7H2,1H3</td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">5-METHYL-1,3-DIISOPROPYLBENZENE</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=JP012297" target="_blank" class="btn">JP012297</a></td><td class="ca">C13H20</td><td class="ca">176.15650</td><td class="ca">MS</td><td class="ca">MS</td><td class="ca">CI-B</td><td class="ca">0.502725943227</td><td class="ca">InChI=1S/C13H20/c1-9(2)12-6-11(5)7-13(8-12)10(3)4/h6-10H,1-5H3</td></tr><tr class="white"><td class="ca" >mz_00031</td><td id="31" class="ca" >2</td><td class="ca">136.0490744</td><td class="ca" colspan="9"></td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">1-ETHYL-2,3-DIMETHYLBENZENE</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=JP012276" target="_blank" class="btn">JP012276</a></td><td class="ca">C10H14</td><td class="ca">134.10955</td><td class="ca">MS</td><td class="ca">MS</td><td class="ca">CI-B</td><td class="ca">0.842444634941</td><td class="ca">InChI=1S/C10H14/c1-4-10-7-5-6-8(2)9(10)3/h5-7H,4H2,1-3H3</td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">1,2-DIETHYLBENZENE</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=JP012273" target="_blank" class="btn">JP012273</a></td><td class="ca">C10H14</td><td class="ca">134.10955</td><td class="ca">MS</td><td class="ca">MS</td><td class="ca">CI-B</td><td class="ca">0.834834020699</td><td class="ca">InChI=1S/C10H14/c1-3-9-7-5-6-8-10(9)4-2/h5-8H,3-4H2,1-2H3</td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">1,3-DIETHYLBENZENE</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=JP012274" target="_blank" class="btn">JP012274</a></td><td class="ca">C10H14</td><td class="ca">134.10955</td><td class="ca">MS</td><td class="ca">MS</td><td class="ca">CI-B</td><td class="ca">0.825082890799</td><td class="ca">InChI=1S/C10H14/c1-3-9-6-5-7-10(4-2)8-9/h5-8H,3-4H2,1-2H3</td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">1-ETHYL-3,5-DIMETHYLBENZENE</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=JP012279" target="_blank" class="btn">JP012279</a></td><td class="ca">C10H14</td><td class="ca">134.10955</td><td class="ca">MS</td><td class="ca">MS</td><td class="ca">CI-B</td><td class="ca">0.822346316415</td><td class="ca">InChI=1S/C10H14/c1-4-10-6-8(2)5-9(3)7-10/h5-7H,4H2,1-3H3</td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">1,4-DIETHYLBENZENE</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=JP012275" target="_blank" class="btn">JP012275</a></td><td class="ca">C10H14</td><td class="ca">134.10955</td><td class="ca">MS</td><td class="ca">MS</td><td class="ca">CI-B</td><td class="ca">0.812855498092</td><td class="ca">InChI=1S/C10H14/c1-3-9-5-7-10(4-2)8-6-9/h5-8H,3-4H2,1-2H3</td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">1-ETHYL-3,4-DIMETHYLBENZENE</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=JP012277" target="_blank" class="btn">JP012277</a></td><td class="ca">C10H14</td><td class="ca">134.10955</td><td class="ca">MS</td><td class="ca">MS</td><td class="ca">CI-B</td><td class="ca">0.809347489341</td><td class="ca">InChI=1S/C10H14/c1-4-10-6-5-8(2)9(3)7-10/h5-7H,4H2,1-3H3</td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">2-METHYL-1-PROPYLBENZENE</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=JP012267" target="_blank" class="btn">JP012267</a></td><td class="ca">C10H14</td><td class="ca">134.10955</td><td class="ca">MS</td><td class="ca">MS</td><td class="ca">CI-B</td><td class="ca">0.793494288532</td><td class="ca">InChI=1S/C10H14/c1-3-6-10-8-5-4-7-9(10)2/h4-5,7-8H,3,6H2,1-2H3</td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">3-METHYL-1-PROPYLBENZENE</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=JP012268" target="_blank" class="btn">JP012268</a></td><td class="ca">C10H14</td><td class="ca">134.10955</td><td class="ca">MS</td><td class="ca">MS</td><td class="ca">CI-B</td><td class="ca">0.771842678731</td><td class="ca">InChI=1S/C10H14/c1-3-5-10-7-4-6-9(2)8-10/h4,6-8H,3,5H2,1-2H3</td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">4-METHYL-1-PROPYLBENZENE</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=JP012269" target="_blank" class="btn">JP012269</a></td><td class="ca">C10H14</td><td class="ca">134.10955</td><td class="ca">MS</td><td class="ca">MS</td><td class="ca">CI-B</td><td class="ca">0.766089270107</td><td class="ca">InChI=1S/C10H14/c1-3-4-10-7-5-9(2)6-8-10/h5-8H,3-4H2,1-2H3</td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">BUTYLBENZENE</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=JP012263" target="_blank" class="btn">JP012263</a></td><td class="ca">C10H14</td><td class="ca">134.10955</td><td class="ca">MS</td><td class="ca">MS</td><td class="ca">CI-B</td><td class="ca">0.721608041747</td><td class="ca">InChI=1S/C10H14/c1-2-3-7-10-8-5-4-6-9-10/h4-6,8-9H,2-3,7H2,1H3</td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">5-METHYL-1,3-DIISOPROPYLBENZENE</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=JP012297" target="_blank" class="btn">JP012297</a></td><td class="ca">C13H20</td><td class="ca">176.15650</td><td class="ca">MS</td><td class="ca">MS</td><td class="ca">CI-B</td><td class="ca">0.502725943227</td><td class="ca">InChI=1S/C13H20/c1-9(2)12-6-11(5)7-13(8-12)10(3)4/h6-10H,1-5H3</td></tr><tr class="green"><td class="ca" >mz_00032</td><td id="32" class="ca" >2</td><td class="ca">153.0565924</td><td class="ca" colspan="9"></td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">UNKNOWN</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=" target="_blank" class="btn">NONE</a></td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">0</td><td class="ca">n/a</td></tr></tbody><tbody class="select" id="page-id-9"><tr class="white"><td class="ca" >mz_00033</td><td id="33" class="ca" >2</td><td class="ca">175.0362187</td><td class="ca" colspan="9"></td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">1-ETHYL-2,3-DIMETHYLBENZENE</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=JP012276" target="_blank" class="btn">JP012276</a></td><td class="ca">C10H14</td><td class="ca">134.10955</td><td class="ca">MS</td><td class="ca">MS</td><td class="ca">CI-B</td><td class="ca">0.842444634941</td><td class="ca">InChI=1S/C10H14/c1-4-10-7-5-6-8(2)9(10)3/h5-7H,4H2,1-3H3</td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">1,2-DIETHYLBENZENE</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=JP012273" target="_blank" class="btn">JP012273</a></td><td class="ca">C10H14</td><td class="ca">134.10955</td><td class="ca">MS</td><td class="ca">MS</td><td class="ca">CI-B</td><td class="ca">0.834834020699</td><td class="ca">InChI=1S/C10H14/c1-3-9-7-5-6-8-10(9)4-2/h5-8H,3-4H2,1-2H3</td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">1,3-DIETHYLBENZENE</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=JP012274" target="_blank" class="btn">JP012274</a></td><td class="ca">C10H14</td><td class="ca">134.10955</td><td class="ca">MS</td><td class="ca">MS</td><td class="ca">CI-B</td><td class="ca">0.825082890799</td><td class="ca">InChI=1S/C10H14/c1-3-9-6-5-7-10(4-2)8-9/h5-8H,3-4H2,1-2H3</td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">1-ETHYL-3,5-DIMETHYLBENZENE</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=JP012279" target="_blank" class="btn">JP012279</a></td><td class="ca">C10H14</td><td class="ca">134.10955</td><td class="ca">MS</td><td class="ca">MS</td><td class="ca">CI-B</td><td class="ca">0.822346316415</td><td class="ca">InChI=1S/C10H14/c1-4-10-6-8(2)5-9(3)7-10/h5-7H,4H2,1-3H3</td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">1,4-DIETHYLBENZENE</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=JP012275" target="_blank" class="btn">JP012275</a></td><td class="ca">C10H14</td><td class="ca">134.10955</td><td class="ca">MS</td><td class="ca">MS</td><td class="ca">CI-B</td><td class="ca">0.812855498092</td><td class="ca">InChI=1S/C10H14/c1-3-9-5-7-10(4-2)8-6-9/h5-8H,3-4H2,1-2H3</td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">1-ETHYL-3,4-DIMETHYLBENZENE</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=JP012277" target="_blank" class="btn">JP012277</a></td><td class="ca">C10H14</td><td class="ca">134.10955</td><td class="ca">MS</td><td class="ca">MS</td><td class="ca">CI-B</td><td class="ca">0.809347489341</td><td class="ca">InChI=1S/C10H14/c1-4-10-6-5-8(2)9(3)7-10/h5-7H,4H2,1-3H3</td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">2-METHYL-1-PROPYLBENZENE</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=JP012267" target="_blank" class="btn">JP012267</a></td><td class="ca">C10H14</td><td class="ca">134.10955</td><td class="ca">MS</td><td class="ca">MS</td><td class="ca">CI-B</td><td class="ca">0.793494288532</td><td class="ca">InChI=1S/C10H14/c1-3-6-10-8-5-4-7-9(10)2/h4-5,7-8H,3,6H2,1-2H3</td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">3-METHYL-1-PROPYLBENZENE</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=JP012268" target="_blank" class="btn">JP012268</a></td><td class="ca">C10H14</td><td class="ca">134.10955</td><td class="ca">MS</td><td class="ca">MS</td><td class="ca">CI-B</td><td class="ca">0.771842678731</td><td class="ca">InChI=1S/C10H14/c1-3-5-10-7-4-6-9(2)8-10/h4,6-8H,3,5H2,1-2H3</td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">4-METHYL-1-PROPYLBENZENE</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=JP012269" target="_blank" class="btn">JP012269</a></td><td class="ca">C10H14</td><td class="ca">134.10955</td><td class="ca">MS</td><td class="ca">MS</td><td class="ca">CI-B</td><td class="ca">0.766089270107</td><td class="ca">InChI=1S/C10H14/c1-3-4-10-7-5-9(2)6-8-10/h5-8H,3-4H2,1-2H3</td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">BUTYLBENZENE</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=JP012263" target="_blank" class="btn">JP012263</a></td><td class="ca">C10H14</td><td class="ca">134.10955</td><td class="ca">MS</td><td class="ca">MS</td><td class="ca">CI-B</td><td class="ca">0.721608041747</td><td class="ca">InChI=1S/C10H14/c1-2-3-7-10-8-5-4-6-9-10/h4-6,8-9H,2-3,7H2,1H3</td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">5-METHYL-1,3-DIISOPROPYLBENZENE</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=JP012297" target="_blank" class="btn">JP012297</a></td><td class="ca">C13H20</td><td class="ca">176.15650</td><td class="ca">MS</td><td class="ca">MS</td><td class="ca">CI-B</td><td class="ca">0.502725943227</td><td class="ca">InChI=1S/C13H20/c1-9(2)12-6-11(5)7-13(8-12)10(3)4/h6-10H,1-5H3</td></tr><tr class="green"><td class="ca" >mz_00034</td><td id="34" class="ca" >2</td><td class="ca">176.0376081</td><td class="ca" colspan="9"></td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">1,2-DIETHYLBENZENE</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=JP012273" target="_blank" class="btn">JP012273</a></td><td class="ca">C10H14</td><td class="ca">134.10955</td><td class="ca">MS</td><td class="ca">MS</td><td class="ca">CI-B</td><td class="ca">0.834834020699</td><td class="ca">InChI=1S/C10H14/c1-3-9-7-5-6-8-10(9)4-2/h5-8H,3-4H2,1-2H3</td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">3-METHYL-1-PROPYLBENZENE</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=JP012268" target="_blank" class="btn">JP012268</a></td><td class="ca">C10H14</td><td class="ca">134.10955</td><td class="ca">MS</td><td class="ca">MS</td><td class="ca">CI-B</td><td class="ca">0.771842678731</td><td class="ca">InChI=1S/C10H14/c1-3-5-10-7-4-6-9(2)8-10/h4,6-8H,3,5H2,1-2H3</td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">BUTYLBENZENE</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=JP012263" target="_blank" class="btn">JP012263</a></td><td class="ca">C10H14</td><td class="ca">134.10955</td><td class="ca">MS</td><td class="ca">MS</td><td class="ca">CI-B</td><td class="ca">0.721608041747</td><td class="ca">InChI=1S/C10H14/c1-2-3-7-10-8-5-4-6-9-10/h4-6,8-9H,2-3,7H2,1H3</td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">5-METHYL-1,3-DIISOPROPYLBENZENE</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=JP012297" target="_blank" class="btn">JP012297</a></td><td class="ca">C13H20</td><td class="ca">176.15650</td><td class="ca">MS</td><td class="ca">MS</td><td class="ca">CI-B</td><td class="ca">0.502725943227</td><td class="ca">InChI=1S/C13H20/c1-9(2)12-6-11(5)7-13(8-12)10(3)4/h6-10H,1-5H3</td></tr><tr class="white"><td class="ca" >mz_00035</td><td id="35" class="ca" >2</td><td class="ca">197.0192355</td><td class="ca" colspan="9"></td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">UNKNOWN</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=" target="_blank" class="btn">NONE</a></td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">0</td><td class="ca">n/a</td></tr><tr class="green"><td class="ca" >mz_00036</td><td id="36" class="ca" >2</td><td class="ca">403.0711753</td><td class="ca" colspan="9"></td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">UNKNOWN</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=" target="_blank" class="btn">NONE</a></td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">0</td><td class="ca">n/a</td></tr></tbody><tbody class="select" id="page-id-10"><tr class="white"><td class="ca" >mz_00037</td><td id="37" class="ca" >3</td><td class="ca">117.0358602</td><td class="ca" colspan="9"></td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">UNKNOWN</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=" target="_blank" class="btn">NONE</a></td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">0</td><td class="ca">n/a</td></tr><tr class="green"><td class="ca" >mz_00038</td><td id="38" class="ca" >3</td><td class="ca">145.0301952</td><td class="ca" colspan="9"></td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">trans-4-Hydroxy-3-methoxycinnamate</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=PR100005" target="_blank" class="btn">PR100005</a></td><td class="ca">C10H10O4</td><td class="ca">194.05791</td><td class="ca">MS2</td><td class="ca"> [M+H]+</td><td class="ca">LC-ESI-QTOF</td><td class="ca">0.526245917512</td><td class="ca">InChI=1S/C10H10O4/c1-14-9-6-7(2-4-8(9)11)3-5-10(12)13/h2-6,11H,1H3,(H,12,13)/b5-3+</td></tr><tr class="white"><td class="ca" >mz_00039</td><td id="39" class="ca" >3</td><td class="ca">146.0338015</td><td class="ca" colspan="9"></td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">UNKNOWN</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=" target="_blank" class="btn">NONE</a></td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">0</td><td class="ca">n/a</td></tr><tr class="green"><td class="ca" >mz_00040</td><td id="40" class="ca" >3</td><td class="ca">149.0608613</td><td class="ca" colspan="9"></td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">trans-4-Hydroxy-3-methoxycinnamate</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=PR100005" target="_blank" class="btn">PR100005</a></td><td class="ca">C10H10O4</td><td class="ca">194.05791</td><td class="ca">MS2</td><td class="ca"> [M+H]+</td><td class="ca">LC-ESI-QTOF</td><td class="ca">0.526245917512</td><td class="ca">InChI=1S/C10H10O4/c1-14-9-6-7(2-4-8(9)11)3-5-10(12)13/h2-6,11H,1H3,(H,12,13)/b5-3+</td></tr></tbody><tbody class="select" id="page-id-11"><tr class="white"><td class="ca" >mz_00041</td><td id="41" class="ca" >3</td><td class="ca">163.0397626</td><td class="ca" colspan="9"></td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">UNKNOWN</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=" target="_blank" class="btn">NONE</a></td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">0</td><td class="ca">n/a</td></tr><tr class="green"><td class="ca" >mz_00042</td><td id="42" class="ca" >3</td><td class="ca">177.0539492</td><td class="ca" colspan="9"></td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">trans-4-Hydroxy-3-methoxycinnamate</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=PR100005" target="_blank" class="btn">PR100005</a></td><td class="ca">C10H10O4</td><td class="ca">194.05791</td><td class="ca">MS2</td><td class="ca"> [M+H]+</td><td class="ca">LC-ESI-QTOF</td><td class="ca">0.526245917512</td><td class="ca">InChI=1S/C10H10O4/c1-14-9-6-7(2-4-8(9)11)3-5-10(12)13/h2-6,11H,1H3,(H,12,13)/b5-3+</td></tr><tr class="white"><td class="ca" >mz_00043</td><td id="43" class="ca" >3</td><td class="ca">178.0578014</td><td class="ca" colspan="9"></td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">UNKNOWN</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=" target="_blank" class="btn">NONE</a></td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">0</td><td class="ca">n/a</td></tr><tr class="green"><td class="ca" >mz_00044</td><td id="44" class="ca" >3</td><td class="ca">195.0644538</td><td class="ca" colspan="9"></td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">trans-4-Hydroxy-3-methoxycinnamate</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=PR100005" target="_blank" class="btn">PR100005</a></td><td class="ca">C10H10O4</td><td class="ca">194.05791</td><td class="ca">MS2</td><td class="ca"> [M+H]+</td><td class="ca">LC-ESI-QTOF</td><td class="ca">0.526245917512</td><td class="ca">InChI=1S/C10H10O4/c1-14-9-6-7(2-4-8(9)11)3-5-10(12)13/h2-6,11H,1H3,(H,12,13)/b5-3+</td></tr></tbody><tbody class="select" id="page-id-12"><tr class="white"><td class="ca" >mz_00045</td><td id="45" class="ca" >3</td><td class="ca">196.0700972</td><td class="ca" colspan="9"></td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">UNKNOWN</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=" target="_blank" class="btn">NONE</a></td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">0</td><td class="ca">n/a</td></tr><tr class="green"><td class="ca" >mz_00046</td><td id="46" class="ca" >3</td><td class="ca">217.047301</td><td class="ca" colspan="9"></td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">UNKNOWN</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=" target="_blank" class="btn">NONE</a></td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">0</td><td class="ca">n/a</td></tr><tr class="white"><td class="ca" >mz_00047</td><td id="47" class="ca" >3</td><td class="ca">233.0121036</td><td class="ca" colspan="9"></td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">UNKNOWN</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=" target="_blank" class="btn">NONE</a></td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">0</td><td class="ca">n/a</td></tr><tr class="green"><td class="ca" >mz_00048</td><td id="48" class="ca" >3</td><td class="ca">251.0221026</td><td class="ca" colspan="9"></td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">UNKNOWN</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=" target="_blank" class="btn">NONE</a></td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">0</td><td class="ca">n/a</td></tr></tbody><tbody class="select" id="page-id-13"><tr class="white"><td class="ca" >mz_00049</td><td id="49" class="ca" >3</td><td class="ca">269.0328959</td><td class="ca" colspan="9"></td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">UNKNOWN</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=" target="_blank" class="btn">NONE</a></td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">0</td><td class="ca">n/a</td></tr><tr class="green"><td class="ca" >mz_00050</td><td id="50" class="ca" >3</td><td class="ca">279.0200882</td><td class="ca" colspan="9"></td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">UNKNOWN</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=" target="_blank" class="btn">NONE</a></td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">0</td><td class="ca">n/a</td></tr><tr class="white"><td class="ca" >mz_00051</td><td id="51" class="ca" >3</td><td class="ca">297.0306054</td><td class="ca" colspan="9"></td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">UNKNOWN</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=" target="_blank" class="btn">NONE</a></td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">0</td><td class="ca">n/a</td></tr><tr class="green"><td class="ca" >mz_00052</td><td id="52" class="ca" >3</td><td class="ca">301.0504305</td><td class="ca" colspan="9"></td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">UNKNOWN</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=" target="_blank" class="btn">NONE</a></td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">0</td><td class="ca">n/a</td></tr></tbody><tbody class="select" id="page-id-14"><tr class="white"><td class="ca" >mz_00053</td><td id="53" class="ca" >3</td><td class="ca">308.0261572</td><td class="ca" colspan="9"></td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">UNKNOWN</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=" target="_blank" class="btn">NONE</a></td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">0</td><td class="ca">n/a</td></tr><tr class="green"><td class="ca" >mz_00054</td><td id="54" class="ca" >3</td><td class="ca">315.0378642</td><td class="ca" colspan="9"></td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">UNKNOWN</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=" target="_blank" class="btn">NONE</a></td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">0</td><td class="ca">n/a</td></tr><tr class="white"><td class="ca" >mz_00055</td><td id="55" class="ca" >3</td><td class="ca">371.2623675</td><td class="ca" colspan="9"></td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">UNKNOWN</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=" target="_blank" class="btn">NONE</a></td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">0</td><td class="ca">n/a</td></tr><tr class="green"><td class="ca" >mz_00056</td><td id="56" class="ca" >3</td><td class="ca">422.0847921</td><td class="ca" colspan="9"></td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">UNKNOWN</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=" target="_blank" class="btn">NONE</a></td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">0</td><td class="ca">n/a</td></tr></tbody><tbody class="select" id="page-id-15"><tr class="white"><td class="ca" >mz_00057</td><td id="57" class="ca" >3</td><td class="ca">425.0339018</td><td class="ca" colspan="9"></td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">UNKNOWN</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=" target="_blank" class="btn">NONE</a></td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">0</td><td class="ca">n/a</td></tr><tr class="green"><td class="ca" >mz_00058</td><td id="58" class="ca" >3</td><td class="ca">427.0703433</td><td class="ca" colspan="9"></td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">UNKNOWN</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=" target="_blank" class="btn">NONE</a></td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">0</td><td class="ca">n/a</td></tr><tr class="white"><td class="ca" >mz_00059</td><td id="59" class="ca" >3</td><td class="ca">428.071429</td><td class="ca" colspan="9"></td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">UNKNOWN</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=" target="_blank" class="btn">NONE</a></td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">0</td><td class="ca">n/a</td></tr><tr class="green"><td class="ca" >mz_00060</td><td id="60" class="ca" >3</td><td class="ca">443.0411698</td><td class="ca" colspan="9"></td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">UNKNOWN</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=" target="_blank" class="btn">NONE</a></td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">0</td><td class="ca">n/a</td></tr></tbody><tbody class="select" id="page-id-16"><tr class="white"><td class="ca" >mz_00061</td><td id="61" class="ca" >3</td><td class="ca">445.074958</td><td class="ca" colspan="9"></td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">UNKNOWN</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=" target="_blank" class="btn">NONE</a></td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">0</td><td class="ca">n/a</td></tr><tr class="green"><td class="ca" >mz_00062</td><td id="62" class="ca" >3</td><td class="ca">446.0817674</td><td class="ca" colspan="9"></td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">UNKNOWN</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=" target="_blank" class="btn">NONE</a></td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">0</td><td class="ca">n/a</td></tr><tr class="white"><td class="ca" >mz_00063</td><td id="63" class="ca" >3</td><td class="ca">449.2321066</td><td class="ca" colspan="9"></td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">UNKNOWN</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=" target="_blank" class="btn">NONE</a></td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">0</td><td class="ca">n/a</td></tr><tr class="green"><td class="ca" >mz_00064</td><td id="64" class="ca" >3</td><td class="ca">463.0878154</td><td class="ca" colspan="9"></td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">UNKNOWN</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=" target="_blank" class="btn">NONE</a></td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">0</td><td class="ca">n/a</td></tr></tbody><tbody class="select" id="page-id-17"><tr class="white"><td class="ca" >mz_00065</td><td id="65" class="ca" >3</td><td class="ca">472.296343</td><td class="ca" colspan="9"></td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">UNKNOWN</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=" target="_blank" class="btn">NONE</a></td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">0</td><td class="ca">n/a</td></tr><tr class="green"><td class="ca" >mz_00066</td><td id="66" class="ca" >3</td><td class="ca">480.3076532</td><td class="ca" colspan="9"></td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">UNKNOWN</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=" target="_blank" class="btn">NONE</a></td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">0</td><td class="ca">n/a</td></tr><tr class="white"><td class="ca" >mz_00067</td><td id="67" class="ca" >3</td><td class="ca">607.1399722</td><td class="ca" colspan="9"></td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">UNKNOWN</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=" target="_blank" class="btn">NONE</a></td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">0</td><td class="ca">n/a</td></tr><tr class="green"><td class="ca" >mz_00068</td><td id="68" class="ca" >3</td><td class="ca">621.1283748</td><td class="ca" colspan="9"></td></tr><tr class="green"><td class="ca" colspan="3"></td><td class="ca">UNKNOWN</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=" target="_blank" class="btn">NONE</a></td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">0</td><td class="ca">n/a</td></tr></tbody><tbody class="select" id="page-id-18"><tr class="white"><td class="ca" >mz_00069</td><td id="69" class="ca" >4</td><td class="ca">21.1283748</td><td class="ca" colspan="9"></td></tr><tr class="white"><td class="ca" colspan="3"></td><td class="ca">UNKNOWN</td><td class="ca"><a href="http://www.massbank.jp/jsp/FwdRecord.jsp?id=" target="_blank" class="btn">NONE</a></td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">n/a</td><td class="ca">0</td><td class="ca">n/a</td></tr></tbody></table></div><div class="container"><hr><footer><div class="row">  <div class="col-lg-12"><p>Copyright &copy; INRA, N Paulhe, F Giacomoni 2014 </p>  </div> </div> </footer></div><script language="javascript">$(function() {$('#choose').pagination({items: 18,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/out_test01.json	Wed Apr 19 11:31:58 2017 -0400
@@ -0,0 +1,1 @@
+{"TYPE":{},"QUERY":{"480.3076532":{"mzmin":480.0076532,"num_res":0,"into":"412.125","pcgroup":"3","mzmed":"480.3076532","RECORDS":null,"mzmax":480.6076532001},"177.0539492":{"RECORDS":{"PR100005":{"name":"trans-4-Hydroxy-3-methoxycinnamate","ms_type":"MS2","id":"PR100005","precursor_type":" [M+H]+","formula":"C10H10O4","peaks":null,"score":"0.526245917512","inchi":"InChI=1S/C10H10O4/c1-14-9-6-7(2-4-8(9)11)3-5-10(12)13/h2-6,11H,1H3,(H,12,13)/b5-3+","exact_mz":"194.05791","instrument_type":"LC-ESI-QTOF"}},"mzmed":"177.0539492","mzmax":177.3539492001,"pcgroup":"3","into":"31098.8344","num_res":1,"mzmin":176.7539492},"425.0339018":{"num_res":0,"mzmin":424.7339018,"RECORDS":null,"mzmed":"425.0339018","mzmax":425.3339018001,"into":"398.7525","pcgroup":"3"},"611.1574452":{"num_res":8,"mzmin":610.8574452,"mzmed":"611.1574452","RECORDS":{"TY000246":{"precursor_type":"[M+H]+","formula":"C27H30O16","name":"Rutin","id":"TY000246","ms_type":"MS","instrument_type":"LC-ESI-ITTOF","peaks":null,"inchi":"InChI=1S/C27H30O16/c1-8-17(32)20(35)22(37)26(40-8)39-7-15-18(33)21(36)23(38)27(42-15)43-25-19(34)16-13(31)5-10(28)6-14(16)41-24(25)9-2-3-11(29)12(30)4-9/h2-6,8,15,17-18,20-23,26-33,35-38H,7H2,1H3/t8-,15+,17-,18+,20+,21-,22+,23+,26+,27-/m0/s1","score":"0.722183932245","exact_mz":"610.15338"},"PR020080":{"ms_type":"MS","id":"PR020080","name":"Quercetin-3-O-rutinoside","formula":"C27H30O16","precursor_type":" [M+H]+","inchi":"InChI=1S/C27H30O16/c1-8-17(32)20(35)22(37)26(40-8)39-7-15-18(33)21(36)23(38)27(42-15)43-25-19(34)16-13(31)5-10(28)6-14(16)41-24(25)9-2-3-11(29)12(30)4-9/h2-6,8,15,17-18,20-23,26-33,35-38H,7H2,1H3/t8-,15+,17-,18+,20+,21-,22+,23+,26+,27-/m0/s1","score":"0.593021369395","exact_mz":"610.15338","peaks":null,"instrument_type":"LC-ESI-QTOF"},"FIO00588":{"peaks":null,"score":"0.676089256465","inchi":"InChI=1S/C27H30O16/c1-8-17(32)20(35)22(37)26(40-8)39-7-15-18(33)21(36)23(38)27(42-15)43-25-19(34)16-13(31)5-10(28)6-14(16)41-24(25)9-2-3-11(29)12(30)4-9/h2-6,8,15,17-18,20-23,26-33,35-38H,7H2,1H3/t8-,15+,17-,18+,20+,21-,22+,23+,26+,27-/m0/s1","exact_mz":"610.15338","instrument_type":"LC-ESI-QTOF","name":"Rutin","ms_type":"MS2","id":"FIO00588","precursor_type":" [M+H]+","formula":"C27H30O16"},"PR020046":{"precursor_type":" [M+H]+","formula":"C28H34O15","name":"Hesperetin-7-O-rutinoside","id":"PR020046","ms_type":"MS","instrument_type":"LC-ESI-QTOF","peaks":null,"exact_mz":"610.18977","score":"0.503808010925","inchi":"InChI=1S/C28H34O15/c1-10-21(32)23(34)25(36)27(40-10)39-9-19-22(33)24(35)26(37)28(43-19)41-12-6-14(30)20-15(31)8-17(42-18(20)7-12)11-3-4-16(38-2)13(29)5-11/h3-7,10,17,19,21-30,32-37H,8-9H2,1-2H3/t10-,17-,19+,21-,22+,23+,24-,25+,26+,27+,28+/m0/s1"},"PR020045":{"name":"Hesperetin-7-O-neohesperidoside","id":"PR020045","ms_type":"MS","precursor_type":" [M+H]+","formula":"C28H34O15","peaks":null,"exact_mz":"610.18977","score":"0.585927069664","inchi":"InChI=1S/C28H34O15/c1-10-21(33)23(35)25(37)27(39-10)43-26-24(36)22(34)19(9-29)42-28(26)40-12-6-14(31)20-15(32)8-17(41-18(20)7-12)11-3-4-16(38-2)13(30)5-11/h3-7,10,17,19,21-31,33-37H,8-9H2,1-2H3/t10-,17-,19+,21-,22+,23+,24-,25+,26+,27-,28+/m0/s1","instrument_type":"LC-ESI-QTOF"},"PB006201":{"ms_type":"MS2","id":"PB006201","name":"Rutin ","formula":"C27H30O16","precursor_type":" [M+H]+","score":"0.718240688151","inchi":"InChI=1S/C27H30O16/c1-8-17(32)20(35)22(37)26(40-8)39-7-15-18(33)21(36)23(38)27(42-15)43-25-19(34)16-13(31)5-10(28)6-14(16)41-24(25)9-2-3-11(29)12(30)4-9/h2-6,8,15,17-18,20-23,26-33,35-38H,7H2,1H3/t8-,15+,17-,18+,20+,21-,22+,23+,26+,27-/m0/s1","exact_mz":"610.15338","peaks":null,"instrument_type":"LC-ESI-QTOF"},"FIO00589":{"instrument_type":"LC-ESI-QTOF","peaks":null,"exact_mz":"610.15338","inchi":"InChI=1S/C27H30O16/c1-8-17(32)20(35)22(37)26(40-8)39-7-15-18(33)21(36)23(38)27(42-15)43-25-19(34)16-13(31)5-10(28)6-14(16)41-24(25)9-2-3-11(29)12(30)4-9/h2-6,8,15,17-18,20-23,26-33,35-38H,7H2,1H3/t8-,15+,17-,18+,20+,21-,22+,23+,26+,27-/m0/s1","score":"0.628953392993","precursor_type":" [M+H]+","formula":"C27H30O16","name":"Rutin","id":"FIO00589","ms_type":"MS2"},"FIO00483":{"instrument_type":"LC-ESI-QTOF","peaks":null,"score":"0.591111986992","inchi":"InChI=1S/C28H34O15/c1-10-21(32)23(34)25(36)27(40-10)39-9-19-22(33)24(35)26(37)28(43-19)41-12-6-14(30)20-15(31)8-17(42-18(20)7-12)11-3-4-16(38-2)13(29)5-11/h3-7,10,17,19,21-30,32-37H,8-9H2,1-2H3/t10-,17-,19+,21-,22+,23+,24-,25+,26+,27+,28+/m0/s1","exact_mz":"610.18977","precursor_type":" [M+H]+","formula":"C28H34O15","name":"Hesperidin","id":"FIO00483","ms_type":"MS2"}},"mzmax":611.4574452001,"pcgroup":"1","into":"52749.60957"},"422.0847921":{"num_res":0,"mzmin":421.7847921,"mzmax":422.3847921001,"mzmed":"422.0847921","RECORDS":null,"into":"817.022","pcgroup":"3"},"621.1283748":{"mzmin":620.8283748,"num_res":0,"pcgroup":"3","into":"434.6288","RECORDS":null,"mzmed":"621.1283748","mzmax":621.4283748001},"465.101281":{"into":"108485.9646","pcgroup":"1","mzmax":465.4012810001,"RECORDS":{"FIO00589":{"formula":"C27H30O16","precursor_type":" [M+H]+","ms_type":"MS2","id":"FIO00589","name":"Rutin","instrument_type":"LC-ESI-QTOF","exact_mz":"610.15338","inchi":"InChI=1S/C27H30O16/c1-8-17(32)20(35)22(37)26(40-8)39-7-15-18(33)21(36)23(38)27(42-15)43-25-19(34)16-13(31)5-10(28)6-14(16)41-24(25)9-2-3-11(29)12(30)4-9/h2-6,8,15,17-18,20-23,26-33,35-38H,7H2,1H3/t8-,15+,17-,18+,20+,21-,22+,23+,26+,27-/m0/s1","score":"0.628953392993","peaks":null},"PB006201":{"peaks":null,"exact_mz":"610.15338","score":"0.718240688151","inchi":"InChI=1S/C27H30O16/c1-8-17(32)20(35)22(37)26(40-8)39-7-15-18(33)21(36)23(38)27(42-15)43-25-19(34)16-13(31)5-10(28)6-14(16)41-24(25)9-2-3-11(29)12(30)4-9/h2-6,8,15,17-18,20-23,26-33,35-38H,7H2,1H3/t8-,15+,17-,18+,20+,21-,22+,23+,26+,27-/m0/s1","instrument_type":"LC-ESI-QTOF","name":"Rutin ","id":"PB006201","ms_type":"MS2","precursor_type":" [M+H]+","formula":"C27H30O16"},"TY000218":{"instrument_type":"LC-ESI-ITTOF","score":"0.630268036021","inchi":"InChI=1S/C21H20O12/c22-6-13-15(27)17(29)18(30)21(32-13)33-20-16(28)14-11(26)4-8(23)5-12(14)31-19(20)7-1-2-9(24)10(25)3-7/h1-5,13,15,17-18,21-27,29-30H,6H2/t13-,15-,17+,18+,21-/m0/s1","exact_mz":"464.09548","peaks":null,"formula":"C21H20O12","precursor_type":"[M+H]+","id":"TY000218","ms_type":"MS","name":"Isoquercitrin"},"FIO00160":{"peaks":null,"inchi":"InChI=1S/C21H20O12/c22-6-13-15(27)17(29)18(30)21(32-13)33-20-16(28)14-11(26)4-8(23)5-12(14)31-19(20)7-1-2-9(24)10(25)3-7/h1-5,13,15,17-18,21-27,29-30H,6H2/t13-,15-,17+,18-,21+/m1/s1","score":"0.629320319716","exact_mz":"464.09548","instrument_type":"LC-ESI-QTOF","name":"Isoquercitrin","id":"FIO00160","ms_type":"MS2","precursor_type":" [M+H]+","formula":"C21H20O12"},"FIO00483":{"instrument_type":"LC-ESI-QTOF","peaks":null,"inchi":"InChI=1S/C28H34O15/c1-10-21(32)23(34)25(36)27(40-10)39-9-19-22(33)24(35)26(37)28(43-19)41-12-6-14(30)20-15(31)8-17(42-18(20)7-12)11-3-4-16(38-2)13(29)5-11/h3-7,10,17,19,21-30,32-37H,8-9H2,1-2H3/t10-,17-,19+,21-,22+,23+,24-,25+,26+,27+,28+/m0/s1","score":"0.591111986992","exact_mz":"610.18977","precursor_type":" [M+H]+","formula":"C28H34O15","name":"Hesperidin","ms_type":"MS2","id":"FIO00483"},"FIO00588":{"instrument_type":"LC-ESI-QTOF","exact_mz":"610.15338","inchi":"InChI=1S/C27H30O16/c1-8-17(32)20(35)22(37)26(40-8)39-7-15-18(33)21(36)23(38)27(42-15)43-25-19(34)16-13(31)5-10(28)6-14(16)41-24(25)9-2-3-11(29)12(30)4-9/h2-6,8,15,17-18,20-23,26-33,35-38H,7H2,1H3/t8-,15+,17-,18+,20+,21-,22+,23+,26+,27-/m0/s1","score":"0.676089256465","peaks":null,"formula":"C27H30O16","precursor_type":" [M+H]+","id":"FIO00588","ms_type":"MS2","name":"Rutin"},"FIO00484":{"precursor_type":" [M+H]+","formula":"C28H34O15","name":"Hesperidin","ms_type":"MS2","id":"FIO00484","instrument_type":"LC-ESI-QTOF","peaks":null,"exact_mz":"610.18977","inchi":"InChI=1S/C28H34O15/c1-10-21(32)23(34)25(36)27(40-10)39-9-19-22(33)24(35)26(37)28(43-19)41-12-6-14(30)20-15(31)8-17(42-18(20)7-12)11-3-4-16(38-2)13(29)5-11/h3-7,10,17,19,21-30,32-37H,8-9H2,1-2H3/t10-,17-,19+,21-,22+,23+,24-,25+,26+,27+,28+/m0/s1","score":"0.526179514801"},"PR020080":{"instrument_type":"LC-ESI-QTOF","peaks":null,"exact_mz":"610.15338","score":"0.593021369395","inchi":"InChI=1S/C27H30O16/c1-8-17(32)20(35)22(37)26(40-8)39-7-15-18(33)21(36)23(38)27(42-15)43-25-19(34)16-13(31)5-10(28)6-14(16)41-24(25)9-2-3-11(29)12(30)4-9/h2-6,8,15,17-18,20-23,26-33,35-38H,7H2,1H3/t8-,15+,17-,18+,20+,21-,22+,23+,26+,27-/m0/s1","precursor_type":" [M+H]+","formula":"C27H30O16","name":"Quercetin-3-O-rutinoside","id":"PR020080","ms_type":"MS"},"PR020046":{"exact_mz":"610.18977","score":"0.503808010925","inchi":"InChI=1S/C28H34O15/c1-10-21(32)23(34)25(36)27(40-10)39-9-19-22(33)24(35)26(37)28(43-19)41-12-6-14(30)20-15(31)8-17(42-18(20)7-12)11-3-4-16(38-2)13(29)5-11/h3-7,10,17,19,21-30,32-37H,8-9H2,1-2H3/t10-,17-,19+,21-,22+,23+,24-,25+,26+,27+,28+/m0/s1","peaks":null,"instrument_type":"LC-ESI-QTOF","ms_type":"MS","id":"PR020046","name":"Hesperetin-7-O-rutinoside","formula":"C28H34O15","precursor_type":" [M+H]+"},"PR020045":{"peaks":null,"inchi":"InChI=1S/C28H34O15/c1-10-21(33)23(35)25(37)27(39-10)43-26-24(36)22(34)19(9-29)42-28(26)40-12-6-14(31)20-15(32)8-17(41-18(20)7-12)11-3-4-16(38-2)13(30)5-11/h3-7,10,17,19,21-31,33-37H,8-9H2,1-2H3/t10-,17-,19+,21-,22+,23+,24-,25+,26+,27-,28+/m0/s1","score":"0.585927069664","exact_mz":"610.18977","instrument_type":"LC-ESI-QTOF","name":"Hesperetin-7-O-neohesperidoside","ms_type":"MS","id":"PR020045","precursor_type":" [M+H]+","formula":"C28H34O15"},"PR020078":{"peaks":null,"inchi":"InChI=1S/C21H20O12/c22-6-13-15(27)17(29)18(30)21(32-13)33-20-16(28)14-11(26)4-8(23)5-12(14)31-19(20)7-1-2-9(24)10(25)3-7/h1-5,13,15,17-18,21-27,29-30H,6H2/t13-,15-,17+,18-,21+/m1/s1","score":"0.609833904994","exact_mz":"464.09548","instrument_type":"LC-ESI-QTOF","name":"Quercetin-3-O-beta-glucopyranoside","id":"PR020078","ms_type":"MS","precursor_type":" [M+H]+","formula":"C21H20O12"},"TY000246":{"name":"Rutin","id":"TY000246","ms_type":"MS","precursor_type":"[M+H]+","formula":"C27H30O16","peaks":null,"exact_mz":"610.15338","inchi":"InChI=1S/C27H30O16/c1-8-17(32)20(35)22(37)26(40-8)39-7-15-18(33)21(36)23(38)27(42-15)43-25-19(34)16-13(31)5-10(28)6-14(16)41-24(25)9-2-3-11(29)12(30)4-9/h2-6,8,15,17-18,20-23,26-33,35-38H,7H2,1H3/t8-,15+,17-,18+,20+,21-,22+,23+,26+,27-/m0/s1","score":"0.722183932245","instrument_type":"LC-ESI-ITTOF"},"FIO00150":{"precursor_type":" [M+H]+","formula":"C21H20O12","name":"Hyperoside","id":"FIO00150","ms_type":"MS2","instrument_type":"LC-ESI-QTOF","peaks":null,"exact_mz":"464.09548","score":"0.631453810993","inchi":"InChI=1S/C21H20O12/c22-6-13-15(27)17(29)18(30)21(32-13)33-20-16(28)14-11(26)4-8(23)5-12(14)31-19(20)7-1-2-9(24)10(25)3-7/h1-5,13,15,17-18,21-27,29-30H,6H2/t13-,15+,17+,18-,21+/m1/s1"},"TY000168":{"instrument_type":"LC-ESI-ITTOF","peaks":null,"exact_mz":"464.09548","score":"0.571213973695","inchi":"InChI=1S/C21H20O12/c22-6-13-15(27)17(29)18(30)21(32-13)33-20-16(28)14-11(26)4-8(23)5-12(14)31-19(20)7-1-2-9(24)10(25)3-7/h1-5,13,15,17-18,21-27,29-30H,6H2/t13-,15-,17+,18-,21+/m1/s1","precursor_type":"[M+H]+","formula":"C21H20O12","name":"Hirsutrin","id":"TY000168","ms_type":"MS"},"PR020075":{"peaks":null,"score":"0.618103117363","inchi":"InChI=1S/C21H20O12/c22-6-13-15(27)17(29)18(30)21(32-13)33-20-16(28)14-11(26)4-8(23)5-12(14)31-19(20)7-1-2-9(24)10(25)3-7/h1-5,13,15,17-18,21-27,29-30H,6H2/t13-,15+,17+,18-,21+/m1/s1","exact_mz":"464.09548","instrument_type":"LC-ESI-QTOF","name":"Quercetin-3-beta-O-galactoside","id":"PR020075","ms_type":"MS","precursor_type":" [M+H]+","formula":"C21H20O12"}},"mzmed":"465.101281","mzmin":464.801281,"num_res":15},"21.1283748":{"mzmin":20.8283748,"num_res":0,"pcgroup":"4","into":"34.6288","mzmax":21.4283748001,"RECORDS":null,"mzmed":"21.1283748"},"630.6266888":{"mzmin":630.3266888,"num_res":0,"pcgroup":"1","into":"17110.08429","mzmax":630.9266888001,"mzmed":"630.6266888","RECORDS":null},"607.1399722":{"num_res":0,"mzmin":606.8399722,"mzmax":607.4399722001,"mzmed":"607.1399722","RECORDS":null,"pcgroup":"3","into":"284.236875"},"463.0878154":{"mzmin":462.7878154,"num_res":0,"into":"819.0366","pcgroup":"3","RECORDS":null,"mzmed":"463.0878154","mzmax":463.3878154001},"449.2321066":{"num_res":0,"mzmin":448.9321066,"mzmax":449.5321066001,"RECORDS":null,"mzmed":"449.2321066","pcgroup":"3","into":"1741.715684"},"136.0490744":{"num_res":11,"mzmin":135.7490744,"mzmed":"136.0490744","RECORDS":{"JP012269":{"instrument_type":"CI-B","exact_mz":"134.10955","inchi":"InChI=1S/C10H14/c1-3-4-10-7-5-9(2)6-8-10/h5-8H,3-4H2,1-2H3","score":"0.766089270107","peaks":null,"formula":"C10H14","precursor_type":"MS","ms_type":"MS","id":"JP012269","name":"4-METHYL-1-PROPYLBENZENE"},"JP012277":{"peaks":null,"score":"0.809347489341","inchi":"InChI=1S/C10H14/c1-4-10-6-5-8(2)9(3)7-10/h5-7H,4H2,1-3H3","exact_mz":"134.10955","instrument_type":"CI-B","name":"1-ETHYL-3,4-DIMETHYLBENZENE","id":"JP012277","ms_type":"MS","precursor_type":"MS","formula":"C10H14"},"JP012279":{"formula":"C10H14","precursor_type":"MS","id":"JP012279","ms_type":"MS","name":"1-ETHYL-3,5-DIMETHYLBENZENE","instrument_type":"CI-B","score":"0.822346316415","inchi":"InChI=1S/C10H14/c1-4-10-6-8(2)5-9(3)7-10/h5-7H,4H2,1-3H3","exact_mz":"134.10955","peaks":null},"JP012297":{"name":"5-METHYL-1,3-DIISOPROPYLBENZENE","id":"JP012297","ms_type":"MS","precursor_type":"MS","formula":"C13H20","peaks":null,"inchi":"InChI=1S/C13H20/c1-9(2)12-6-11(5)7-13(8-12)10(3)4/h6-10H,1-5H3","score":"0.502725943227","exact_mz":"176.15650","instrument_type":"CI-B"},"JP012274":{"exact_mz":"134.10955","inchi":"InChI=1S/C10H14/c1-3-9-6-5-7-10(4-2)8-9/h5-8H,3-4H2,1-2H3","score":"0.825082890799","peaks":null,"instrument_type":"CI-B","ms_type":"MS","id":"JP012274","name":"1,3-DIETHYLBENZENE","formula":"C10H14","precursor_type":"MS"},"JP012276":{"exact_mz":"134.10955","inchi":"InChI=1S/C10H14/c1-4-10-7-5-6-8(2)9(10)3/h5-7H,4H2,1-3H3","score":"0.842444634941","peaks":null,"instrument_type":"CI-B","id":"JP012276","ms_type":"MS","name":"1-ETHYL-2,3-DIMETHYLBENZENE","formula":"C10H14","precursor_type":"MS"},"JP012275":{"precursor_type":"MS","formula":"C10H14","name":"1,4-DIETHYLBENZENE","ms_type":"MS","id":"JP012275","instrument_type":"CI-B","peaks":null,"inchi":"InChI=1S/C10H14/c1-3-9-5-7-10(4-2)8-6-9/h5-8H,3-4H2,1-2H3","score":"0.812855498092","exact_mz":"134.10955"},"JP012273":{"exact_mz":"134.10955","score":"0.834834020699","inchi":"InChI=1S/C10H14/c1-3-9-7-5-6-8-10(9)4-2/h5-8H,3-4H2,1-2H3","peaks":null,"instrument_type":"CI-B","id":"JP012273","ms_type":"MS","name":"1,2-DIETHYLBENZENE","formula":"C10H14","precursor_type":"MS"},"JP012268":{"id":"JP012268","ms_type":"MS","name":"3-METHYL-1-PROPYLBENZENE","formula":"C10H14","precursor_type":"MS","exact_mz":"134.10955","inchi":"InChI=1S/C10H14/c1-3-5-10-7-4-6-9(2)8-10/h4,6-8H,3,5H2,1-2H3","score":"0.771842678731","peaks":null,"instrument_type":"CI-B"},"JP012267":{"precursor_type":"MS","formula":"C10H14","name":"2-METHYL-1-PROPYLBENZENE","id":"JP012267","ms_type":"MS","instrument_type":"CI-B","peaks":null,"score":"0.793494288532","inchi":"InChI=1S/C10H14/c1-3-6-10-8-5-4-7-9(10)2/h4-5,7-8H,3,6H2,1-2H3","exact_mz":"134.10955"},"JP012263":{"ms_type":"MS","id":"JP012263","name":"BUTYLBENZENE","formula":"C10H14","precursor_type":"MS","score":"0.721608041747","inchi":"InChI=1S/C10H14/c1-2-3-7-10-8-5-4-6-9-10/h4-6,8-9H,2-3,7H2,1H3","exact_mz":"134.10955","peaks":null,"instrument_type":"CI-B"}},"mzmax":136.3490744001,"into":"9243.038571","pcgroup":"2"},"297.0306054":{"mzmax":297.3306054001,"RECORDS":null,"mzmed":"297.0306054","into":"1108.1016","pcgroup":"3","num_res":0,"mzmin":296.7306054},"325.0531081":{"RECORDS":null,"mzmed":"325.0531081","mzmax":325.3531081001,"pcgroup":"1","into":"16589.13717","num_res":0,"mzmin":324.7531081},"634.1424296":{"pcgroup":"1","into":"23879.52783","mzmax":634.4424296001,"mzmed":"634.1424296","RECORDS":null,"mzmin":633.8424296,"num_res":0},"503.0443595":{"mzmax":503.3443595001,"RECORDS":null,"mzmed":"503.0443595","into":"2661.062625","pcgroup":"1","num_res":0,"mzmin":502.7443595},"304.0519266":{"into":"39377.69332","pcgroup":"1","mzmed":"304.0519266","RECORDS":{"PR020075":{"score":"0.618103117363","inchi":"InChI=1S/C21H20O12/c22-6-13-15(27)17(29)18(30)21(32-13)33-20-16(28)14-11(26)4-8(23)5-12(14)31-19(20)7-1-2-9(24)10(25)3-7/h1-5,13,15,17-18,21-27,29-30H,6H2/t13-,15+,17+,18-,21+/m1/s1","exact_mz":"464.09548","peaks":null,"instrument_type":"LC-ESI-QTOF","ms_type":"MS","id":"PR020075","name":"Quercetin-3-beta-O-galactoside","formula":"C21H20O12","precursor_type":" [M+H]+"},"TY000168":{"instrument_type":"LC-ESI-ITTOF","peaks":null,"exact_mz":"464.09548","score":"0.571213973695","inchi":"InChI=1S/C21H20O12/c22-6-13-15(27)17(29)18(30)21(32-13)33-20-16(28)14-11(26)4-8(23)5-12(14)31-19(20)7-1-2-9(24)10(25)3-7/h1-5,13,15,17-18,21-27,29-30H,6H2/t13-,15-,17+,18-,21+/m1/s1","precursor_type":"[M+H]+","formula":"C21H20O12","name":"Hirsutrin","ms_type":"MS","id":"TY000168"},"FIO00150":{"formula":"C21H20O12","precursor_type":" [M+H]+","id":"FIO00150","ms_type":"MS2","name":"Hyperoside","instrument_type":"LC-ESI-QTOF","exact_mz":"464.09548","score":"0.631453810993","inchi":"InChI=1S/C21H20O12/c22-6-13-15(27)17(29)18(30)21(32-13)33-20-16(28)14-11(26)4-8(23)5-12(14)31-19(20)7-1-2-9(24)10(25)3-7/h1-5,13,15,17-18,21-27,29-30H,6H2/t13-,15+,17+,18-,21+/m1/s1","peaks":null},"TY000246":{"instrument_type":"LC-ESI-ITTOF","exact_mz":"610.15338","score":"0.722183932245","inchi":"InChI=1S/C27H30O16/c1-8-17(32)20(35)22(37)26(40-8)39-7-15-18(33)21(36)23(38)27(42-15)43-25-19(34)16-13(31)5-10(28)6-14(16)41-24(25)9-2-3-11(29)12(30)4-9/h2-6,8,15,17-18,20-23,26-33,35-38H,7H2,1H3/t8-,15+,17-,18+,20+,21-,22+,23+,26+,27-/m0/s1","peaks":null,"formula":"C27H30O16","precursor_type":"[M+H]+","id":"TY000246","ms_type":"MS","name":"Rutin"},"PR020078":{"formula":"C21H20O12","precursor_type":" [M+H]+","ms_type":"MS","id":"PR020078","name":"Quercetin-3-O-beta-glucopyranoside","instrument_type":"LC-ESI-QTOF","inchi":"InChI=1S/C21H20O12/c22-6-13-15(27)17(29)18(30)21(32-13)33-20-16(28)14-11(26)4-8(23)5-12(14)31-19(20)7-1-2-9(24)10(25)3-7/h1-5,13,15,17-18,21-27,29-30H,6H2/t13-,15-,17+,18-,21+/m1/s1","score":"0.609833904994","exact_mz":"464.09548","peaks":null},"PR020045":{"formula":"C28H34O15","precursor_type":" [M+H]+","ms_type":"MS","id":"PR020045","name":"Hesperetin-7-O-neohesperidoside","instrument_type":"LC-ESI-QTOF","score":"0.585927069664","inchi":"InChI=1S/C28H34O15/c1-10-21(33)23(35)25(37)27(39-10)43-26-24(36)22(34)19(9-29)42-28(26)40-12-6-14(31)20-15(32)8-17(41-18(20)7-12)11-3-4-16(38-2)13(30)5-11/h3-7,10,17,19,21-31,33-37H,8-9H2,1-2H3/t10-,17-,19+,21-,22+,23+,24-,25+,26+,27-,28+/m0/s1","exact_mz":"610.18977","peaks":null},"PR020046":{"instrument_type":"LC-ESI-QTOF","inchi":"InChI=1S/C28H34O15/c1-10-21(32)23(34)25(36)27(40-10)39-9-19-22(33)24(35)26(37)28(43-19)41-12-6-14(30)20-15(31)8-17(42-18(20)7-12)11-3-4-16(38-2)13(29)5-11/h3-7,10,17,19,21-30,32-37H,8-9H2,1-2H3/t10-,17-,19+,21-,22+,23+,24-,25+,26+,27+,28+/m0/s1","score":"0.503808010925","exact_mz":"610.18977","peaks":null,"formula":"C28H34O15","precursor_type":" [M+H]+","ms_type":"MS","id":"PR020046","name":"Hesperetin-7-O-rutinoside"},"FIO00484":{"score":"0.526179514801","inchi":"InChI=1S/C28H34O15/c1-10-21(32)23(34)25(36)27(40-10)39-9-19-22(33)24(35)26(37)28(43-19)41-12-6-14(30)20-15(31)8-17(42-18(20)7-12)11-3-4-16(38-2)13(29)5-11/h3-7,10,17,19,21-30,32-37H,8-9H2,1-2H3/t10-,17-,19+,21-,22+,23+,24-,25+,26+,27+,28+/m0/s1","exact_mz":"610.18977","peaks":null,"instrument_type":"LC-ESI-QTOF","ms_type":"MS2","id":"FIO00484","name":"Hesperidin","formula":"C28H34O15","precursor_type":" [M+H]+"},"PR020080":{"precursor_type":" [M+H]+","formula":"C27H30O16","name":"Quercetin-3-O-rutinoside","ms_type":"MS","id":"PR020080","instrument_type":"LC-ESI-QTOF","peaks":null,"inchi":"InChI=1S/C27H30O16/c1-8-17(32)20(35)22(37)26(40-8)39-7-15-18(33)21(36)23(38)27(42-15)43-25-19(34)16-13(31)5-10(28)6-14(16)41-24(25)9-2-3-11(29)12(30)4-9/h2-6,8,15,17-18,20-23,26-33,35-38H,7H2,1H3/t8-,15+,17-,18+,20+,21-,22+,23+,26+,27-/m0/s1","score":"0.593021369395","exact_mz":"610.15338"},"FIO00588":{"id":"FIO00588","ms_type":"MS2","name":"Rutin","formula":"C27H30O16","precursor_type":" [M+H]+","exact_mz":"610.15338","inchi":"InChI=1S/C27H30O16/c1-8-17(32)20(35)22(37)26(40-8)39-7-15-18(33)21(36)23(38)27(42-15)43-25-19(34)16-13(31)5-10(28)6-14(16)41-24(25)9-2-3-11(29)12(30)4-9/h2-6,8,15,17-18,20-23,26-33,35-38H,7H2,1H3/t8-,15+,17-,18+,20+,21-,22+,23+,26+,27-/m0/s1","score":"0.676089256465","peaks":null,"instrument_type":"LC-ESI-QTOF"},"FIO00483":{"exact_mz":"610.18977","inchi":"InChI=1S/C28H34O15/c1-10-21(32)23(34)25(36)27(40-10)39-9-19-22(33)24(35)26(37)28(43-19)41-12-6-14(30)20-15(31)8-17(42-18(20)7-12)11-3-4-16(38-2)13(29)5-11/h3-7,10,17,19,21-30,32-37H,8-9H2,1-2H3/t10-,17-,19+,21-,22+,23+,24-,25+,26+,27+,28+/m0/s1","score":"0.591111986992","peaks":null,"instrument_type":"LC-ESI-QTOF","ms_type":"MS2","id":"FIO00483","name":"Hesperidin","formula":"C28H34O15","precursor_type":" [M+H]+"},"FIO00160":{"peaks":null,"exact_mz":"464.09548","inchi":"InChI=1S/C21H20O12/c22-6-13-15(27)17(29)18(30)21(32-13)33-20-16(28)14-11(26)4-8(23)5-12(14)31-19(20)7-1-2-9(24)10(25)3-7/h1-5,13,15,17-18,21-27,29-30H,6H2/t13-,15-,17+,18-,21+/m1/s1","score":"0.629320319716","instrument_type":"LC-ESI-QTOF","name":"Isoquercitrin","id":"FIO00160","ms_type":"MS2","precursor_type":" [M+H]+","formula":"C21H20O12"},"PB006201":{"instrument_type":"LC-ESI-QTOF","peaks":null,"score":"0.718240688151","inchi":"InChI=1S/C27H30O16/c1-8-17(32)20(35)22(37)26(40-8)39-7-15-18(33)21(36)23(38)27(42-15)43-25-19(34)16-13(31)5-10(28)6-14(16)41-24(25)9-2-3-11(29)12(30)4-9/h2-6,8,15,17-18,20-23,26-33,35-38H,7H2,1H3/t8-,15+,17-,18+,20+,21-,22+,23+,26+,27-/m0/s1","exact_mz":"610.15338","precursor_type":" [M+H]+","formula":"C27H30O16","name":"Rutin ","id":"PB006201","ms_type":"MS2"},"FIO00589":{"instrument_type":"LC-ESI-QTOF","peaks":null,"score":"0.628953392993","inchi":"InChI=1S/C27H30O16/c1-8-17(32)20(35)22(37)26(40-8)39-7-15-18(33)21(36)23(38)27(42-15)43-25-19(34)16-13(31)5-10(28)6-14(16)41-24(25)9-2-3-11(29)12(30)4-9/h2-6,8,15,17-18,20-23,26-33,35-38H,7H2,1H3/t8-,15+,17-,18+,20+,21-,22+,23+,26+,27-/m0/s1","exact_mz":"610.15338","precursor_type":" [M+H]+","formula":"C27H30O16","name":"Rutin","ms_type":"MS2","id":"FIO00589"},"TY000218":{"score":"0.630268036021","inchi":"InChI=1S/C21H20O12/c22-6-13-15(27)17(29)18(30)21(32-13)33-20-16(28)14-11(26)4-8(23)5-12(14)31-19(20)7-1-2-9(24)10(25)3-7/h1-5,13,15,17-18,21-27,29-30H,6H2/t13-,15-,17+,18+,21-/m0/s1","exact_mz":"464.09548","peaks":null,"instrument_type":"LC-ESI-ITTOF","id":"TY000218","ms_type":"MS","name":"Isoquercitrin","formula":"C21H20O12","precursor_type":"[M+H]+"}},"mzmax":304.3519266001,"mzmin":303.7519266,"num_res":15},"153.0565924":{"mzmin":152.7565924,"num_res":0,"into":"4206.543056","pcgroup":"2","mzmax":153.3565924001,"RECORDS":null,"mzmed":"153.0565924"},"315.0378642":{"mzmin":314.7378642,"num_res":0,"into":"570.8708","pcgroup":"3","mzmed":"315.0378642","RECORDS":null,"mzmax":315.3378642001},"195.0644538":{"num_res":1,"mzmin":194.7644538,"mzmax":195.3644538001,"RECORDS":{"PR100005":{"instrument_type":"LC-ESI-QTOF","peaks":null,"exact_mz":"194.05791","score":"0.526245917512","inchi":"InChI=1S/C10H10O4/c1-14-9-6-7(2-4-8(9)11)3-5-10(12)13/h2-6,11H,1H3,(H,12,13)/b5-3+","precursor_type":" [M+H]+","formula":"C10H10O4","name":"trans-4-Hydroxy-3-methoxycinnamate","id":"PR100005","ms_type":"MS2"}},"mzmed":"195.0644538","pcgroup":"3","into":"1925.5536"},"446.0817674":{"RECORDS":null,"mzmed":"446.0817674","mzmax":446.3817674001,"into":"352.6043636","pcgroup":"3","num_res":0,"mzmin":445.7817674},"305.0552454":{"mzmin":304.7552454,"num_res":15,"into":"6932.447143","pcgroup":"1","mzmax":305.3552454001,"RECORDS":{"PB006201":{"ms_type":"MS2","id":"PB006201","name":"Rutin ","formula":"C27H30O16","precursor_type":" [M+H]+","score":"0.718240688151","inchi":"InChI=1S/C27H30O16/c1-8-17(32)20(35)22(37)26(40-8)39-7-15-18(33)21(36)23(38)27(42-15)43-25-19(34)16-13(31)5-10(28)6-14(16)41-24(25)9-2-3-11(29)12(30)4-9/h2-6,8,15,17-18,20-23,26-33,35-38H,7H2,1H3/t8-,15+,17-,18+,20+,21-,22+,23+,26+,27-/m0/s1","exact_mz":"610.15338","peaks":null,"instrument_type":"LC-ESI-QTOF"},"TY000218":{"formula":"C21H20O12","precursor_type":"[M+H]+","ms_type":"MS","id":"TY000218","name":"Isoquercitrin","instrument_type":"LC-ESI-ITTOF","score":"0.630268036021","inchi":"InChI=1S/C21H20O12/c22-6-13-15(27)17(29)18(30)21(32-13)33-20-16(28)14-11(26)4-8(23)5-12(14)31-19(20)7-1-2-9(24)10(25)3-7/h1-5,13,15,17-18,21-27,29-30H,6H2/t13-,15-,17+,18+,21-/m0/s1","exact_mz":"464.09548","peaks":null},"FIO00589":{"instrument_type":"LC-ESI-QTOF","exact_mz":"610.15338","score":"0.628953392993","inchi":"InChI=1S/C27H30O16/c1-8-17(32)20(35)22(37)26(40-8)39-7-15-18(33)21(36)23(38)27(42-15)43-25-19(34)16-13(31)5-10(28)6-14(16)41-24(25)9-2-3-11(29)12(30)4-9/h2-6,8,15,17-18,20-23,26-33,35-38H,7H2,1H3/t8-,15+,17-,18+,20+,21-,22+,23+,26+,27-/m0/s1","peaks":null,"formula":"C27H30O16","precursor_type":" [M+H]+","ms_type":"MS2","id":"FIO00589","name":"Rutin"},"FIO00160":{"exact_mz":"464.09548","inchi":"InChI=1S/C21H20O12/c22-6-13-15(27)17(29)18(30)21(32-13)33-20-16(28)14-11(26)4-8(23)5-12(14)31-19(20)7-1-2-9(24)10(25)3-7/h1-5,13,15,17-18,21-27,29-30H,6H2/t13-,15-,17+,18-,21+/m1/s1","score":"0.629320319716","peaks":null,"instrument_type":"LC-ESI-QTOF","ms_type":"MS2","id":"FIO00160","name":"Isoquercitrin","formula":"C21H20O12","precursor_type":" [M+H]+"},"FIO00483":{"peaks":null,"exact_mz":"610.18977","inchi":"InChI=1S/C28H34O15/c1-10-21(32)23(34)25(36)27(40-10)39-9-19-22(33)24(35)26(37)28(43-19)41-12-6-14(30)20-15(31)8-17(42-18(20)7-12)11-3-4-16(38-2)13(29)5-11/h3-7,10,17,19,21-30,32-37H,8-9H2,1-2H3/t10-,17-,19+,21-,22+,23+,24-,25+,26+,27+,28+/m0/s1","score":"0.591111986992","instrument_type":"LC-ESI-QTOF","name":"Hesperidin","id":"FIO00483","ms_type":"MS2","precursor_type":" [M+H]+","formula":"C28H34O15"},"FIO00484":{"peaks":null,"score":"0.526179514801","inchi":"InChI=1S/C28H34O15/c1-10-21(32)23(34)25(36)27(40-10)39-9-19-22(33)24(35)26(37)28(43-19)41-12-6-14(30)20-15(31)8-17(42-18(20)7-12)11-3-4-16(38-2)13(29)5-11/h3-7,10,17,19,21-30,32-37H,8-9H2,1-2H3/t10-,17-,19+,21-,22+,23+,24-,25+,26+,27+,28+/m0/s1","exact_mz":"610.18977","instrument_type":"LC-ESI-QTOF","name":"Hesperidin","id":"FIO00484","ms_type":"MS2","precursor_type":" [M+H]+","formula":"C28H34O15"},"FIO00588":{"precursor_type":" [M+H]+","formula":"C27H30O16","name":"Rutin","ms_type":"MS2","id":"FIO00588","instrument_type":"LC-ESI-QTOF","peaks":null,"inchi":"InChI=1S/C27H30O16/c1-8-17(32)20(35)22(37)26(40-8)39-7-15-18(33)21(36)23(38)27(42-15)43-25-19(34)16-13(31)5-10(28)6-14(16)41-24(25)9-2-3-11(29)12(30)4-9/h2-6,8,15,17-18,20-23,26-33,35-38H,7H2,1H3/t8-,15+,17-,18+,20+,21-,22+,23+,26+,27-/m0/s1","score":"0.676089256465","exact_mz":"610.15338"},"PR020080":{"instrument_type":"LC-ESI-QTOF","exact_mz":"610.15338","score":"0.593021369395","inchi":"InChI=1S/C27H30O16/c1-8-17(32)20(35)22(37)26(40-8)39-7-15-18(33)21(36)23(38)27(42-15)43-25-19(34)16-13(31)5-10(28)6-14(16)41-24(25)9-2-3-11(29)12(30)4-9/h2-6,8,15,17-18,20-23,26-33,35-38H,7H2,1H3/t8-,15+,17-,18+,20+,21-,22+,23+,26+,27-/m0/s1","peaks":null,"formula":"C27H30O16","precursor_type":" [M+H]+","id":"PR020080","ms_type":"MS","name":"Quercetin-3-O-rutinoside"},"PR020046":{"name":"Hesperetin-7-O-rutinoside","id":"PR020046","ms_type":"MS","precursor_type":" [M+H]+","formula":"C28H34O15","peaks":null,"exact_mz":"610.18977","inchi":"InChI=1S/C28H34O15/c1-10-21(32)23(34)25(36)27(40-10)39-9-19-22(33)24(35)26(37)28(43-19)41-12-6-14(30)20-15(31)8-17(42-18(20)7-12)11-3-4-16(38-2)13(29)5-11/h3-7,10,17,19,21-30,32-37H,8-9H2,1-2H3/t10-,17-,19+,21-,22+,23+,24-,25+,26+,27+,28+/m0/s1","score":"0.503808010925","instrument_type":"LC-ESI-QTOF"},"PR020045":{"name":"Hesperetin-7-O-neohesperidoside","ms_type":"MS","id":"PR020045","precursor_type":" [M+H]+","formula":"C28H34O15","peaks":null,"exact_mz":"610.18977","score":"0.585927069664","inchi":"InChI=1S/C28H34O15/c1-10-21(33)23(35)25(37)27(39-10)43-26-24(36)22(34)19(9-29)42-28(26)40-12-6-14(31)20-15(32)8-17(41-18(20)7-12)11-3-4-16(38-2)13(30)5-11/h3-7,10,17,19,21-31,33-37H,8-9H2,1-2H3/t10-,17-,19+,21-,22+,23+,24-,25+,26+,27-,28+/m0/s1","instrument_type":"LC-ESI-QTOF"},"PR020078":{"ms_type":"MS","id":"PR020078","name":"Quercetin-3-O-beta-glucopyranoside","formula":"C21H20O12","precursor_type":" [M+H]+","score":"0.609833904994","inchi":"InChI=1S/C21H20O12/c22-6-13-15(27)17(29)18(30)21(32-13)33-20-16(28)14-11(26)4-8(23)5-12(14)31-19(20)7-1-2-9(24)10(25)3-7/h1-5,13,15,17-18,21-27,29-30H,6H2/t13-,15-,17+,18-,21+/m1/s1","exact_mz":"464.09548","peaks":null,"instrument_type":"LC-ESI-QTOF"},"TY000246":{"peaks":null,"inchi":"InChI=1S/C27H30O16/c1-8-17(32)20(35)22(37)26(40-8)39-7-15-18(33)21(36)23(38)27(42-15)43-25-19(34)16-13(31)5-10(28)6-14(16)41-24(25)9-2-3-11(29)12(30)4-9/h2-6,8,15,17-18,20-23,26-33,35-38H,7H2,1H3/t8-,15+,17-,18+,20+,21-,22+,23+,26+,27-/m0/s1","score":"0.722183932245","exact_mz":"610.15338","instrument_type":"LC-ESI-ITTOF","name":"Rutin","ms_type":"MS","id":"TY000246","precursor_type":"[M+H]+","formula":"C27H30O16"},"PR020075":{"precursor_type":" [M+H]+","formula":"C21H20O12","name":"Quercetin-3-beta-O-galactoside","id":"PR020075","ms_type":"MS","instrument_type":"LC-ESI-QTOF","peaks":null,"exact_mz":"464.09548","inchi":"InChI=1S/C21H20O12/c22-6-13-15(27)17(29)18(30)21(32-13)33-20-16(28)14-11(26)4-8(23)5-12(14)31-19(20)7-1-2-9(24)10(25)3-7/h1-5,13,15,17-18,21-27,29-30H,6H2/t13-,15+,17+,18-,21+/m1/s1","score":"0.618103117363"},"TY000168":{"name":"Hirsutrin","ms_type":"MS","id":"TY000168","precursor_type":"[M+H]+","formula":"C21H20O12","peaks":null,"exact_mz":"464.09548","score":"0.571213973695","inchi":"InChI=1S/C21H20O12/c22-6-13-15(27)17(29)18(30)21(32-13)33-20-16(28)14-11(26)4-8(23)5-12(14)31-19(20)7-1-2-9(24)10(25)3-7/h1-5,13,15,17-18,21-27,29-30H,6H2/t13-,15-,17+,18-,21+/m1/s1","instrument_type":"LC-ESI-ITTOF"},"FIO00150":{"ms_type":"MS2","id":"FIO00150","name":"Hyperoside","formula":"C21H20O12","precursor_type":" [M+H]+","exact_mz":"464.09548","inchi":"InChI=1S/C21H20O12/c22-6-13-15(27)17(29)18(30)21(32-13)33-20-16(28)14-11(26)4-8(23)5-12(14)31-19(20)7-1-2-9(24)10(25)3-7/h1-5,13,15,17-18,21-27,29-30H,6H2/t13-,15+,17+,18-,21+/m1/s1","score":"0.631453810993","peaks":null,"instrument_type":"LC-ESI-QTOF"}},"mzmed":"305.0552454"},"163.0397626":{"mzmin":162.7397626,"num_res":0,"pcgroup":"3","into":"718.091","RECORDS":null,"mzmed":"163.0397626","mzmax":163.3397626001},"520.0216826":{"mzmin":519.7216826,"num_res":0,"pcgroup":"1","into":"767.3935714","mzmax":520.3216826001,"RECORDS":null,"mzmed":"520.0216826"},"428.071429":{"pcgroup":"3","into":"553.6545455","RECORDS":null,"mzmed":"428.071429","mzmax":428.3714290001,"mzmin":427.771429,"num_res":0},"633.1395015":{"num_res":1,"mzmin":632.8395015,"mzmax":633.4395015001,"mzmed":"633.1395015","RECORDS":{"TY000246":{"instrument_type":"LC-ESI-ITTOF","peaks":null,"inchi":"InChI=1S/C27H30O16/c1-8-17(32)20(35)22(37)26(40-8)39-7-15-18(33)21(36)23(38)27(42-15)43-25-19(34)16-13(31)5-10(28)6-14(16)41-24(25)9-2-3-11(29)12(30)4-9/h2-6,8,15,17-18,20-23,26-33,35-38H,7H2,1H3/t8-,15+,17-,18+,20+,21-,22+,23+,26+,27-/m0/s1","score":"0.722183932245","exact_mz":"610.15338","precursor_type":"[M+H]+","formula":"C27H30O16","name":"Rutin","id":"TY000246","ms_type":"MS"}},"into":"78153.96508","pcgroup":"1"},"443.0411698":{"pcgroup":"3","into":"842.8931","mzmax":443.3411698001,"mzmed":"443.0411698","RECORDS":null,"mzmin":442.7411698,"num_res":0},"467.1065989":{"RECORDS":{"TY000218":{"name":"Isoquercitrin","ms_type":"MS","id":"TY000218","precursor_type":"[M+H]+","formula":"C21H20O12","peaks":null,"exact_mz":"464.09548","score":"0.630268036021","inchi":"InChI=1S/C21H20O12/c22-6-13-15(27)17(29)18(30)21(32-13)33-20-16(28)14-11(26)4-8(23)5-12(14)31-19(20)7-1-2-9(24)10(25)3-7/h1-5,13,15,17-18,21-27,29-30H,6H2/t13-,15-,17+,18+,21-/m0/s1","instrument_type":"LC-ESI-ITTOF"},"PB006201":{"id":"PB006201","ms_type":"MS2","name":"Rutin ","formula":"C27H30O16","precursor_type":" [M+H]+","inchi":"InChI=1S/C27H30O16/c1-8-17(32)20(35)22(37)26(40-8)39-7-15-18(33)21(36)23(38)27(42-15)43-25-19(34)16-13(31)5-10(28)6-14(16)41-24(25)9-2-3-11(29)12(30)4-9/h2-6,8,15,17-18,20-23,26-33,35-38H,7H2,1H3/t8-,15+,17-,18+,20+,21-,22+,23+,26+,27-/m0/s1","score":"0.718240688151","exact_mz":"610.15338","peaks":null,"instrument_type":"LC-ESI-QTOF"},"FIO00589":{"formula":"C27H30O16","precursor_type":" [M+H]+","ms_type":"MS2","id":"FIO00589","name":"Rutin","instrument_type":"LC-ESI-QTOF","exact_mz":"610.15338","inchi":"InChI=1S/C27H30O16/c1-8-17(32)20(35)22(37)26(40-8)39-7-15-18(33)21(36)23(38)27(42-15)43-25-19(34)16-13(31)5-10(28)6-14(16)41-24(25)9-2-3-11(29)12(30)4-9/h2-6,8,15,17-18,20-23,26-33,35-38H,7H2,1H3/t8-,15+,17-,18+,20+,21-,22+,23+,26+,27-/m0/s1","score":"0.628953392993","peaks":null},"FIO00160":{"exact_mz":"464.09548","inchi":"InChI=1S/C21H20O12/c22-6-13-15(27)17(29)18(30)21(32-13)33-20-16(28)14-11(26)4-8(23)5-12(14)31-19(20)7-1-2-9(24)10(25)3-7/h1-5,13,15,17-18,21-27,29-30H,6H2/t13-,15-,17+,18-,21+/m1/s1","score":"0.629320319716","peaks":null,"instrument_type":"LC-ESI-QTOF","id":"FIO00160","ms_type":"MS2","name":"Isoquercitrin","formula":"C21H20O12","precursor_type":" [M+H]+"},"FIO00483":{"exact_mz":"610.18977","inchi":"InChI=1S/C28H34O15/c1-10-21(32)23(34)25(36)27(40-10)39-9-19-22(33)24(35)26(37)28(43-19)41-12-6-14(30)20-15(31)8-17(42-18(20)7-12)11-3-4-16(38-2)13(29)5-11/h3-7,10,17,19,21-30,32-37H,8-9H2,1-2H3/t10-,17-,19+,21-,22+,23+,24-,25+,26+,27+,28+/m0/s1","score":"0.591111986992","peaks":null,"instrument_type":"LC-ESI-QTOF","ms_type":"MS2","id":"FIO00483","name":"Hesperidin","formula":"C28H34O15","precursor_type":" [M+H]+"},"PR020078":{"instrument_type":"LC-ESI-QTOF","peaks":null,"exact_mz":"464.09548","inchi":"InChI=1S/C21H20O12/c22-6-13-15(27)17(29)18(30)21(32-13)33-20-16(28)14-11(26)4-8(23)5-12(14)31-19(20)7-1-2-9(24)10(25)3-7/h1-5,13,15,17-18,21-27,29-30H,6H2/t13-,15-,17+,18-,21+/m1/s1","score":"0.609833904994","precursor_type":" [M+H]+","formula":"C21H20O12","name":"Quercetin-3-O-beta-glucopyranoside","ms_type":"MS","id":"PR020078"},"FIO00150":{"instrument_type":"LC-ESI-QTOF","peaks":null,"exact_mz":"464.09548","inchi":"InChI=1S/C21H20O12/c22-6-13-15(27)17(29)18(30)21(32-13)33-20-16(28)14-11(26)4-8(23)5-12(14)31-19(20)7-1-2-9(24)10(25)3-7/h1-5,13,15,17-18,21-27,29-30H,6H2/t13-,15+,17+,18-,21+/m1/s1","score":"0.631453810993","precursor_type":" [M+H]+","formula":"C21H20O12","name":"Hyperoside","id":"FIO00150","ms_type":"MS2"},"TY000168":{"name":"Hirsutrin","ms_type":"MS","id":"TY000168","precursor_type":"[M+H]+","formula":"C21H20O12","peaks":null,"score":"0.571213973695","inchi":"InChI=1S/C21H20O12/c22-6-13-15(27)17(29)18(30)21(32-13)33-20-16(28)14-11(26)4-8(23)5-12(14)31-19(20)7-1-2-9(24)10(25)3-7/h1-5,13,15,17-18,21-27,29-30H,6H2/t13-,15-,17+,18-,21+/m1/s1","exact_mz":"464.09548","instrument_type":"LC-ESI-ITTOF"},"PR020075":{"peaks":null,"exact_mz":"464.09548","score":"0.618103117363","inchi":"InChI=1S/C21H20O12/c22-6-13-15(27)17(29)18(30)21(32-13)33-20-16(28)14-11(26)4-8(23)5-12(14)31-19(20)7-1-2-9(24)10(25)3-7/h1-5,13,15,17-18,21-27,29-30H,6H2/t13-,15+,17+,18-,21+/m1/s1","instrument_type":"LC-ESI-QTOF","name":"Quercetin-3-beta-O-galactoside","id":"PR020075","ms_type":"MS","precursor_type":" [M+H]+","formula":"C21H20O12"},"FIO00484":{"ms_type":"MS2","id":"FIO00484","name":"Hesperidin","formula":"C28H34O15","precursor_type":" [M+H]+","score":"0.526179514801","inchi":"InChI=1S/C28H34O15/c1-10-21(32)23(34)25(36)27(40-10)39-9-19-22(33)24(35)26(37)28(43-19)41-12-6-14(30)20-15(31)8-17(42-18(20)7-12)11-3-4-16(38-2)13(29)5-11/h3-7,10,17,19,21-30,32-37H,8-9H2,1-2H3/t10-,17-,19+,21-,22+,23+,24-,25+,26+,27+,28+/m0/s1","exact_mz":"610.18977","peaks":null,"instrument_type":"LC-ESI-QTOF"},"FIO00588":{"id":"FIO00588","ms_type":"MS2","name":"Rutin","formula":"C27H30O16","precursor_type":" [M+H]+","score":"0.676089256465","inchi":"InChI=1S/C27H30O16/c1-8-17(32)20(35)22(37)26(40-8)39-7-15-18(33)21(36)23(38)27(42-15)43-25-19(34)16-13(31)5-10(28)6-14(16)41-24(25)9-2-3-11(29)12(30)4-9/h2-6,8,15,17-18,20-23,26-33,35-38H,7H2,1H3/t8-,15+,17-,18+,20+,21-,22+,23+,26+,27-/m0/s1","exact_mz":"610.15338","peaks":null,"instrument_type":"LC-ESI-QTOF"}},"mzmed":"467.1065989","mzmax":467.4065989001,"pcgroup":"1","into":"5576.989909","num_res":11,"mzmin":466.8065989},"269.0328959":{"num_res":0,"mzmin":268.7328959,"RECORDS":null,"mzmed":"269.0328959","mzmax":269.3328959001,"into":"2372.712176","pcgroup":"3"},"197.0192355":{"num_res":0,"mzmin":196.7192355,"mzmax":197.3192355001,"RECORDS":null,"mzmed":"197.0192355","into":"963.0227895","pcgroup":"2"},"196.0700972":{"mzmed":"196.0700972","RECORDS":null,"mzmax":196.3700972001,"pcgroup":"3","into":"279.2630769","num_res":0,"mzmin":195.7700972},"403.0711753":{"num_res":0,"mzmin":402.7711753,"mzmed":"403.0711753","RECORDS":null,"mzmax":403.3711753001,"pcgroup":"2","into":"399.5335385"},"146.0338015":{"RECORDS":null,"mzmed":"146.0338015","mzmax":146.3338015001,"pcgroup":"3","into":"2337.98","num_res":0,"mzmin":145.7338015},"145.0301952":{"into":"20533.65455","pcgroup":"3","mzmax":145.3301952001,"RECORDS":{"PR100005":{"peaks":null,"exact_mz":"194.05791","score":"0.526245917512","inchi":"InChI=1S/C10H10O4/c1-14-9-6-7(2-4-8(9)11)3-5-10(12)13/h2-6,11H,1H3,(H,12,13)/b5-3+","instrument_type":"LC-ESI-QTOF","name":"trans-4-Hydroxy-3-methoxycinnamate","id":"PR100005","ms_type":"MS2","precursor_type":" [M+H]+","formula":"C10H10O4"}},"mzmed":"145.0301952","mzmin":144.7301952,"num_res":1},"650.1081035":{"RECORDS":null,"mzmed":"650.1081035","mzmax":650.4081035001,"pcgroup":"1","into":"1549.122","num_res":0,"mzmin":649.8081035},"427.0703433":{"mzmed":"427.0703433","RECORDS":null,"mzmax":427.3703433001,"pcgroup":"3","into":"1897.090909","num_res":0,"mzmin":426.7703433},"251.0221026":{"mzmed":"251.0221026","RECORDS":null,"mzmax":251.3221026001,"into":"3523.02613","pcgroup":"3","num_res":0,"mzmin":250.7221026},"335.0608018":{"into":"5194.492773","pcgroup":"1","mzmax":335.3608018001,"RECORDS":null,"mzmed":"335.0608018","mzmin":334.7608018,"num_res":0},"631.1270815":{"num_res":0,"mzmin":630.8270815,"mzmed":"631.1270815","RECORDS":null,"mzmax":631.4270815001,"into":"7219.6755","pcgroup":"1"},"233.0121036":{"num_res":0,"mzmin":232.7121036,"mzmax":233.3121036001,"mzmed":"233.0121036","RECORDS":null,"pcgroup":"3","into":"3540.9"},"655.1225036":{"num_res":0,"mzmin":654.8225036,"mzmax":655.4225036001,"RECORDS":null,"mzmed":"655.1225036","pcgroup":"1","into":"1257.1268"},"334.5601886":{"mzmin":334.2601886,"num_res":0,"into":"16357.10268","pcgroup":"1","mzmed":"334.5601886","RECORDS":null,"mzmax":334.8601886001},"117.0358602":{"RECORDS":null,"mzmed":"117.0358602","mzmax":117.3358602001,"pcgroup":"3","into":"994.5956471","num_res":0,"mzmin":116.7358602},"217.047301":{"mzmax":217.3473010001,"RECORDS":null,"mzmed":"217.047301","pcgroup":"3","into":"1703.950417","num_res":0,"mzmin":216.747301},"325.5558227":{"into":"5385.764","pcgroup":"1","mzmax":325.8558227001,"mzmed":"325.5558227","RECORDS":null,"mzmin":325.2558227,"num_res":0},"176.0376081":{"mzmin":175.7376081,"num_res":4,"into":"410.713875","pcgroup":"2","mzmed":"176.0376081","RECORDS":{"JP012268":{"inchi":"InChI=1S/C10H14/c1-3-5-10-7-4-6-9(2)8-10/h4,6-8H,3,5H2,1-2H3","score":"0.771842678731","exact_mz":"134.10955","peaks":null,"instrument_type":"CI-B","ms_type":"MS","id":"JP012268","name":"3-METHYL-1-PROPYLBENZENE","formula":"C10H14","precursor_type":"MS"},"JP012273":{"formula":"C10H14","precursor_type":"MS","ms_type":"MS","id":"JP012273","name":"1,2-DIETHYLBENZENE","instrument_type":"CI-B","score":"0.834834020699","inchi":"InChI=1S/C10H14/c1-3-9-7-5-6-8-10(9)4-2/h5-8H,3-4H2,1-2H3","exact_mz":"134.10955","peaks":null},"JP012263":{"name":"BUTYLBENZENE","id":"JP012263","ms_type":"MS","precursor_type":"MS","formula":"C10H14","peaks":null,"score":"0.721608041747","inchi":"InChI=1S/C10H14/c1-2-3-7-10-8-5-4-6-9-10/h4-6,8-9H,2-3,7H2,1H3","exact_mz":"134.10955","instrument_type":"CI-B"},"JP012297":{"id":"JP012297","ms_type":"MS","name":"5-METHYL-1,3-DIISOPROPYLBENZENE","formula":"C13H20","precursor_type":"MS","exact_mz":"176.15650","score":"0.502725943227","inchi":"InChI=1S/C13H20/c1-9(2)12-6-11(5)7-13(8-12)10(3)4/h6-10H,1-5H3","peaks":null,"instrument_type":"CI-B"}},"mzmax":176.3376081001},"466.1044404":{"pcgroup":"1","into":"26116.08643","mzmax":466.4044404001,"RECORDS":{"TY000218":{"precursor_type":"[M+H]+","formula":"C21H20O12","name":"Isoquercitrin","id":"TY000218","ms_type":"MS","instrument_type":"LC-ESI-ITTOF","peaks":null,"exact_mz":"464.09548","score":"0.630268036021","inchi":"InChI=1S/C21H20O12/c22-6-13-15(27)17(29)18(30)21(32-13)33-20-16(28)14-11(26)4-8(23)5-12(14)31-19(20)7-1-2-9(24)10(25)3-7/h1-5,13,15,17-18,21-27,29-30H,6H2/t13-,15-,17+,18+,21-/m0/s1"},"FIO00589":{"formula":"C27H30O16","precursor_type":" [M+H]+","id":"FIO00589","ms_type":"MS2","name":"Rutin","instrument_type":"LC-ESI-QTOF","score":"0.628953392993","inchi":"InChI=1S/C27H30O16/c1-8-17(32)20(35)22(37)26(40-8)39-7-15-18(33)21(36)23(38)27(42-15)43-25-19(34)16-13(31)5-10(28)6-14(16)41-24(25)9-2-3-11(29)12(30)4-9/h2-6,8,15,17-18,20-23,26-33,35-38H,7H2,1H3/t8-,15+,17-,18+,20+,21-,22+,23+,26+,27-/m0/s1","exact_mz":"610.15338","peaks":null},"PB006201":{"formula":"C27H30O16","precursor_type":" [M+H]+","id":"PB006201","ms_type":"MS2","name":"Rutin ","instrument_type":"LC-ESI-QTOF","exact_mz":"610.15338","inchi":"InChI=1S/C27H30O16/c1-8-17(32)20(35)22(37)26(40-8)39-7-15-18(33)21(36)23(38)27(42-15)43-25-19(34)16-13(31)5-10(28)6-14(16)41-24(25)9-2-3-11(29)12(30)4-9/h2-6,8,15,17-18,20-23,26-33,35-38H,7H2,1H3/t8-,15+,17-,18+,20+,21-,22+,23+,26+,27-/m0/s1","score":"0.718240688151","peaks":null},"FIO00160":{"instrument_type":"LC-ESI-QTOF","exact_mz":"464.09548","inchi":"InChI=1S/C21H20O12/c22-6-13-15(27)17(29)18(30)21(32-13)33-20-16(28)14-11(26)4-8(23)5-12(14)31-19(20)7-1-2-9(24)10(25)3-7/h1-5,13,15,17-18,21-27,29-30H,6H2/t13-,15-,17+,18-,21+/m1/s1","score":"0.629320319716","peaks":null,"formula":"C21H20O12","precursor_type":" [M+H]+","ms_type":"MS2","id":"FIO00160","name":"Isoquercitrin"},"FIO00483":{"name":"Hesperidin","ms_type":"MS2","id":"FIO00483","precursor_type":" [M+H]+","formula":"C28H34O15","peaks":null,"exact_mz":"610.18977","score":"0.591111986992","inchi":"InChI=1S/C28H34O15/c1-10-21(32)23(34)25(36)27(40-10)39-9-19-22(33)24(35)26(37)28(43-19)41-12-6-14(30)20-15(31)8-17(42-18(20)7-12)11-3-4-16(38-2)13(29)5-11/h3-7,10,17,19,21-30,32-37H,8-9H2,1-2H3/t10-,17-,19+,21-,22+,23+,24-,25+,26+,27+,28+/m0/s1","instrument_type":"LC-ESI-QTOF"},"FIO00484":{"formula":"C28H34O15","precursor_type":" [M+H]+","ms_type":"MS2","id":"FIO00484","name":"Hesperidin","instrument_type":"LC-ESI-QTOF","exact_mz":"610.18977","score":"0.526179514801","inchi":"InChI=1S/C28H34O15/c1-10-21(32)23(34)25(36)27(40-10)39-9-19-22(33)24(35)26(37)28(43-19)41-12-6-14(30)20-15(31)8-17(42-18(20)7-12)11-3-4-16(38-2)13(29)5-11/h3-7,10,17,19,21-30,32-37H,8-9H2,1-2H3/t10-,17-,19+,21-,22+,23+,24-,25+,26+,27+,28+/m0/s1","peaks":null},"FIO00588":{"name":"Rutin","id":"FIO00588","ms_type":"MS2","precursor_type":" [M+H]+","formula":"C27H30O16","peaks":null,"exact_mz":"610.15338","inchi":"InChI=1S/C27H30O16/c1-8-17(32)20(35)22(37)26(40-8)39-7-15-18(33)21(36)23(38)27(42-15)43-25-19(34)16-13(31)5-10(28)6-14(16)41-24(25)9-2-3-11(29)12(30)4-9/h2-6,8,15,17-18,20-23,26-33,35-38H,7H2,1H3/t8-,15+,17-,18+,20+,21-,22+,23+,26+,27-/m0/s1","score":"0.676089256465","instrument_type":"LC-ESI-QTOF"},"PR020080":{"formula":"C27H30O16","precursor_type":" [M+H]+","id":"PR020080","ms_type":"MS","name":"Quercetin-3-O-rutinoside","instrument_type":"LC-ESI-QTOF","inchi":"InChI=1S/C27H30O16/c1-8-17(32)20(35)22(37)26(40-8)39-7-15-18(33)21(36)23(38)27(42-15)43-25-19(34)16-13(31)5-10(28)6-14(16)41-24(25)9-2-3-11(29)12(30)4-9/h2-6,8,15,17-18,20-23,26-33,35-38H,7H2,1H3/t8-,15+,17-,18+,20+,21-,22+,23+,26+,27-/m0/s1","score":"0.593021369395","exact_mz":"610.15338","peaks":null},"PR020046":{"exact_mz":"610.18977","score":"0.503808010925","inchi":"InChI=1S/C28H34O15/c1-10-21(32)23(34)25(36)27(40-10)39-9-19-22(33)24(35)26(37)28(43-19)41-12-6-14(30)20-15(31)8-17(42-18(20)7-12)11-3-4-16(38-2)13(29)5-11/h3-7,10,17,19,21-30,32-37H,8-9H2,1-2H3/t10-,17-,19+,21-,22+,23+,24-,25+,26+,27+,28+/m0/s1","peaks":null,"instrument_type":"LC-ESI-QTOF","id":"PR020046","ms_type":"MS","name":"Hesperetin-7-O-rutinoside","formula":"C28H34O15","precursor_type":" [M+H]+"},"PR020045":{"formula":"C28H34O15","precursor_type":" [M+H]+","id":"PR020045","ms_type":"MS","name":"Hesperetin-7-O-neohesperidoside","instrument_type":"LC-ESI-QTOF","exact_mz":"610.18977","score":"0.585927069664","inchi":"InChI=1S/C28H34O15/c1-10-21(33)23(35)25(37)27(39-10)43-26-24(36)22(34)19(9-29)42-28(26)40-12-6-14(31)20-15(32)8-17(41-18(20)7-12)11-3-4-16(38-2)13(30)5-11/h3-7,10,17,19,21-31,33-37H,8-9H2,1-2H3/t10-,17-,19+,21-,22+,23+,24-,25+,26+,27-,28+/m0/s1","peaks":null},"PR020078":{"precursor_type":" [M+H]+","formula":"C21H20O12","name":"Quercetin-3-O-beta-glucopyranoside","ms_type":"MS","id":"PR020078","instrument_type":"LC-ESI-QTOF","peaks":null,"inchi":"InChI=1S/C21H20O12/c22-6-13-15(27)17(29)18(30)21(32-13)33-20-16(28)14-11(26)4-8(23)5-12(14)31-19(20)7-1-2-9(24)10(25)3-7/h1-5,13,15,17-18,21-27,29-30H,6H2/t13-,15-,17+,18-,21+/m1/s1","score":"0.609833904994","exact_mz":"464.09548"},"TY000246":{"formula":"C27H30O16","precursor_type":"[M+H]+","id":"TY000246","ms_type":"MS","name":"Rutin","instrument_type":"LC-ESI-ITTOF","inchi":"InChI=1S/C27H30O16/c1-8-17(32)20(35)22(37)26(40-8)39-7-15-18(33)21(36)23(38)27(42-15)43-25-19(34)16-13(31)5-10(28)6-14(16)41-24(25)9-2-3-11(29)12(30)4-9/h2-6,8,15,17-18,20-23,26-33,35-38H,7H2,1H3/t8-,15+,17-,18+,20+,21-,22+,23+,26+,27-/m0/s1","score":"0.722183932245","exact_mz":"610.15338","peaks":null},"TY000168":{"peaks":null,"inchi":"InChI=1S/C21H20O12/c22-6-13-15(27)17(29)18(30)21(32-13)33-20-16(28)14-11(26)4-8(23)5-12(14)31-19(20)7-1-2-9(24)10(25)3-7/h1-5,13,15,17-18,21-27,29-30H,6H2/t13-,15-,17+,18-,21+/m1/s1","score":"0.571213973695","exact_mz":"464.09548","instrument_type":"LC-ESI-ITTOF","name":"Hirsutrin","ms_type":"MS","id":"TY000168","precursor_type":"[M+H]+","formula":"C21H20O12"},"FIO00150":{"ms_type":"MS2","id":"FIO00150","name":"Hyperoside","formula":"C21H20O12","precursor_type":" [M+H]+","inchi":"InChI=1S/C21H20O12/c22-6-13-15(27)17(29)18(30)21(32-13)33-20-16(28)14-11(26)4-8(23)5-12(14)31-19(20)7-1-2-9(24)10(25)3-7/h1-5,13,15,17-18,21-27,29-30H,6H2/t13-,15+,17+,18-,21+/m1/s1","score":"0.631453810993","exact_mz":"464.09548","peaks":null,"instrument_type":"LC-ESI-QTOF"},"PR020075":{"instrument_type":"LC-ESI-QTOF","peaks":null,"exact_mz":"464.09548","score":"0.618103117363","inchi":"InChI=1S/C21H20O12/c22-6-13-15(27)17(29)18(30)21(32-13)33-20-16(28)14-11(26)4-8(23)5-12(14)31-19(20)7-1-2-9(24)10(25)3-7/h1-5,13,15,17-18,21-27,29-30H,6H2/t13-,15+,17+,18-,21+/m1/s1","precursor_type":" [M+H]+","formula":"C21H20O12","name":"Quercetin-3-beta-O-galactoside","id":"PR020075","ms_type":"MS"}},"mzmed":"466.1044404","mzmin":465.8044404,"num_res":15},"175.0362187":{"num_res":11,"mzmin":174.7362187,"mzmax":175.3362187001,"RECORDS":{"JP012267":{"inchi":"InChI=1S/C10H14/c1-3-6-10-8-5-4-7-9(10)2/h4-5,7-8H,3,6H2,1-2H3","score":"0.793494288532","exact_mz":"134.10955","peaks":null,"instrument_type":"CI-B","ms_type":"MS","id":"JP012267","name":"2-METHYL-1-PROPYLBENZENE","formula":"C10H14","precursor_type":"MS"},"JP012263":{"peaks":null,"exact_mz":"134.10955","inchi":"InChI=1S/C10H14/c1-2-3-7-10-8-5-4-6-9-10/h4-6,8-9H,2-3,7H2,1H3","score":"0.721608041747","instrument_type":"CI-B","name":"BUTYLBENZENE","id":"JP012263","ms_type":"MS","precursor_type":"MS","formula":"C10H14"},"JP012268":{"id":"JP012268","ms_type":"MS","name":"3-METHYL-1-PROPYLBENZENE","formula":"C10H14","precursor_type":"MS","score":"0.771842678731","inchi":"InChI=1S/C10H14/c1-3-5-10-7-4-6-9(2)8-10/h4,6-8H,3,5H2,1-2H3","exact_mz":"134.10955","peaks":null,"instrument_type":"CI-B"},"JP012276":{"name":"1-ETHYL-2,3-DIMETHYLBENZENE","id":"JP012276","ms_type":"MS","precursor_type":"MS","formula":"C10H14","peaks":null,"inchi":"InChI=1S/C10H14/c1-4-10-7-5-6-8(2)9(10)3/h5-7H,4H2,1-3H3","score":"0.842444634941","exact_mz":"134.10955","instrument_type":"CI-B"},"JP012297":{"formula":"C13H20","precursor_type":"MS","id":"JP012297","ms_type":"MS","name":"5-METHYL-1,3-DIISOPROPYLBENZENE","instrument_type":"CI-B","inchi":"InChI=1S/C13H20/c1-9(2)12-6-11(5)7-13(8-12)10(3)4/h6-10H,1-5H3","score":"0.502725943227","exact_mz":"176.15650","peaks":null},"JP012274":{"name":"1,3-DIETHYLBENZENE","ms_type":"MS","id":"JP012274","precursor_type":"MS","formula":"C10H14","peaks":null,"exact_mz":"134.10955","inchi":"InChI=1S/C10H14/c1-3-9-6-5-7-10(4-2)8-9/h5-8H,3-4H2,1-2H3","score":"0.825082890799","instrument_type":"CI-B"},"JP012275":{"name":"1,4-DIETHYLBENZENE","id":"JP012275","ms_type":"MS","precursor_type":"MS","formula":"C10H14","peaks":null,"inchi":"InChI=1S/C10H14/c1-3-9-5-7-10(4-2)8-6-9/h5-8H,3-4H2,1-2H3","score":"0.812855498092","exact_mz":"134.10955","instrument_type":"CI-B"},"JP012273":{"id":"JP012273","ms_type":"MS","name":"1,2-DIETHYLBENZENE","formula":"C10H14","precursor_type":"MS","exact_mz":"134.10955","score":"0.834834020699","inchi":"InChI=1S/C10H14/c1-3-9-7-5-6-8-10(9)4-2/h5-8H,3-4H2,1-2H3","peaks":null,"instrument_type":"CI-B"},"JP012269":{"score":"0.766089270107","inchi":"InChI=1S/C10H14/c1-3-4-10-7-5-9(2)6-8-10/h5-8H,3-4H2,1-2H3","exact_mz":"134.10955","peaks":null,"instrument_type":"CI-B","ms_type":"MS","id":"JP012269","name":"4-METHYL-1-PROPYLBENZENE","formula":"C10H14","precursor_type":"MS"},"JP012279":{"instrument_type":"CI-B","inchi":"InChI=1S/C10H14/c1-4-10-6-8(2)5-9(3)7-10/h5-7H,4H2,1-3H3","score":"0.822346316415","exact_mz":"134.10955","peaks":null,"formula":"C10H14","precursor_type":"MS","id":"JP012279","ms_type":"MS","name":"1-ETHYL-3,5-DIMETHYLBENZENE"},"JP012277":{"instrument_type":"CI-B","peaks":null,"exact_mz":"134.10955","score":"0.809347489341","inchi":"InChI=1S/C10H14/c1-4-10-6-5-8(2)9(3)7-10/h5-7H,4H2,1-3H3","precursor_type":"MS","formula":"C10H14","name":"1-ETHYL-3,4-DIMETHYLBENZENE","id":"JP012277","ms_type":"MS"}},"mzmed":"175.0362187","pcgroup":"2","into":"7465.729412"},"301.0504305":{"mzmin":300.7504305,"num_res":0,"pcgroup":"3","into":"486.0704762","RECORDS":null,"mzmed":"301.0504305","mzmax":301.3504305001},"334.0589389":{"RECORDS":null,"mzmed":"334.0589389","mzmax":334.3589389001,"into":"54965.0688","pcgroup":"1","num_res":0,"mzmin":333.7589389},"135.0459028":{"mzmax":135.3459028001,"RECORDS":{"JP012297":{"instrument_type":"CI-B","exact_mz":"176.15650","inchi":"InChI=1S/C13H20/c1-9(2)12-6-11(5)7-13(8-12)10(3)4/h6-10H,1-5H3","score":"0.502725943227","peaks":null,"formula":"C13H20","precursor_type":"MS","ms_type":"MS","id":"JP012297","name":"5-METHYL-1,3-DIISOPROPYLBENZENE"},"JP012274":{"precursor_type":"MS","formula":"C10H14","name":"1,3-DIETHYLBENZENE","ms_type":"MS","id":"JP012274","instrument_type":"CI-B","peaks":null,"score":"0.825082890799","inchi":"InChI=1S/C10H14/c1-3-9-6-5-7-10(4-2)8-9/h5-8H,3-4H2,1-2H3","exact_mz":"134.10955"},"JP012276":{"precursor_type":"MS","formula":"C10H14","name":"1-ETHYL-2,3-DIMETHYLBENZENE","id":"JP012276","ms_type":"MS","instrument_type":"CI-B","peaks":null,"exact_mz":"134.10955","score":"0.842444634941","inchi":"InChI=1S/C10H14/c1-4-10-7-5-6-8(2)9(10)3/h5-7H,4H2,1-3H3"},"JP012275":{"formula":"C10H14","precursor_type":"MS","id":"JP012275","ms_type":"MS","name":"1,4-DIETHYLBENZENE","instrument_type":"CI-B","exact_mz":"134.10955","inchi":"InChI=1S/C10H14/c1-3-9-5-7-10(4-2)8-6-9/h5-8H,3-4H2,1-2H3","score":"0.812855498092","peaks":null},"JP012273":{"inchi":"InChI=1S/C10H14/c1-3-9-7-5-6-8-10(9)4-2/h5-8H,3-4H2,1-2H3","score":"0.834834020699","exact_mz":"134.10955","peaks":null,"instrument_type":"CI-B","id":"JP012273","ms_type":"MS","name":"1,2-DIETHYLBENZENE","formula":"C10H14","precursor_type":"MS"},"JP012269":{"name":"4-METHYL-1-PROPYLBENZENE","id":"JP012269","ms_type":"MS","precursor_type":"MS","formula":"C10H14","peaks":null,"exact_mz":"134.10955","inchi":"InChI=1S/C10H14/c1-3-4-10-7-5-9(2)6-8-10/h5-8H,3-4H2,1-2H3","score":"0.766089270107","instrument_type":"CI-B"},"JP012277":{"precursor_type":"MS","formula":"C10H14","name":"1-ETHYL-3,4-DIMETHYLBENZENE","ms_type":"MS","id":"JP012277","instrument_type":"CI-B","peaks":null,"exact_mz":"134.10955","inchi":"InChI=1S/C10H14/c1-4-10-6-5-8(2)9(3)7-10/h5-7H,4H2,1-3H3","score":"0.809347489341"},"JP012279":{"instrument_type":"CI-B","exact_mz":"134.10955","score":"0.822346316415","inchi":"InChI=1S/C10H14/c1-4-10-6-8(2)5-9(3)7-10/h5-7H,4H2,1-3H3","peaks":null,"formula":"C10H14","precursor_type":"MS","id":"JP012279","ms_type":"MS","name":"1-ETHYL-3,5-DIMETHYLBENZENE"},"JP012267":{"id":"JP012267","ms_type":"MS","name":"2-METHYL-1-PROPYLBENZENE","formula":"C10H14","precursor_type":"MS","exact_mz":"134.10955","inchi":"InChI=1S/C10H14/c1-3-6-10-8-5-4-7-9(10)2/h4-5,7-8H,3,6H2,1-2H3","score":"0.793494288532","peaks":null,"instrument_type":"CI-B"},"JP012263":{"formula":"C10H14","precursor_type":"MS","id":"JP012263","ms_type":"MS","name":"BUTYLBENZENE","instrument_type":"CI-B","exact_mz":"134.10955","inchi":"InChI=1S/C10H14/c1-2-3-7-10-8-5-4-6-9-10/h4-6,8-9H,2-3,7H2,1H3","score":"0.721608041747","peaks":null},"JP012268":{"instrument_type":"CI-B","peaks":null,"inchi":"InChI=1S/C10H14/c1-3-5-10-7-4-6-9(2)8-10/h4,6-8H,3,5H2,1-2H3","score":"0.771842678731","exact_mz":"134.10955","precursor_type":"MS","formula":"C10H14","name":"3-METHYL-1-PROPYLBENZENE","ms_type":"MS","id":"JP012268"}},"mzmed":"135.0459028","pcgroup":"2","into":"97555.81142","num_res":11,"mzmin":134.7459028},"178.0578014":{"pcgroup":"3","into":"3510.916043","mzmax":178.3578014001,"mzmed":"178.0578014","RECORDS":null,"mzmin":177.7578014,"num_res":0},"308.0261572":{"into":"751.5176","pcgroup":"3","mzmed":"308.0261572","RECORDS":null,"mzmax":308.3261572001,"mzmin":307.7261572,"num_res":0},"519.0203434":{"into":"3261.486136","pcgroup":"1","mzmax":519.3203434001,"mzmed":"519.0203434","RECORDS":null,"mzmin":518.7203434,"num_res":0},"635.1427623":{"num_res":0,"mzmin":634.8427623,"mzmax":635.4427623001,"RECORDS":null,"mzmed":"635.1427623","into":"7234.640417","pcgroup":"1"},"636.1507892":{"num_res":0,"mzmin":635.8507892,"RECORDS":null,"mzmed":"636.1507892","mzmax":636.4507892001,"into":"1583.057478","pcgroup":"1"},"279.0200882":{"mzmin":278.7200882,"num_res":0,"into":"740.7787059","pcgroup":"3","RECORDS":null,"mzmed":"279.0200882","mzmax":279.3200882001},"649.6002579":{"num_res":0,"mzmin":649.3002579,"mzmed":"649.6002579","RECORDS":null,"mzmax":649.9002579001,"into":"972.9296842","pcgroup":"1"},"612.1618463":{"num_res":7,"mzmin":611.8618463,"mzmax":612.4618463001,"mzmed":"612.1618463","RECORDS":{"TY000246":{"peaks":null,"inchi":"InChI=1S/C27H30O16/c1-8-17(32)20(35)22(37)26(40-8)39-7-15-18(33)21(36)23(38)27(42-15)43-25-19(34)16-13(31)5-10(28)6-14(16)41-24(25)9-2-3-11(29)12(30)4-9/h2-6,8,15,17-18,20-23,26-33,35-38H,7H2,1H3/t8-,15+,17-,18+,20+,21-,22+,23+,26+,27-/m0/s1","score":"0.722183932245","exact_mz":"610.15338","instrument_type":"LC-ESI-ITTOF","name":"Rutin","ms_type":"MS","id":"TY000246","precursor_type":"[M+H]+","formula":"C27H30O16"},"PR020046":{"peaks":null,"inchi":"InChI=1S/C28H34O15/c1-10-21(32)23(34)25(36)27(40-10)39-9-19-22(33)24(35)26(37)28(43-19)41-12-6-14(30)20-15(31)8-17(42-18(20)7-12)11-3-4-16(38-2)13(29)5-11/h3-7,10,17,19,21-30,32-37H,8-9H2,1-2H3/t10-,17-,19+,21-,22+,23+,24-,25+,26+,27+,28+/m0/s1","score":"0.503808010925","exact_mz":"610.18977","instrument_type":"LC-ESI-QTOF","name":"Hesperetin-7-O-rutinoside","id":"PR020046","ms_type":"MS","precursor_type":" [M+H]+","formula":"C28H34O15"},"PR020080":{"ms_type":"MS","id":"PR020080","name":"Quercetin-3-O-rutinoside","formula":"C27H30O16","precursor_type":" [M+H]+","exact_mz":"610.15338","inchi":"InChI=1S/C27H30O16/c1-8-17(32)20(35)22(37)26(40-8)39-7-15-18(33)21(36)23(38)27(42-15)43-25-19(34)16-13(31)5-10(28)6-14(16)41-24(25)9-2-3-11(29)12(30)4-9/h2-6,8,15,17-18,20-23,26-33,35-38H,7H2,1H3/t8-,15+,17-,18+,20+,21-,22+,23+,26+,27-/m0/s1","score":"0.593021369395","peaks":null,"instrument_type":"LC-ESI-QTOF"},"PB006201":{"precursor_type":" [M+H]+","formula":"C27H30O16","name":"Rutin ","id":"PB006201","ms_type":"MS2","instrument_type":"LC-ESI-QTOF","peaks":null,"exact_mz":"610.15338","score":"0.718240688151","inchi":"InChI=1S/C27H30O16/c1-8-17(32)20(35)22(37)26(40-8)39-7-15-18(33)21(36)23(38)27(42-15)43-25-19(34)16-13(31)5-10(28)6-14(16)41-24(25)9-2-3-11(29)12(30)4-9/h2-6,8,15,17-18,20-23,26-33,35-38H,7H2,1H3/t8-,15+,17-,18+,20+,21-,22+,23+,26+,27-/m0/s1"},"FIO00588":{"ms_type":"MS2","id":"FIO00588","name":"Rutin","formula":"C27H30O16","precursor_type":" [M+H]+","inchi":"InChI=1S/C27H30O16/c1-8-17(32)20(35)22(37)26(40-8)39-7-15-18(33)21(36)23(38)27(42-15)43-25-19(34)16-13(31)5-10(28)6-14(16)41-24(25)9-2-3-11(29)12(30)4-9/h2-6,8,15,17-18,20-23,26-33,35-38H,7H2,1H3/t8-,15+,17-,18+,20+,21-,22+,23+,26+,27-/m0/s1","score":"0.676089256465","exact_mz":"610.15338","peaks":null,"instrument_type":"LC-ESI-QTOF"},"FIO00483":{"peaks":null,"exact_mz":"610.18977","score":"0.591111986992","inchi":"InChI=1S/C28H34O15/c1-10-21(32)23(34)25(36)27(40-10)39-9-19-22(33)24(35)26(37)28(43-19)41-12-6-14(30)20-15(31)8-17(42-18(20)7-12)11-3-4-16(38-2)13(29)5-11/h3-7,10,17,19,21-30,32-37H,8-9H2,1-2H3/t10-,17-,19+,21-,22+,23+,24-,25+,26+,27+,28+/m0/s1","instrument_type":"LC-ESI-QTOF","name":"Hesperidin","ms_type":"MS2","id":"FIO00483","precursor_type":" [M+H]+","formula":"C28H34O15"},"PR020045":{"instrument_type":"LC-ESI-QTOF","peaks":null,"inchi":"InChI=1S/C28H34O15/c1-10-21(33)23(35)25(37)27(39-10)43-26-24(36)22(34)19(9-29)42-28(26)40-12-6-14(31)20-15(32)8-17(41-18(20)7-12)11-3-4-16(38-2)13(30)5-11/h3-7,10,17,19,21-31,33-37H,8-9H2,1-2H3/t10-,17-,19+,21-,22+,23+,24-,25+,26+,27-,28+/m0/s1","score":"0.585927069664","exact_mz":"610.18977","precursor_type":" [M+H]+","formula":"C28H34O15","name":"Hesperetin-7-O-neohesperidoside","id":"PR020045","ms_type":"MS"}},"into":"16140.56724","pcgroup":"1"},"649.1057016":{"into":"5106.935619","pcgroup":"1","mzmax":649.4057016001,"mzmed":"649.1057016","RECORDS":null,"mzmin":648.8057016,"num_res":0},"326.0658445":{"mzmin":325.7658445,"num_res":0,"pcgroup":"1","into":"3192.858682","mzmax":326.3658445001,"mzmed":"326.0658445","RECORDS":null},"303.0485467":{"mzmin":302.7485467,"num_res":15,"into":"247182.3356","pcgroup":"1","mzmed":"303.0485467","RECORDS":{"FIO00483":{"precursor_type":" [M+H]+","formula":"C28H34O15","name":"Hesperidin","id":"FIO00483","ms_type":"MS2","instrument_type":"LC-ESI-QTOF","peaks":null,"inchi":"InChI=1S/C28H34O15/c1-10-21(32)23(34)25(36)27(40-10)39-9-19-22(33)24(35)26(37)28(43-19)41-12-6-14(30)20-15(31)8-17(42-18(20)7-12)11-3-4-16(38-2)13(29)5-11/h3-7,10,17,19,21-30,32-37H,8-9H2,1-2H3/t10-,17-,19+,21-,22+,23+,24-,25+,26+,27+,28+/m0/s1","score":"0.591111986992","exact_mz":"610.18977"},"FIO00160":{"precursor_type":" [M+H]+","formula":"C21H20O12","name":"Isoquercitrin","id":"FIO00160","ms_type":"MS2","instrument_type":"LC-ESI-QTOF","peaks":null,"exact_mz":"464.09548","inchi":"InChI=1S/C21H20O12/c22-6-13-15(27)17(29)18(30)21(32-13)33-20-16(28)14-11(26)4-8(23)5-12(14)31-19(20)7-1-2-9(24)10(25)3-7/h1-5,13,15,17-18,21-27,29-30H,6H2/t13-,15-,17+,18-,21+/m1/s1","score":"0.629320319716"},"PB006201":{"precursor_type":" [M+H]+","formula":"C27H30O16","name":"Rutin ","ms_type":"MS2","id":"PB006201","instrument_type":"LC-ESI-QTOF","peaks":null,"inchi":"InChI=1S/C27H30O16/c1-8-17(32)20(35)22(37)26(40-8)39-7-15-18(33)21(36)23(38)27(42-15)43-25-19(34)16-13(31)5-10(28)6-14(16)41-24(25)9-2-3-11(29)12(30)4-9/h2-6,8,15,17-18,20-23,26-33,35-38H,7H2,1H3/t8-,15+,17-,18+,20+,21-,22+,23+,26+,27-/m0/s1","score":"0.718240688151","exact_mz":"610.15338"},"TY000218":{"ms_type":"MS","id":"TY000218","name":"Isoquercitrin","formula":"C21H20O12","precursor_type":"[M+H]+","score":"0.630268036021","inchi":"InChI=1S/C21H20O12/c22-6-13-15(27)17(29)18(30)21(32-13)33-20-16(28)14-11(26)4-8(23)5-12(14)31-19(20)7-1-2-9(24)10(25)3-7/h1-5,13,15,17-18,21-27,29-30H,6H2/t13-,15-,17+,18+,21-/m0/s1","exact_mz":"464.09548","peaks":null,"instrument_type":"LC-ESI-ITTOF"},"FIO00589":{"instrument_type":"LC-ESI-QTOF","exact_mz":"610.15338","inchi":"InChI=1S/C27H30O16/c1-8-17(32)20(35)22(37)26(40-8)39-7-15-18(33)21(36)23(38)27(42-15)43-25-19(34)16-13(31)5-10(28)6-14(16)41-24(25)9-2-3-11(29)12(30)4-9/h2-6,8,15,17-18,20-23,26-33,35-38H,7H2,1H3/t8-,15+,17-,18+,20+,21-,22+,23+,26+,27-/m0/s1","score":"0.628953392993","peaks":null,"formula":"C27H30O16","precursor_type":" [M+H]+","ms_type":"MS2","id":"FIO00589","name":"Rutin"},"PR020075":{"formula":"C21H20O12","precursor_type":" [M+H]+","id":"PR020075","ms_type":"MS","name":"Quercetin-3-beta-O-galactoside","instrument_type":"LC-ESI-QTOF","exact_mz":"464.09548","score":"0.618103117363","inchi":"InChI=1S/C21H20O12/c22-6-13-15(27)17(29)18(30)21(32-13)33-20-16(28)14-11(26)4-8(23)5-12(14)31-19(20)7-1-2-9(24)10(25)3-7/h1-5,13,15,17-18,21-27,29-30H,6H2/t13-,15+,17+,18-,21+/m1/s1","peaks":null},"TY000168":{"name":"Hirsutrin","id":"TY000168","ms_type":"MS","precursor_type":"[M+H]+","formula":"C21H20O12","peaks":null,"score":"0.571213973695","inchi":"InChI=1S/C21H20O12/c22-6-13-15(27)17(29)18(30)21(32-13)33-20-16(28)14-11(26)4-8(23)5-12(14)31-19(20)7-1-2-9(24)10(25)3-7/h1-5,13,15,17-18,21-27,29-30H,6H2/t13-,15-,17+,18-,21+/m1/s1","exact_mz":"464.09548","instrument_type":"LC-ESI-ITTOF"},"FIO00150":{"formula":"C21H20O12","precursor_type":" [M+H]+","id":"FIO00150","ms_type":"MS2","name":"Hyperoside","instrument_type":"LC-ESI-QTOF","exact_mz":"464.09548","score":"0.631453810993","inchi":"InChI=1S/C21H20O12/c22-6-13-15(27)17(29)18(30)21(32-13)33-20-16(28)14-11(26)4-8(23)5-12(14)31-19(20)7-1-2-9(24)10(25)3-7/h1-5,13,15,17-18,21-27,29-30H,6H2/t13-,15+,17+,18-,21+/m1/s1","peaks":null},"TY000246":{"instrument_type":"LC-ESI-ITTOF","score":"0.722183932245","inchi":"InChI=1S/C27H30O16/c1-8-17(32)20(35)22(37)26(40-8)39-7-15-18(33)21(36)23(38)27(42-15)43-25-19(34)16-13(31)5-10(28)6-14(16)41-24(25)9-2-3-11(29)12(30)4-9/h2-6,8,15,17-18,20-23,26-33,35-38H,7H2,1H3/t8-,15+,17-,18+,20+,21-,22+,23+,26+,27-/m0/s1","exact_mz":"610.15338","peaks":null,"formula":"C27H30O16","precursor_type":"[M+H]+","id":"TY000246","ms_type":"MS","name":"Rutin"},"PR020078":{"formula":"C21H20O12","precursor_type":" [M+H]+","id":"PR020078","ms_type":"MS","name":"Quercetin-3-O-beta-glucopyranoside","instrument_type":"LC-ESI-QTOF","score":"0.609833904994","inchi":"InChI=1S/C21H20O12/c22-6-13-15(27)17(29)18(30)21(32-13)33-20-16(28)14-11(26)4-8(23)5-12(14)31-19(20)7-1-2-9(24)10(25)3-7/h1-5,13,15,17-18,21-27,29-30H,6H2/t13-,15-,17+,18-,21+/m1/s1","exact_mz":"464.09548","peaks":null},"PR020045":{"precursor_type":" [M+H]+","formula":"C28H34O15","name":"Hesperetin-7-O-neohesperidoside","id":"PR020045","ms_type":"MS","instrument_type":"LC-ESI-QTOF","peaks":null,"exact_mz":"610.18977","inchi":"InChI=1S/C28H34O15/c1-10-21(33)23(35)25(37)27(39-10)43-26-24(36)22(34)19(9-29)42-28(26)40-12-6-14(31)20-15(32)8-17(41-18(20)7-12)11-3-4-16(38-2)13(30)5-11/h3-7,10,17,19,21-31,33-37H,8-9H2,1-2H3/t10-,17-,19+,21-,22+,23+,24-,25+,26+,27-,28+/m0/s1","score":"0.585927069664"},"PR020046":{"exact_mz":"610.18977","score":"0.503808010925","inchi":"InChI=1S/C28H34O15/c1-10-21(32)23(34)25(36)27(40-10)39-9-19-22(33)24(35)26(37)28(43-19)41-12-6-14(30)20-15(31)8-17(42-18(20)7-12)11-3-4-16(38-2)13(29)5-11/h3-7,10,17,19,21-30,32-37H,8-9H2,1-2H3/t10-,17-,19+,21-,22+,23+,24-,25+,26+,27+,28+/m0/s1","peaks":null,"instrument_type":"LC-ESI-QTOF","id":"PR020046","ms_type":"MS","name":"Hesperetin-7-O-rutinoside","formula":"C28H34O15","precursor_type":" [M+H]+"},"PR020080":{"inchi":"InChI=1S/C27H30O16/c1-8-17(32)20(35)22(37)26(40-8)39-7-15-18(33)21(36)23(38)27(42-15)43-25-19(34)16-13(31)5-10(28)6-14(16)41-24(25)9-2-3-11(29)12(30)4-9/h2-6,8,15,17-18,20-23,26-33,35-38H,7H2,1H3/t8-,15+,17-,18+,20+,21-,22+,23+,26+,27-/m0/s1","score":"0.593021369395","exact_mz":"610.15338","peaks":null,"instrument_type":"LC-ESI-QTOF","id":"PR020080","ms_type":"MS","name":"Quercetin-3-O-rutinoside","formula":"C27H30O16","precursor_type":" [M+H]+"},"FIO00484":{"instrument_type":"LC-ESI-QTOF","peaks":null,"score":"0.526179514801","inchi":"InChI=1S/C28H34O15/c1-10-21(32)23(34)25(36)27(40-10)39-9-19-22(33)24(35)26(37)28(43-19)41-12-6-14(30)20-15(31)8-17(42-18(20)7-12)11-3-4-16(38-2)13(29)5-11/h3-7,10,17,19,21-30,32-37H,8-9H2,1-2H3/t10-,17-,19+,21-,22+,23+,24-,25+,26+,27+,28+/m0/s1","exact_mz":"610.18977","precursor_type":" [M+H]+","formula":"C28H34O15","name":"Hesperidin","ms_type":"MS2","id":"FIO00484"},"FIO00588":{"name":"Rutin","id":"FIO00588","ms_type":"MS2","precursor_type":" [M+H]+","formula":"C27H30O16","peaks":null,"exact_mz":"610.15338","inchi":"InChI=1S/C27H30O16/c1-8-17(32)20(35)22(37)26(40-8)39-7-15-18(33)21(36)23(38)27(42-15)43-25-19(34)16-13(31)5-10(28)6-14(16)41-24(25)9-2-3-11(29)12(30)4-9/h2-6,8,15,17-18,20-23,26-33,35-38H,7H2,1H3/t8-,15+,17-,18+,20+,21-,22+,23+,26+,27-/m0/s1","score":"0.676089256465","instrument_type":"LC-ESI-QTOF"}},"mzmax":303.3485467001},"717.0893975":{"mzmin":716.7893975,"num_res":0,"into":"453.1308","pcgroup":"1","mzmed":"717.0893975","RECORDS":null,"mzmax":717.3893975001},"149.0608613":{"num_res":1,"mzmin":148.7608613,"mzmax":149.3608613001,"mzmed":"149.0608613","RECORDS":{"PR100005":{"formula":"C10H10O4","precursor_type":" [M+H]+","ms_type":"MS2","id":"PR100005","name":"trans-4-Hydroxy-3-methoxycinnamate","instrument_type":"LC-ESI-QTOF","score":"0.526245917512","inchi":"InChI=1S/C10H10O4/c1-14-9-6-7(2-4-8(9)11)3-5-10(12)13/h2-6,11H,1H3,(H,12,13)/b5-3+","exact_mz":"194.05791","peaks":null}},"into":"3561.349167","pcgroup":"3"},"445.074958":{"pcgroup":"3","into":"1661.996368","mzmax":445.3749580001,"RECORDS":null,"mzmed":"445.074958","mzmin":444.774958,"num_res":0},"472.296343":{"RECORDS":null,"mzmed":"472.296343","mzmax":472.5963430001,"pcgroup":"3","into":"369.0139231","num_res":0,"mzmin":471.996343},"371.2623675":{"mzmin":370.9623675,"num_res":0,"pcgroup":"3","into":"1014.632667","mzmax":371.5623675001,"mzmed":"371.2623675","RECORDS":null},"613.1621027":{"mzmin":612.8621027,"num_res":7,"pcgroup":"1","into":"3880.703571","mzmax":613.4621027001,"mzmed":"613.1621027","RECORDS":{"TY000246":{"id":"TY000246","ms_type":"MS","name":"Rutin","formula":"C27H30O16","precursor_type":"[M+H]+","exact_mz":"610.15338","inchi":"InChI=1S/C27H30O16/c1-8-17(32)20(35)22(37)26(40-8)39-7-15-18(33)21(36)23(38)27(42-15)43-25-19(34)16-13(31)5-10(28)6-14(16)41-24(25)9-2-3-11(29)12(30)4-9/h2-6,8,15,17-18,20-23,26-33,35-38H,7H2,1H3/t8-,15+,17-,18+,20+,21-,22+,23+,26+,27-/m0/s1","score":"0.722183932245","peaks":null,"instrument_type":"LC-ESI-ITTOF"},"FIO00483":{"score":"0.591111986992","inchi":"InChI=1S/C28H34O15/c1-10-21(32)23(34)25(36)27(40-10)39-9-19-22(33)24(35)26(37)28(43-19)41-12-6-14(30)20-15(31)8-17(42-18(20)7-12)11-3-4-16(38-2)13(29)5-11/h3-7,10,17,19,21-30,32-37H,8-9H2,1-2H3/t10-,17-,19+,21-,22+,23+,24-,25+,26+,27+,28+/m0/s1","exact_mz":"610.18977","peaks":null,"instrument_type":"LC-ESI-QTOF","id":"FIO00483","ms_type":"MS2","name":"Hesperidin","formula":"C28H34O15","precursor_type":" [M+H]+"},"PR020045":{"formula":"C28H34O15","precursor_type":" [M+H]+","ms_type":"MS","id":"PR020045","name":"Hesperetin-7-O-neohesperidoside","instrument_type":"LC-ESI-QTOF","exact_mz":"610.18977","inchi":"InChI=1S/C28H34O15/c1-10-21(33)23(35)25(37)27(39-10)43-26-24(36)22(34)19(9-29)42-28(26)40-12-6-14(31)20-15(32)8-17(41-18(20)7-12)11-3-4-16(38-2)13(30)5-11/h3-7,10,17,19,21-31,33-37H,8-9H2,1-2H3/t10-,17-,19+,21-,22+,23+,24-,25+,26+,27-,28+/m0/s1","score":"0.585927069664","peaks":null},"PR020046":{"name":"Hesperetin-7-O-rutinoside","ms_type":"MS","id":"PR020046","precursor_type":" [M+H]+","formula":"C28H34O15","peaks":null,"inchi":"InChI=1S/C28H34O15/c1-10-21(32)23(34)25(36)27(40-10)39-9-19-22(33)24(35)26(37)28(43-19)41-12-6-14(30)20-15(31)8-17(42-18(20)7-12)11-3-4-16(38-2)13(29)5-11/h3-7,10,17,19,21-30,32-37H,8-9H2,1-2H3/t10-,17-,19+,21-,22+,23+,24-,25+,26+,27+,28+/m0/s1","score":"0.503808010925","exact_mz":"610.18977","instrument_type":"LC-ESI-QTOF"},"PB006201":{"id":"PB006201","ms_type":"MS2","name":"Rutin ","formula":"C27H30O16","precursor_type":" [M+H]+","inchi":"InChI=1S/C27H30O16/c1-8-17(32)20(35)22(37)26(40-8)39-7-15-18(33)21(36)23(38)27(42-15)43-25-19(34)16-13(31)5-10(28)6-14(16)41-24(25)9-2-3-11(29)12(30)4-9/h2-6,8,15,17-18,20-23,26-33,35-38H,7H2,1H3/t8-,15+,17-,18+,20+,21-,22+,23+,26+,27-/m0/s1","score":"0.718240688151","exact_mz":"610.15338","peaks":null,"instrument_type":"LC-ESI-QTOF"},"PR020080":{"peaks":null,"exact_mz":"610.15338","inchi":"InChI=1S/C27H30O16/c1-8-17(32)20(35)22(37)26(40-8)39-7-15-18(33)21(36)23(38)27(42-15)43-25-19(34)16-13(31)5-10(28)6-14(16)41-24(25)9-2-3-11(29)12(30)4-9/h2-6,8,15,17-18,20-23,26-33,35-38H,7H2,1H3/t8-,15+,17-,18+,20+,21-,22+,23+,26+,27-/m0/s1","score":"0.593021369395","instrument_type":"LC-ESI-QTOF","name":"Quercetin-3-O-rutinoside","ms_type":"MS","id":"PR020080","precursor_type":" [M+H]+","formula":"C27H30O16"},"FIO00588":{"precursor_type":" [M+H]+","formula":"C27H30O16","name":"Rutin","id":"FIO00588","ms_type":"MS2","instrument_type":"LC-ESI-QTOF","peaks":null,"exact_mz":"610.15338","inchi":"InChI=1S/C27H30O16/c1-8-17(32)20(35)22(37)26(40-8)39-7-15-18(33)21(36)23(38)27(42-15)43-25-19(34)16-13(31)5-10(28)6-14(16)41-24(25)9-2-3-11(29)12(30)4-9/h2-6,8,15,17-18,20-23,26-33,35-38H,7H2,1H3/t8-,15+,17-,18+,20+,21-,22+,23+,26+,27-/m0/s1","score":"0.676089256465"}}}},"PARAM":{}}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/out_test01.tabular	Wed Apr 19 11:31:58 2017 -0400
@@ -0,0 +1,70 @@
+mz	mzmin	mzmax	rt	rtmin	rtmax	into	intb	maxo	sn	sample	isotopes	adduct	pcgroup	massbank(score::name::mz::formula::adduct::id)
+303.0485467	303.0479126	303.0501709	273.698	270.334	278.072	247182.3356	246032.8821	80132	351	1	[8][M]+		1	0.722183932245::[Rutin]::610.15338::C27H30O16::[[M+H]+]::TY000246 | 0.718240688151::[Rutin ]::610.15338::C27H30O16::[ [M+H]+]::PB006201 | 0.676089256465::[Rutin]::610.15338::C27H30O16::[ [M+H]+]::FIO00588 | 0.631453810993::[Hyperoside]::464.09548::C21H20O12::[ [M+H]+]::FIO00150 | 0.630268036021::[Isoquercitrin]::464.09548::C21H20O12::[[M+H]+]::TY000218 | 0.629320319716::[Isoquercitrin]::464.09548::C21H20O12::[ [M+H]+]::FIO00160 | 0.628953392993::[Rutin]::610.15338::C27H30O16::[ [M+H]+]::FIO00589 | 0.618103117363::[Quercetin-3-beta-O-galactoside]::464.09548::C21H20O12::[ [M+H]+]::PR020075 | 0.609833904994::[Quercetin-3-O-beta-glucopyranoside]::464.09548::C21H20O12::[ [M+H]+]::PR020078 | 0.593021369395::[Quercetin-3-O-rutinoside]::610.15338::C27H30O16::[ [M+H]+]::PR020080 | 0.591111986992::[Hesperidin]::610.18977::C28H34O15::[ [M+H]+]::FIO00483 | 0.585927069664::[Hesperetin-7-O-neohesperidoside]::610.18977::C28H34O15::[ [M+H]+]::PR020045 | 0.571213973695::[Hirsutrin]::464.09548::C21H20O12::[[M+H]+]::TY000168 | 0.526179514801::[Hesperidin]::610.18977::C28H34O15::[ [M+H]+]::FIO00484 | 0.503808010925::[Hesperetin-7-O-rutinoside]::610.18977::C28H34O15::[ [M+H]+]::PR020046
+304.0519266	304.050354	304.0531006	273.362	270.671	278.072	39377.69332	39179.45225	12431	267	1	[8][M+1]+		1	0.722183932245::[Rutin]::610.15338::C27H30O16::[[M+H]+]::TY000246 | 0.718240688151::[Rutin ]::610.15338::C27H30O16::[ [M+H]+]::PB006201 | 0.676089256465::[Rutin]::610.15338::C27H30O16::[ [M+H]+]::FIO00588 | 0.631453810993::[Hyperoside]::464.09548::C21H20O12::[ [M+H]+]::FIO00150 | 0.630268036021::[Isoquercitrin]::464.09548::C21H20O12::[[M+H]+]::TY000218 | 0.629320319716::[Isoquercitrin]::464.09548::C21H20O12::[ [M+H]+]::FIO00160 | 0.628953392993::[Rutin]::610.15338::C27H30O16::[ [M+H]+]::FIO00589 | 0.618103117363::[Quercetin-3-beta-O-galactoside]::464.09548::C21H20O12::[ [M+H]+]::PR020075 | 0.609833904994::[Quercetin-3-O-beta-glucopyranoside]::464.09548::C21H20O12::[ [M+H]+]::PR020078 | 0.593021369395::[Quercetin-3-O-rutinoside]::610.15338::C27H30O16::[ [M+H]+]::PR020080 | 0.591111986992::[Hesperidin]::610.18977::C28H34O15::[ [M+H]+]::FIO00483 | 0.585927069664::[Hesperetin-7-O-neohesperidoside]::610.18977::C28H34O15::[ [M+H]+]::PR020045 | 0.571213973695::[Hirsutrin]::464.09548::C21H20O12::[[M+H]+]::TY000168 | 0.526179514801::[Hesperidin]::610.18977::C28H34O15::[ [M+H]+]::FIO00484 | 0.503808010925::[Hesperetin-7-O-rutinoside]::610.18977::C28H34O15::[ [M+H]+]::PR020046
+305.0552454	305.0523376	305.0632324	274.034	271.007	278.072	6932.447143	6916.875306	2489	149	1	[8][M+2]+		1	0.722183932245::[Rutin]::610.15338::C27H30O16::[[M+H]+]::TY000246 | 0.718240688151::[Rutin ]::610.15338::C27H30O16::[ [M+H]+]::PB006201 | 0.676089256465::[Rutin]::610.15338::C27H30O16::[ [M+H]+]::FIO00588 | 0.631453810993::[Hyperoside]::464.09548::C21H20O12::[ [M+H]+]::FIO00150 | 0.630268036021::[Isoquercitrin]::464.09548::C21H20O12::[[M+H]+]::TY000218 | 0.629320319716::[Isoquercitrin]::464.09548::C21H20O12::[ [M+H]+]::FIO00160 | 0.628953392993::[Rutin]::610.15338::C27H30O16::[ [M+H]+]::FIO00589 | 0.618103117363::[Quercetin-3-beta-O-galactoside]::464.09548::C21H20O12::[ [M+H]+]::PR020075 | 0.609833904994::[Quercetin-3-O-beta-glucopyranoside]::464.09548::C21H20O12::[ [M+H]+]::PR020078 | 0.593021369395::[Quercetin-3-O-rutinoside]::610.15338::C27H30O16::[ [M+H]+]::PR020080 | 0.591111986992::[Hesperidin]::610.18977::C28H34O15::[ [M+H]+]::FIO00483 | 0.585927069664::[Hesperetin-7-O-neohesperidoside]::610.18977::C28H34O15::[ [M+H]+]::PR020045 | 0.571213973695::[Hirsutrin]::464.09548::C21H20O12::[[M+H]+]::TY000168 | 0.526179514801::[Hesperidin]::610.18977::C28H34O15::[ [M+H]+]::FIO00484 | 0.503808010925::[Hesperetin-7-O-rutinoside]::610.18977::C28H34O15::[ [M+H]+]::PR020046
+325.0531081	325.0501099	325.0581665	273.698	271.007	278.744	16589.13717	16498.21541	4449	72	1	[1][M]+		1	NONE
+325.5558227	325.5527039	325.5592346	273.698	270.334	278.744	5385.764	5364.939238	1474	158	1			1	NONE
+326.0658445	326.0617065	326.0741272	274.034	271.007	278.408	3192.858682	3180.844071	959	118	1	[1][M+1]+		1	NONE
+334.0589389	334.0574951	334.0603943	273.698	270.334	278.744	54965.0688	54850.32436	13751	389	1			1	NONE
+334.5601886	334.5524292	334.5627747	273.362	270.334	279.753	16357.10268	16227.57541	4281	166	1			1	NONE
+335.0608018	335.0567017	335.0646362	274.034	270.671	278.072	5194.492773	5184.064091	1421	148	1			1	NONE
+465.101281	465.0989685	465.1035461	273.698	270.334	278.408	108485.9646	108377.6304	35620	1343	1	[10][M]+	[M+H-C6H10O4]+ 610.147	1	0.722183932245::[Rutin]::610.15338::C27H30O16::[[M+H]+]::TY000246 | 0.718240688151::[Rutin ]::610.15338::C27H30O16::[ [M+H]+]::PB006201 | 0.676089256465::[Rutin]::610.15338::C27H30O16::[ [M+H]+]::FIO00588 | 0.631453810993::[Hyperoside]::464.09548::C21H20O12::[ [M+H]+]::FIO00150 | 0.630268036021::[Isoquercitrin]::464.09548::C21H20O12::[[M+H]+]::TY000218 | 0.629320319716::[Isoquercitrin]::464.09548::C21H20O12::[ [M+H]+]::FIO00160 | 0.628953392993::[Rutin]::610.15338::C27H30O16::[ [M+H]+]::FIO00589 | 0.618103117363::[Quercetin-3-beta-O-galactoside]::464.09548::C21H20O12::[ [M+H]+]::PR020075 | 0.609833904994::[Quercetin-3-O-beta-glucopyranoside]::464.09548::C21H20O12::[ [M+H]+]::PR020078 | 0.593021369395::[Quercetin-3-O-rutinoside]::610.15338::C27H30O16::[ [M+H]+]::PR020080 | 0.591111986992::[Hesperidin]::610.18977::C28H34O15::[ [M+H]+]::FIO00483 | 0.585927069664::[Hesperetin-7-O-neohesperidoside]::610.18977::C28H34O15::[ [M+H]+]::PR020045 | 0.571213973695::[Hirsutrin]::464.09548::C21H20O12::[[M+H]+]::TY000168 | 0.526179514801::[Hesperidin]::610.18977::C28H34O15::[ [M+H]+]::FIO00484 | 0.503808010925::[Hesperetin-7-O-rutinoside]::610.18977::C28H34O15::[ [M+H]+]::PR020046
+466.1044404	466.0985107	466.1070862	273.362	270.334	278.072	26116.08643	26072.63829	8449	532	1	[10][M+1]+		1	0.722183932245::[Rutin]::610.15338::C27H30O16::[[M+H]+]::TY000246 | 0.718240688151::[Rutin ]::610.15338::C27H30O16::[ [M+H]+]::PB006201 | 0.676089256465::[Rutin]::610.15338::C27H30O16::[ [M+H]+]::FIO00588 | 0.631453810993::[Hyperoside]::464.09548::C21H20O12::[ [M+H]+]::FIO00150 | 0.630268036021::[Isoquercitrin]::464.09548::C21H20O12::[[M+H]+]::TY000218 | 0.629320319716::[Isoquercitrin]::464.09548::C21H20O12::[ [M+H]+]::FIO00160 | 0.628953392993::[Rutin]::610.15338::C27H30O16::[ [M+H]+]::FIO00589 | 0.618103117363::[Quercetin-3-beta-O-galactoside]::464.09548::C21H20O12::[ [M+H]+]::PR020075 | 0.609833904994::[Quercetin-3-O-beta-glucopyranoside]::464.09548::C21H20O12::[ [M+H]+]::PR020078 | 0.593021369395::[Quercetin-3-O-rutinoside]::610.15338::C27H30O16::[ [M+H]+]::PR020080 | 0.591111986992::[Hesperidin]::610.18977::C28H34O15::[ [M+H]+]::FIO00483 | 0.585927069664::[Hesperetin-7-O-neohesperidoside]::610.18977::C28H34O15::[ [M+H]+]::PR020045 | 0.571213973695::[Hirsutrin]::464.09548::C21H20O12::[[M+H]+]::TY000168 | 0.526179514801::[Hesperidin]::610.18977::C28H34O15::[ [M+H]+]::FIO00484 | 0.503808010925::[Hesperetin-7-O-rutinoside]::610.18977::C28H34O15::[ [M+H]+]::PR020046
+467.1065989	467.1006775	467.1124573	274.034	270.671	278.072	5576.989909	5560.706107	2070	174	1	[10][M+2]+		1	0.718240688151::[Rutin ]::610.15338::C27H30O16::[ [M+H]+]::PB006201 | 0.676089256465::[Rutin]::610.15338::C27H30O16::[ [M+H]+]::FIO00588 | 0.631453810993::[Hyperoside]::464.09548::C21H20O12::[ [M+H]+]::FIO00150 | 0.630268036021::[Isoquercitrin]::464.09548::C21H20O12::[[M+H]+]::TY000218 | 0.629320319716::[Isoquercitrin]::464.09548::C21H20O12::[ [M+H]+]::FIO00160 | 0.628953392993::[Rutin]::610.15338::C27H30O16::[ [M+H]+]::FIO00589 | 0.618103117363::[Quercetin-3-beta-O-galactoside]::464.09548::C21H20O12::[ [M+H]+]::PR020075 | 0.609833904994::[Quercetin-3-O-beta-glucopyranoside]::464.09548::C21H20O12::[ [M+H]+]::PR020078 | 0.591111986992::[Hesperidin]::610.18977::C28H34O15::[ [M+H]+]::FIO00483 | 0.571213973695::[Hirsutrin]::464.09548::C21H20O12::[[M+H]+]::TY000168 | 0.526179514801::[Hesperidin]::610.18977::C28H34O15::[ [M+H]+]::FIO00484
+503.0443595	503.0398865	503.0495605	274.034	270.671	278.744	2661.062625	2635.329938	919	62	1			1	NONE
+519.0203434	519.0109863	519.03125	273.698	271.007	278.408	3261.486136	3233.291851	1105	74	1	[2][M]+		1	NONE
+520.0216826	520.0151978	520.031189	274.371	271.007	278.072	767.3935714	756.3133696	303	20	1	[2][M+1]+		1	NONE
+611.1574452	611.1509399	611.159729	273.362	270.334	278.072	52749.60957	52698.08698	21130	1529	1	[6][M]+	[M+H]+ 610.147	1	0.722183932245::[Rutin]::610.15338::C27H30O16::[[M+H]+]::TY000246 | 0.718240688151::[Rutin ]::610.15338::C27H30O16::[ [M+H]+]::PB006201 | 0.676089256465::[Rutin]::610.15338::C27H30O16::[ [M+H]+]::FIO00588 | 0.628953392993::[Rutin]::610.15338::C27H30O16::[ [M+H]+]::FIO00589 | 0.593021369395::[Quercetin-3-O-rutinoside]::610.15338::C27H30O16::[ [M+H]+]::PR020080 | 0.591111986992::[Hesperidin]::610.18977::C28H34O15::[ [M+H]+]::FIO00483 | 0.585927069664::[Hesperetin-7-O-neohesperidoside]::610.18977::C28H34O15::[ [M+H]+]::PR020045 | 0.503808010925::[Hesperetin-7-O-rutinoside]::610.18977::C28H34O15::[ [M+H]+]::PR020046
+612.1618463	612.1569824	612.166626	273.362	270.671	277.735	16140.56724	16129.11427	6402	867	1	[6][M+1]+		1	0.722183932245::[Rutin]::610.15338::C27H30O16::[[M+H]+]::TY000246 | 0.718240688151::[Rutin ]::610.15338::C27H30O16::[ [M+H]+]::PB006201 | 0.676089256465::[Rutin]::610.15338::C27H30O16::[ [M+H]+]::FIO00588 | 0.593021369395::[Quercetin-3-O-rutinoside]::610.15338::C27H30O16::[ [M+H]+]::PR020080 | 0.591111986992::[Hesperidin]::610.18977::C28H34O15::[ [M+H]+]::FIO00483 | 0.585927069664::[Hesperetin-7-O-neohesperidoside]::610.18977::C28H34O15::[ [M+H]+]::PR020045 | 0.503808010925::[Hesperetin-7-O-rutinoside]::610.18977::C28H34O15::[ [M+H]+]::PR020046
+613.1621027	613.1480713	613.1749268	273.698	271.007	278.072	3880.703571	3874.311429	1483	291	1	[6][M+2]+		1	0.722183932245::[Rutin]::610.15338::C27H30O16::[[M+H]+]::TY000246 | 0.718240688151::[Rutin ]::610.15338::C27H30O16::[ [M+H]+]::PB006201 | 0.676089256465::[Rutin]::610.15338::C27H30O16::[ [M+H]+]::FIO00588 | 0.593021369395::[Quercetin-3-O-rutinoside]::610.15338::C27H30O16::[ [M+H]+]::PR020080 | 0.591111986992::[Hesperidin]::610.18977::C28H34O15::[ [M+H]+]::FIO00483 | 0.585927069664::[Hesperetin-7-O-neohesperidoside]::610.18977::C28H34O15::[ [M+H]+]::PR020045 | 0.503808010925::[Hesperetin-7-O-rutinoside]::610.18977::C28H34O15::[ [M+H]+]::PR020046
+630.6266888	630.6172485	630.6311646	273.698	271.007	278.072	17110.08429	17103.35571	6626	1590	1	[4][M]2+		1	NONE
+631.1270815	631.1121216	631.1309814	274.034	270.671	278.072	7219.6755	7213.283727	2839	876	1	[4][M+1]2+		1	NONE
+633.1395015	633.1376953	633.1422119	273.698	270.334	278.408	78153.96508	77951.91484	23827	744	1	[9][M]+	[M+Na]+ 610.147	1	0.722183932245::[Rutin]::610.15338::C27H30O16::[[M+H]+]::TY000246
+634.1424296	634.1401978	634.1456909	273.698	270.334	278.408	23879.52783	23851.69336	7234	695	1	[9][M+1]+		1	NONE
+635.1427623	635.1370239	635.1464844	273.698	270.334	278.408	7234.640417	7226.23	2120	2119	1	[9][M+2]+		1	NONE
+636.1507892	636.1391602	636.1651001	274.371	271.007	278.744	1583.057478	1561.299402	636	47	1	[9][M+3]+		1	NONE
+649.1057016	649.1015625	649.1113892	273.362	270.671	277.735	5106.935619	5097.414576	1555	240	1	[3][M]2+	[2M+2K]2+ 610.147	1	NONE
+649.6002579	649.5925293	649.6157227	273.698	271.343	277.735	972.9296842	967.2105263	351	77	1	[3][M+1]2+		1	NONE
+650.1081035	650.0990601	650.1168213	273.698	271.007	279.417	1549.122	1535.345619	602	64	1	[3][M+2]2+		1	NONE
+655.1225036	655.1105957	655.1422119	273.362	270.671	277.399	1257.1268	1250.7352	412	86	1		[M+2Na-H]+ 610.147	1	NONE
+717.0893975	717.0775146	717.1069946	273.698	273.362	278.408	453.1308	447.1303628	171	26	1		[M+K+NaCOOH]+ 610.147	1	NONE
+135.0459028	135.0454712	135.0463409	280.426	276.725	285.476	97555.81142	97424.69475	30037	822	1	[14][M]+	[M+H-H2O]+ 152.048	2	0.842444634941::[1-ETHYL-2,3-DIMETHYLBENZENE]::134.10955::C10H14::[MS]::JP012276 | 0.834834020699::[1,2-DIETHYLBENZENE]::134.10955::C10H14::[MS]::JP012273 | 0.825082890799::[1,3-DIETHYLBENZENE]::134.10955::C10H14::[MS]::JP012274 | 0.822346316415::[1-ETHYL-3,5-DIMETHYLBENZENE]::134.10955::C10H14::[MS]::JP012279 | 0.812855498092::[1,4-DIETHYLBENZENE]::134.10955::C10H14::[MS]::JP012275 | 0.809347489341::[1-ETHYL-3,4-DIMETHYLBENZENE]::134.10955::C10H14::[MS]::JP012277 | 0.793494288532::[2-METHYL-1-PROPYLBENZENE]::134.10955::C10H14::[MS]::JP012267 | 0.771842678731::[3-METHYL-1-PROPYLBENZENE]::134.10955::C10H14::[MS]::JP012268 | 0.766089270107::[4-METHYL-1-PROPYLBENZENE]::134.10955::C10H14::[MS]::JP012269 | 0.721608041747::[BUTYLBENZENE]::134.10955::C10H14::[MS]::JP012263 | 0.502725943227::[5-METHYL-1,3-DIISOPROPYLBENZENE]::176.15650::C13H20::[MS]::JP012297
+136.0490744	136.0469818	136.0510406	280.426	277.061	284.126	9243.038571	9236.31	2771	477	1	[14][M+1]+		2	0.842444634941::[1-ETHYL-2,3-DIMETHYLBENZENE]::134.10955::C10H14::[MS]::JP012276 | 0.834834020699::[1,2-DIETHYLBENZENE]::134.10955::C10H14::[MS]::JP012273 | 0.825082890799::[1,3-DIETHYLBENZENE]::134.10955::C10H14::[MS]::JP012274 | 0.822346316415::[1-ETHYL-3,5-DIMETHYLBENZENE]::134.10955::C10H14::[MS]::JP012279 | 0.812855498092::[1,4-DIETHYLBENZENE]::134.10955::C10H14::[MS]::JP012275 | 0.809347489341::[1-ETHYL-3,4-DIMETHYLBENZENE]::134.10955::C10H14::[MS]::JP012277 | 0.793494288532::[2-METHYL-1-PROPYLBENZENE]::134.10955::C10H14::[MS]::JP012267 | 0.771842678731::[3-METHYL-1-PROPYLBENZENE]::134.10955::C10H14::[MS]::JP012268 | 0.766089270107::[4-METHYL-1-PROPYLBENZENE]::134.10955::C10H14::[MS]::JP012269 | 0.721608041747::[BUTYLBENZENE]::134.10955::C10H14::[MS]::JP012263 | 0.502725943227::[5-METHYL-1,3-DIISOPROPYLBENZENE]::176.15650::C13H20::[MS]::JP012297
+153.0565924	153.0544586	153.0579376	280.426	276.725	282.78	4206.543056	4165.861024	1470	39	1		[M+H]+ 152.048	2	NONE
+175.0362187	175.0328674	175.0382385	280.426	278.072	283.789	7465.729412	7459.72416	2930	310	1	[13][M]+	[M+Na]+ 152.048	2	0.842444634941::[1-ETHYL-2,3-DIMETHYLBENZENE]::134.10955::C10H14::[MS]::JP012276 | 0.834834020699::[1,2-DIETHYLBENZENE]::134.10955::C10H14::[MS]::JP012273 | 0.825082890799::[1,3-DIETHYLBENZENE]::134.10955::C10H14::[MS]::JP012274 | 0.822346316415::[1-ETHYL-3,5-DIMETHYLBENZENE]::134.10955::C10H14::[MS]::JP012279 | 0.812855498092::[1,4-DIETHYLBENZENE]::134.10955::C10H14::[MS]::JP012275 | 0.809347489341::[1-ETHYL-3,4-DIMETHYLBENZENE]::134.10955::C10H14::[MS]::JP012277 | 0.793494288532::[2-METHYL-1-PROPYLBENZENE]::134.10955::C10H14::[MS]::JP012267 | 0.771842678731::[3-METHYL-1-PROPYLBENZENE]::134.10955::C10H14::[MS]::JP012268 | 0.766089270107::[4-METHYL-1-PROPYLBENZENE]::134.10955::C10H14::[MS]::JP012269 | 0.721608041747::[BUTYLBENZENE]::134.10955::C10H14::[MS]::JP012263 | 0.502725943227::[5-METHYL-1,3-DIISOPROPYLBENZENE]::176.15650::C13H20::[MS]::JP012297
+176.0376081	176.0342712	176.0409698	280.089	275.716	281.098	410.713875	408.695625	320	108	1	[13][M+1]+		2	0.834834020699::[1,2-DIETHYLBENZENE]::134.10955::C10H14::[MS]::JP012273 | 0.771842678731::[3-METHYL-1-PROPYLBENZENE]::134.10955::C10H14::[MS]::JP012268 | 0.721608041747::[BUTYLBENZENE]::134.10955::C10H14::[MS]::JP012263 | 0.502725943227::[5-METHYL-1,3-DIISOPROPYLBENZENE]::176.15650::C13H20::[MS]::JP012297
+197.0192355	197.0154266	197.0233002	280.762	277.735	284.126	963.0227895	952.3813158	394	30	1		[M+2Na-H]+ 152.048	2	NONE
+403.0711753	403.0660706	403.0734253	279.753	278.408	282.78	399.5335385	396.1704615	260	26	1			2	NONE
+117.0358602	117.033165	117.0389862	278.072	275.38	281.098	994.5956471	970.9683282	507	24	1			3	NONE
+145.0301952	145.0294189	145.0324097	278.072	274.707	282.107	20533.65455	20181.26777	7200	53	1	[12][M]+		3	0.526245917512::[trans-4-Hydroxy-3-methoxycinnamate]::194.05791::C10H10O4::[ [M+H]+]::PR100005
+146.0338015	146.0315704	146.0370331	278.072	276.052	281.098	2337.98	2333.2704	849	848	1	[12][M+1]+		3	NONE
+149.0608613	149.0575104	149.0633545	278.072	275.043	281.098	3561.349167	3549.48464	1285	90	1		[M+H-C2H2O2]+ 194.055 [M+H-NO2]+ 194.055	3	0.526245917512::[trans-4-Hydroxy-3-methoxycinnamate]::194.05791::C10H10O4::[ [M+H]+]::PR100005
+163.0397626	163.0365295	163.042099	277.735	276.052	279.417	718.091	709.4482632	368	25	1		[M+H-CH4O]+ 194.055	3	NONE
+177.0539492	177.0531006	177.05513	278.072	274.034	282.444	31098.8344	30490.44511	11319	57	1	[11][M]+	[M+H-H2O]+ 194.055	3	0.526245917512::[trans-4-Hydroxy-3-methoxycinnamate]::194.05791::C10H10O4::[ [M+H]+]::PR100005
+178.0578014	178.0528107	178.0614929	278.072	275.043	282.78	3510.916043	3464.439494	1316	54	1	[11][M+1]+		3	NONE
+195.0644538	195.0613861	195.0670013	278.072	275.716	280.762	1925.5536	1901.981571	858	35	1		[M+H]+ 194.055	3	0.526245917512::[trans-4-Hydroxy-3-methoxycinnamate]::194.05791::C10H10O4::[ [M+H]+]::PR100005
+196.0700972	196.0676727	196.0720062	278.072	277.061	281.435	279.2630769	271.3225846	204	13	1		[M+K]+ 157.103	3	NONE
+217.047301	217.044632	217.0532379	277.735	275.38	279.417	1703.950417	1700.249833	886	885	1		[M+Na]+ 194.055	3	NONE
+233.0121036	233.0091858	233.0163269	278.072	274.707	282.107	3540.9	3531.509848	1481	132	1		[M+K]+ 194.055	3	NONE
+251.0221026	251.0169678	251.0265961	278.072	273.698	281.435	3523.02613	3499.142348	1254	70	1		[M+Na+K]2+ 440.098	3	NONE
+269.0328959	269.0281982	269.0385742	278.072	276.052	281.771	2372.712176	2351.730706	1008	67	1		[M+H-CH4O]+ 300.045	3	NONE
+279.0200882	279.0171509	279.0247803	278.408	275.043	280.762	740.7787059	734.4572941	454	41	1		[M+K+HCOOH]+ 194.055	3	NONE
+297.0306054	297.0255432	297.038147	278.072	275.38	280.426	1108.1016	1103.392	385	384	1			3	NONE
+301.0504305	301.0436401	301.0579834	277.735	274.371	281.435	486.0704762	468.779315	240	12	1		[M+H]+ 300.045 [M+H-C7H6O2]+ 422.084	3	NONE
+308.0261572	308.0209351	308.034668	278.072	275.716	282.444	751.5176	741.6344	323	27	1			3	NONE
+315.0378642	315.0346375	315.0412598	277.735	276.389	279.753	570.8708	568.516	324	323	1		[M+H-H14O7]+ 440.098	3	NONE
+371.2623675	371.2585754	371.2679749	277.399	275.38	279.417	1014.632667	1010.932083	456	455	1		[M+H-C3H4]+ 410.275	3	NONE
+422.0847921	422.0766602	422.0930786	277.399	275.716	279.081	817.022	813.9935	617	129	1			3	NONE
+425.0339018	425.0305176	425.0410461	277.735	276.052	279.417	398.7525	388.7106316	267	13	1			3	NONE
+427.0703433	427.0647888	427.0771484	278.072	274.707	282.107	1897.090909	1889.026807	1024	98	1	[7][M]+	[2M+K]+ 194.055	3	NONE
+428.071429	428.0612793	428.0791016	278.072	273.362	280.762	553.6545455	544.381348	310	27	1	[7][M+1]+		3	NONE
+443.0411698	443.0319519	443.0491333	278.072	273.362	280.089	842.8931	834.6301017	384	31	1			3	NONE
+445.074958	445.0639954	445.0813599	277.735	274.707	281.098	1661.996368	1649.526711	758	53	1	[5][M]+	[M+Na]+ 422.084	3	NONE
+446.0817674	446.0753784	446.0857849	277.735	276.725	280.426	352.6043636	348.2589676	238	23	1	[5][M+1]+		3	NONE
+449.2321066	449.2252808	449.2385864	277.735	275.716	282.107	1741.715684	1720.915388	631	37	1		[M+K]+ 410.275	3	NONE
+463.0878154	463.078186	463.0952759	278.072	274.707	283.116	819.0366	814.7170295	408	71	1		[M+Na]+ 440.098	3	NONE
+472.296343	472.2885132	472.3045959	277.399	275.716	280.089	369.0139231	363.6954096	249	23	1		[3M+H]+ 157.103	3	NONE
+480.3076532	480.2977295	480.315033	277.399	276.052	280.762	412.125	404.4284586	208	19	1			3	NONE
+607.1399722	607.1333618	607.1530151	278.072	274.034	282.107	284.236875	281.321625	211	34	1			3	NONE
+621.1283748	621.1159668	621.1455688	278.072	276.389	279.753	434.6288	431.6012	258	43	1		[3M+K]+ 194.055	3	NONE
+21.1283748	21.1159668	21.1455688	78.072	76.389	79.753	34.6288	31.6012	258	43	1		[X]+ 94.055	4	NONE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/out_test01.txt	Wed Apr 19 11:31:58 2017 -0400
@@ -0,0 +1,202 @@
+ID	PCGROUP	Query(Da)	Score	Metabolite_name	Cpd_Mw(Da)	Formula	Adduct	MASSBANK_ID	Instrument	MS_level
+mz_00001	1	303.0485467	0.722183932245	Rutin	610.15338	C27H30O16	[M+H]+	TY000246	LC-ESI-ITTOF	MS
+mz_00001	1	303.0485467	0.718240688151	Rutin 	610.15338	C27H30O16	 [M+H]+	PB006201	LC-ESI-QTOF	MS2
+mz_00001	1	303.0485467	0.676089256465	Rutin	610.15338	C27H30O16	 [M+H]+	FIO00588	LC-ESI-QTOF	MS2
+mz_00001	1	303.0485467	0.631453810993	Hyperoside	464.09548	C21H20O12	 [M+H]+	FIO00150	LC-ESI-QTOF	MS2
+mz_00001	1	303.0485467	0.630268036021	Isoquercitrin	464.09548	C21H20O12	[M+H]+	TY000218	LC-ESI-ITTOF	MS
+mz_00001	1	303.0485467	0.629320319716	Isoquercitrin	464.09548	C21H20O12	 [M+H]+	FIO00160	LC-ESI-QTOF	MS2
+mz_00001	1	303.0485467	0.628953392993	Rutin	610.15338	C27H30O16	 [M+H]+	FIO00589	LC-ESI-QTOF	MS2
+mz_00001	1	303.0485467	0.618103117363	Quercetin-3-beta-O-galactoside	464.09548	C21H20O12	 [M+H]+	PR020075	LC-ESI-QTOF	MS
+mz_00001	1	303.0485467	0.609833904994	Quercetin-3-O-beta-glucopyranoside	464.09548	C21H20O12	 [M+H]+	PR020078	LC-ESI-QTOF	MS
+mz_00001	1	303.0485467	0.593021369395	Quercetin-3-O-rutinoside	610.15338	C27H30O16	 [M+H]+	PR020080	LC-ESI-QTOF	MS
+mz_00001	1	303.0485467	0.591111986992	Hesperidin	610.18977	C28H34O15	 [M+H]+	FIO00483	LC-ESI-QTOF	MS2
+mz_00001	1	303.0485467	0.585927069664	Hesperetin-7-O-neohesperidoside	610.18977	C28H34O15	 [M+H]+	PR020045	LC-ESI-QTOF	MS
+mz_00001	1	303.0485467	0.571213973695	Hirsutrin	464.09548	C21H20O12	[M+H]+	TY000168	LC-ESI-ITTOF	MS
+mz_00001	1	303.0485467	0.526179514801	Hesperidin	610.18977	C28H34O15	 [M+H]+	FIO00484	LC-ESI-QTOF	MS2
+mz_00001	1	303.0485467	0.503808010925	Hesperetin-7-O-rutinoside	610.18977	C28H34O15	 [M+H]+	PR020046	LC-ESI-QTOF	MS
+mz_00002	1	304.0519266	0.722183932245	Rutin	610.15338	C27H30O16	[M+H]+	TY000246	LC-ESI-ITTOF	MS
+mz_00002	1	304.0519266	0.718240688151	Rutin 	610.15338	C27H30O16	 [M+H]+	PB006201	LC-ESI-QTOF	MS2
+mz_00002	1	304.0519266	0.676089256465	Rutin	610.15338	C27H30O16	 [M+H]+	FIO00588	LC-ESI-QTOF	MS2
+mz_00002	1	304.0519266	0.631453810993	Hyperoside	464.09548	C21H20O12	 [M+H]+	FIO00150	LC-ESI-QTOF	MS2
+mz_00002	1	304.0519266	0.630268036021	Isoquercitrin	464.09548	C21H20O12	[M+H]+	TY000218	LC-ESI-ITTOF	MS
+mz_00002	1	304.0519266	0.629320319716	Isoquercitrin	464.09548	C21H20O12	 [M+H]+	FIO00160	LC-ESI-QTOF	MS2
+mz_00002	1	304.0519266	0.628953392993	Rutin	610.15338	C27H30O16	 [M+H]+	FIO00589	LC-ESI-QTOF	MS2
+mz_00002	1	304.0519266	0.618103117363	Quercetin-3-beta-O-galactoside	464.09548	C21H20O12	 [M+H]+	PR020075	LC-ESI-QTOF	MS
+mz_00002	1	304.0519266	0.609833904994	Quercetin-3-O-beta-glucopyranoside	464.09548	C21H20O12	 [M+H]+	PR020078	LC-ESI-QTOF	MS
+mz_00002	1	304.0519266	0.593021369395	Quercetin-3-O-rutinoside	610.15338	C27H30O16	 [M+H]+	PR020080	LC-ESI-QTOF	MS
+mz_00002	1	304.0519266	0.591111986992	Hesperidin	610.18977	C28H34O15	 [M+H]+	FIO00483	LC-ESI-QTOF	MS2
+mz_00002	1	304.0519266	0.585927069664	Hesperetin-7-O-neohesperidoside	610.18977	C28H34O15	 [M+H]+	PR020045	LC-ESI-QTOF	MS
+mz_00002	1	304.0519266	0.571213973695	Hirsutrin	464.09548	C21H20O12	[M+H]+	TY000168	LC-ESI-ITTOF	MS
+mz_00002	1	304.0519266	0.526179514801	Hesperidin	610.18977	C28H34O15	 [M+H]+	FIO00484	LC-ESI-QTOF	MS2
+mz_00002	1	304.0519266	0.503808010925	Hesperetin-7-O-rutinoside	610.18977	C28H34O15	 [M+H]+	PR020046	LC-ESI-QTOF	MS
+mz_00003	1	305.0552454	0.722183932245	Rutin	610.15338	C27H30O16	[M+H]+	TY000246	LC-ESI-ITTOF	MS
+mz_00003	1	305.0552454	0.718240688151	Rutin 	610.15338	C27H30O16	 [M+H]+	PB006201	LC-ESI-QTOF	MS2
+mz_00003	1	305.0552454	0.676089256465	Rutin	610.15338	C27H30O16	 [M+H]+	FIO00588	LC-ESI-QTOF	MS2
+mz_00003	1	305.0552454	0.631453810993	Hyperoside	464.09548	C21H20O12	 [M+H]+	FIO00150	LC-ESI-QTOF	MS2
+mz_00003	1	305.0552454	0.630268036021	Isoquercitrin	464.09548	C21H20O12	[M+H]+	TY000218	LC-ESI-ITTOF	MS
+mz_00003	1	305.0552454	0.629320319716	Isoquercitrin	464.09548	C21H20O12	 [M+H]+	FIO00160	LC-ESI-QTOF	MS2
+mz_00003	1	305.0552454	0.628953392993	Rutin	610.15338	C27H30O16	 [M+H]+	FIO00589	LC-ESI-QTOF	MS2
+mz_00003	1	305.0552454	0.618103117363	Quercetin-3-beta-O-galactoside	464.09548	C21H20O12	 [M+H]+	PR020075	LC-ESI-QTOF	MS
+mz_00003	1	305.0552454	0.609833904994	Quercetin-3-O-beta-glucopyranoside	464.09548	C21H20O12	 [M+H]+	PR020078	LC-ESI-QTOF	MS
+mz_00003	1	305.0552454	0.593021369395	Quercetin-3-O-rutinoside	610.15338	C27H30O16	 [M+H]+	PR020080	LC-ESI-QTOF	MS
+mz_00003	1	305.0552454	0.591111986992	Hesperidin	610.18977	C28H34O15	 [M+H]+	FIO00483	LC-ESI-QTOF	MS2
+mz_00003	1	305.0552454	0.585927069664	Hesperetin-7-O-neohesperidoside	610.18977	C28H34O15	 [M+H]+	PR020045	LC-ESI-QTOF	MS
+mz_00003	1	305.0552454	0.571213973695	Hirsutrin	464.09548	C21H20O12	[M+H]+	TY000168	LC-ESI-ITTOF	MS
+mz_00003	1	305.0552454	0.526179514801	Hesperidin	610.18977	C28H34O15	 [M+H]+	FIO00484	LC-ESI-QTOF	MS2
+mz_00003	1	305.0552454	0.503808010925	Hesperetin-7-O-rutinoside	610.18977	C28H34O15	 [M+H]+	PR020046	LC-ESI-QTOF	MS
+mz_00004	1	325.0531081	0	NA	NA	NA	NA	NA	NA	NA
+mz_00005	1	325.5558227	0	NA	NA	NA	NA	NA	NA	NA
+mz_00006	1	326.0658445	0	NA	NA	NA	NA	NA	NA	NA
+mz_00007	1	334.0589389	0	NA	NA	NA	NA	NA	NA	NA
+mz_00008	1	334.5601886	0	NA	NA	NA	NA	NA	NA	NA
+mz_00009	1	335.0608018	0	NA	NA	NA	NA	NA	NA	NA
+mz_00010	1	465.101281	0.722183932245	Rutin	610.15338	C27H30O16	[M+H]+	TY000246	LC-ESI-ITTOF	MS
+mz_00010	1	465.101281	0.718240688151	Rutin 	610.15338	C27H30O16	 [M+H]+	PB006201	LC-ESI-QTOF	MS2
+mz_00010	1	465.101281	0.676089256465	Rutin	610.15338	C27H30O16	 [M+H]+	FIO00588	LC-ESI-QTOF	MS2
+mz_00010	1	465.101281	0.631453810993	Hyperoside	464.09548	C21H20O12	 [M+H]+	FIO00150	LC-ESI-QTOF	MS2
+mz_00010	1	465.101281	0.630268036021	Isoquercitrin	464.09548	C21H20O12	[M+H]+	TY000218	LC-ESI-ITTOF	MS
+mz_00010	1	465.101281	0.629320319716	Isoquercitrin	464.09548	C21H20O12	 [M+H]+	FIO00160	LC-ESI-QTOF	MS2
+mz_00010	1	465.101281	0.628953392993	Rutin	610.15338	C27H30O16	 [M+H]+	FIO00589	LC-ESI-QTOF	MS2
+mz_00010	1	465.101281	0.618103117363	Quercetin-3-beta-O-galactoside	464.09548	C21H20O12	 [M+H]+	PR020075	LC-ESI-QTOF	MS
+mz_00010	1	465.101281	0.609833904994	Quercetin-3-O-beta-glucopyranoside	464.09548	C21H20O12	 [M+H]+	PR020078	LC-ESI-QTOF	MS
+mz_00010	1	465.101281	0.593021369395	Quercetin-3-O-rutinoside	610.15338	C27H30O16	 [M+H]+	PR020080	LC-ESI-QTOF	MS
+mz_00010	1	465.101281	0.591111986992	Hesperidin	610.18977	C28H34O15	 [M+H]+	FIO00483	LC-ESI-QTOF	MS2
+mz_00010	1	465.101281	0.585927069664	Hesperetin-7-O-neohesperidoside	610.18977	C28H34O15	 [M+H]+	PR020045	LC-ESI-QTOF	MS
+mz_00010	1	465.101281	0.571213973695	Hirsutrin	464.09548	C21H20O12	[M+H]+	TY000168	LC-ESI-ITTOF	MS
+mz_00010	1	465.101281	0.526179514801	Hesperidin	610.18977	C28H34O15	 [M+H]+	FIO00484	LC-ESI-QTOF	MS2
+mz_00010	1	465.101281	0.503808010925	Hesperetin-7-O-rutinoside	610.18977	C28H34O15	 [M+H]+	PR020046	LC-ESI-QTOF	MS
+mz_00011	1	466.1044404	0.722183932245	Rutin	610.15338	C27H30O16	[M+H]+	TY000246	LC-ESI-ITTOF	MS
+mz_00011	1	466.1044404	0.718240688151	Rutin 	610.15338	C27H30O16	 [M+H]+	PB006201	LC-ESI-QTOF	MS2
+mz_00011	1	466.1044404	0.676089256465	Rutin	610.15338	C27H30O16	 [M+H]+	FIO00588	LC-ESI-QTOF	MS2
+mz_00011	1	466.1044404	0.631453810993	Hyperoside	464.09548	C21H20O12	 [M+H]+	FIO00150	LC-ESI-QTOF	MS2
+mz_00011	1	466.1044404	0.630268036021	Isoquercitrin	464.09548	C21H20O12	[M+H]+	TY000218	LC-ESI-ITTOF	MS
+mz_00011	1	466.1044404	0.629320319716	Isoquercitrin	464.09548	C21H20O12	 [M+H]+	FIO00160	LC-ESI-QTOF	MS2
+mz_00011	1	466.1044404	0.628953392993	Rutin	610.15338	C27H30O16	 [M+H]+	FIO00589	LC-ESI-QTOF	MS2
+mz_00011	1	466.1044404	0.618103117363	Quercetin-3-beta-O-galactoside	464.09548	C21H20O12	 [M+H]+	PR020075	LC-ESI-QTOF	MS
+mz_00011	1	466.1044404	0.609833904994	Quercetin-3-O-beta-glucopyranoside	464.09548	C21H20O12	 [M+H]+	PR020078	LC-ESI-QTOF	MS
+mz_00011	1	466.1044404	0.593021369395	Quercetin-3-O-rutinoside	610.15338	C27H30O16	 [M+H]+	PR020080	LC-ESI-QTOF	MS
+mz_00011	1	466.1044404	0.591111986992	Hesperidin	610.18977	C28H34O15	 [M+H]+	FIO00483	LC-ESI-QTOF	MS2
+mz_00011	1	466.1044404	0.585927069664	Hesperetin-7-O-neohesperidoside	610.18977	C28H34O15	 [M+H]+	PR020045	LC-ESI-QTOF	MS
+mz_00011	1	466.1044404	0.571213973695	Hirsutrin	464.09548	C21H20O12	[M+H]+	TY000168	LC-ESI-ITTOF	MS
+mz_00011	1	466.1044404	0.526179514801	Hesperidin	610.18977	C28H34O15	 [M+H]+	FIO00484	LC-ESI-QTOF	MS2
+mz_00011	1	466.1044404	0.503808010925	Hesperetin-7-O-rutinoside	610.18977	C28H34O15	 [M+H]+	PR020046	LC-ESI-QTOF	MS
+mz_00012	1	467.1065989	0.718240688151	Rutin 	610.15338	C27H30O16	 [M+H]+	PB006201	LC-ESI-QTOF	MS2
+mz_00012	1	467.1065989	0.676089256465	Rutin	610.15338	C27H30O16	 [M+H]+	FIO00588	LC-ESI-QTOF	MS2
+mz_00012	1	467.1065989	0.631453810993	Hyperoside	464.09548	C21H20O12	 [M+H]+	FIO00150	LC-ESI-QTOF	MS2
+mz_00012	1	467.1065989	0.630268036021	Isoquercitrin	464.09548	C21H20O12	[M+H]+	TY000218	LC-ESI-ITTOF	MS
+mz_00012	1	467.1065989	0.629320319716	Isoquercitrin	464.09548	C21H20O12	 [M+H]+	FIO00160	LC-ESI-QTOF	MS2
+mz_00012	1	467.1065989	0.628953392993	Rutin	610.15338	C27H30O16	 [M+H]+	FIO00589	LC-ESI-QTOF	MS2
+mz_00012	1	467.1065989	0.618103117363	Quercetin-3-beta-O-galactoside	464.09548	C21H20O12	 [M+H]+	PR020075	LC-ESI-QTOF	MS
+mz_00012	1	467.1065989	0.609833904994	Quercetin-3-O-beta-glucopyranoside	464.09548	C21H20O12	 [M+H]+	PR020078	LC-ESI-QTOF	MS
+mz_00012	1	467.1065989	0.591111986992	Hesperidin	610.18977	C28H34O15	 [M+H]+	FIO00483	LC-ESI-QTOF	MS2
+mz_00012	1	467.1065989	0.571213973695	Hirsutrin	464.09548	C21H20O12	[M+H]+	TY000168	LC-ESI-ITTOF	MS
+mz_00012	1	467.1065989	0.526179514801	Hesperidin	610.18977	C28H34O15	 [M+H]+	FIO00484	LC-ESI-QTOF	MS2
+mz_00013	1	503.0443595	0	NA	NA	NA	NA	NA	NA	NA
+mz_00014	1	519.0203434	0	NA	NA	NA	NA	NA	NA	NA
+mz_00015	1	520.0216826	0	NA	NA	NA	NA	NA	NA	NA
+mz_00016	1	611.1574452	0.722183932245	Rutin	610.15338	C27H30O16	[M+H]+	TY000246	LC-ESI-ITTOF	MS
+mz_00016	1	611.1574452	0.718240688151	Rutin 	610.15338	C27H30O16	 [M+H]+	PB006201	LC-ESI-QTOF	MS2
+mz_00016	1	611.1574452	0.676089256465	Rutin	610.15338	C27H30O16	 [M+H]+	FIO00588	LC-ESI-QTOF	MS2
+mz_00016	1	611.1574452	0.628953392993	Rutin	610.15338	C27H30O16	 [M+H]+	FIO00589	LC-ESI-QTOF	MS2
+mz_00016	1	611.1574452	0.593021369395	Quercetin-3-O-rutinoside	610.15338	C27H30O16	 [M+H]+	PR020080	LC-ESI-QTOF	MS
+mz_00016	1	611.1574452	0.591111986992	Hesperidin	610.18977	C28H34O15	 [M+H]+	FIO00483	LC-ESI-QTOF	MS2
+mz_00016	1	611.1574452	0.585927069664	Hesperetin-7-O-neohesperidoside	610.18977	C28H34O15	 [M+H]+	PR020045	LC-ESI-QTOF	MS
+mz_00016	1	611.1574452	0.503808010925	Hesperetin-7-O-rutinoside	610.18977	C28H34O15	 [M+H]+	PR020046	LC-ESI-QTOF	MS
+mz_00017	1	612.1618463	0.722183932245	Rutin	610.15338	C27H30O16	[M+H]+	TY000246	LC-ESI-ITTOF	MS
+mz_00017	1	612.1618463	0.718240688151	Rutin 	610.15338	C27H30O16	 [M+H]+	PB006201	LC-ESI-QTOF	MS2
+mz_00017	1	612.1618463	0.676089256465	Rutin	610.15338	C27H30O16	 [M+H]+	FIO00588	LC-ESI-QTOF	MS2
+mz_00017	1	612.1618463	0.593021369395	Quercetin-3-O-rutinoside	610.15338	C27H30O16	 [M+H]+	PR020080	LC-ESI-QTOF	MS
+mz_00017	1	612.1618463	0.591111986992	Hesperidin	610.18977	C28H34O15	 [M+H]+	FIO00483	LC-ESI-QTOF	MS2
+mz_00017	1	612.1618463	0.585927069664	Hesperetin-7-O-neohesperidoside	610.18977	C28H34O15	 [M+H]+	PR020045	LC-ESI-QTOF	MS
+mz_00017	1	612.1618463	0.503808010925	Hesperetin-7-O-rutinoside	610.18977	C28H34O15	 [M+H]+	PR020046	LC-ESI-QTOF	MS
+mz_00018	1	613.1621027	0.722183932245	Rutin	610.15338	C27H30O16	[M+H]+	TY000246	LC-ESI-ITTOF	MS
+mz_00018	1	613.1621027	0.718240688151	Rutin 	610.15338	C27H30O16	 [M+H]+	PB006201	LC-ESI-QTOF	MS2
+mz_00018	1	613.1621027	0.676089256465	Rutin	610.15338	C27H30O16	 [M+H]+	FIO00588	LC-ESI-QTOF	MS2
+mz_00018	1	613.1621027	0.593021369395	Quercetin-3-O-rutinoside	610.15338	C27H30O16	 [M+H]+	PR020080	LC-ESI-QTOF	MS
+mz_00018	1	613.1621027	0.591111986992	Hesperidin	610.18977	C28H34O15	 [M+H]+	FIO00483	LC-ESI-QTOF	MS2
+mz_00018	1	613.1621027	0.585927069664	Hesperetin-7-O-neohesperidoside	610.18977	C28H34O15	 [M+H]+	PR020045	LC-ESI-QTOF	MS
+mz_00018	1	613.1621027	0.503808010925	Hesperetin-7-O-rutinoside	610.18977	C28H34O15	 [M+H]+	PR020046	LC-ESI-QTOF	MS
+mz_00019	1	630.6266888	0	NA	NA	NA	NA	NA	NA	NA
+mz_00020	1	631.1270815	0	NA	NA	NA	NA	NA	NA	NA
+mz_00021	1	633.1395015	0.722183932245	Rutin	610.15338	C27H30O16	[M+H]+	TY000246	LC-ESI-ITTOF	MS
+mz_00022	1	634.1424296	0	NA	NA	NA	NA	NA	NA	NA
+mz_00023	1	635.1427623	0	NA	NA	NA	NA	NA	NA	NA
+mz_00024	1	636.1507892	0	NA	NA	NA	NA	NA	NA	NA
+mz_00025	1	649.1057016	0	NA	NA	NA	NA	NA	NA	NA
+mz_00026	1	649.6002579	0	NA	NA	NA	NA	NA	NA	NA
+mz_00027	1	650.1081035	0	NA	NA	NA	NA	NA	NA	NA
+mz_00028	1	655.1225036	0	NA	NA	NA	NA	NA	NA	NA
+mz_00029	1	717.0893975	0	NA	NA	NA	NA	NA	NA	NA
+mz_00030	2	135.0459028	0.842444634941	1-ETHYL-2,3-DIMETHYLBENZENE	134.10955	C10H14	MS	JP012276	CI-B	MS
+mz_00030	2	135.0459028	0.834834020699	1,2-DIETHYLBENZENE	134.10955	C10H14	MS	JP012273	CI-B	MS
+mz_00030	2	135.0459028	0.825082890799	1,3-DIETHYLBENZENE	134.10955	C10H14	MS	JP012274	CI-B	MS
+mz_00030	2	135.0459028	0.822346316415	1-ETHYL-3,5-DIMETHYLBENZENE	134.10955	C10H14	MS	JP012279	CI-B	MS
+mz_00030	2	135.0459028	0.812855498092	1,4-DIETHYLBENZENE	134.10955	C10H14	MS	JP012275	CI-B	MS
+mz_00030	2	135.0459028	0.809347489341	1-ETHYL-3,4-DIMETHYLBENZENE	134.10955	C10H14	MS	JP012277	CI-B	MS
+mz_00030	2	135.0459028	0.793494288532	2-METHYL-1-PROPYLBENZENE	134.10955	C10H14	MS	JP012267	CI-B	MS
+mz_00030	2	135.0459028	0.771842678731	3-METHYL-1-PROPYLBENZENE	134.10955	C10H14	MS	JP012268	CI-B	MS
+mz_00030	2	135.0459028	0.766089270107	4-METHYL-1-PROPYLBENZENE	134.10955	C10H14	MS	JP012269	CI-B	MS
+mz_00030	2	135.0459028	0.721608041747	BUTYLBENZENE	134.10955	C10H14	MS	JP012263	CI-B	MS
+mz_00030	2	135.0459028	0.502725943227	5-METHYL-1,3-DIISOPROPYLBENZENE	176.1565	C13H20	MS	JP012297	CI-B	MS
+mz_00031	2	136.0490744	0.842444634941	1-ETHYL-2,3-DIMETHYLBENZENE	134.10955	C10H14	MS	JP012276	CI-B	MS
+mz_00031	2	136.0490744	0.834834020699	1,2-DIETHYLBENZENE	134.10955	C10H14	MS	JP012273	CI-B	MS
+mz_00031	2	136.0490744	0.825082890799	1,3-DIETHYLBENZENE	134.10955	C10H14	MS	JP012274	CI-B	MS
+mz_00031	2	136.0490744	0.822346316415	1-ETHYL-3,5-DIMETHYLBENZENE	134.10955	C10H14	MS	JP012279	CI-B	MS
+mz_00031	2	136.0490744	0.812855498092	1,4-DIETHYLBENZENE	134.10955	C10H14	MS	JP012275	CI-B	MS
+mz_00031	2	136.0490744	0.809347489341	1-ETHYL-3,4-DIMETHYLBENZENE	134.10955	C10H14	MS	JP012277	CI-B	MS
+mz_00031	2	136.0490744	0.793494288532	2-METHYL-1-PROPYLBENZENE	134.10955	C10H14	MS	JP012267	CI-B	MS
+mz_00031	2	136.0490744	0.771842678731	3-METHYL-1-PROPYLBENZENE	134.10955	C10H14	MS	JP012268	CI-B	MS
+mz_00031	2	136.0490744	0.766089270107	4-METHYL-1-PROPYLBENZENE	134.10955	C10H14	MS	JP012269	CI-B	MS
+mz_00031	2	136.0490744	0.721608041747	BUTYLBENZENE	134.10955	C10H14	MS	JP012263	CI-B	MS
+mz_00031	2	136.0490744	0.502725943227	5-METHYL-1,3-DIISOPROPYLBENZENE	176.1565	C13H20	MS	JP012297	CI-B	MS
+mz_00032	2	153.0565924	0	NA	NA	NA	NA	NA	NA	NA
+mz_00033	2	175.0362187	0.842444634941	1-ETHYL-2,3-DIMETHYLBENZENE	134.10955	C10H14	MS	JP012276	CI-B	MS
+mz_00033	2	175.0362187	0.834834020699	1,2-DIETHYLBENZENE	134.10955	C10H14	MS	JP012273	CI-B	MS
+mz_00033	2	175.0362187	0.825082890799	1,3-DIETHYLBENZENE	134.10955	C10H14	MS	JP012274	CI-B	MS
+mz_00033	2	175.0362187	0.822346316415	1-ETHYL-3,5-DIMETHYLBENZENE	134.10955	C10H14	MS	JP012279	CI-B	MS
+mz_00033	2	175.0362187	0.812855498092	1,4-DIETHYLBENZENE	134.10955	C10H14	MS	JP012275	CI-B	MS
+mz_00033	2	175.0362187	0.809347489341	1-ETHYL-3,4-DIMETHYLBENZENE	134.10955	C10H14	MS	JP012277	CI-B	MS
+mz_00033	2	175.0362187	0.793494288532	2-METHYL-1-PROPYLBENZENE	134.10955	C10H14	MS	JP012267	CI-B	MS
+mz_00033	2	175.0362187	0.771842678731	3-METHYL-1-PROPYLBENZENE	134.10955	C10H14	MS	JP012268	CI-B	MS
+mz_00033	2	175.0362187	0.766089270107	4-METHYL-1-PROPYLBENZENE	134.10955	C10H14	MS	JP012269	CI-B	MS
+mz_00033	2	175.0362187	0.721608041747	BUTYLBENZENE	134.10955	C10H14	MS	JP012263	CI-B	MS
+mz_00033	2	175.0362187	0.502725943227	5-METHYL-1,3-DIISOPROPYLBENZENE	176.1565	C13H20	MS	JP012297	CI-B	MS
+mz_00034	2	176.0376081	0.834834020699	1,2-DIETHYLBENZENE	134.10955	C10H14	MS	JP012273	CI-B	MS
+mz_00034	2	176.0376081	0.771842678731	3-METHYL-1-PROPYLBENZENE	134.10955	C10H14	MS	JP012268	CI-B	MS
+mz_00034	2	176.0376081	0.721608041747	BUTYLBENZENE	134.10955	C10H14	MS	JP012263	CI-B	MS
+mz_00034	2	176.0376081	0.502725943227	5-METHYL-1,3-DIISOPROPYLBENZENE	176.1565	C13H20	MS	JP012297	CI-B	MS
+mz_00035	2	197.0192355	0	NA	NA	NA	NA	NA	NA	NA
+mz_00036	2	403.0711753	0	NA	NA	NA	NA	NA	NA	NA
+mz_00037	3	117.0358602	0	NA	NA	NA	NA	NA	NA	NA
+mz_00038	3	145.0301952	0.526245917512	trans-4-Hydroxy-3-methoxycinnamate	194.05791	C10H10O4	 [M+H]+	PR100005	LC-ESI-QTOF	MS2
+mz_00039	3	146.0338015	0	NA	NA	NA	NA	NA	NA	NA
+mz_00040	3	149.0608613	0.526245917512	trans-4-Hydroxy-3-methoxycinnamate	194.05791	C10H10O4	 [M+H]+	PR100005	LC-ESI-QTOF	MS2
+mz_00041	3	163.0397626	0	NA	NA	NA	NA	NA	NA	NA
+mz_00042	3	177.0539492	0.526245917512	trans-4-Hydroxy-3-methoxycinnamate	194.05791	C10H10O4	 [M+H]+	PR100005	LC-ESI-QTOF	MS2
+mz_00043	3	178.0578014	0	NA	NA	NA	NA	NA	NA	NA
+mz_00044	3	195.0644538	0.526245917512	trans-4-Hydroxy-3-methoxycinnamate	194.05791	C10H10O4	 [M+H]+	PR100005	LC-ESI-QTOF	MS2
+mz_00045	3	196.0700972	0	NA	NA	NA	NA	NA	NA	NA
+mz_00046	3	217.047301	0	NA	NA	NA	NA	NA	NA	NA
+mz_00047	3	233.0121036	0	NA	NA	NA	NA	NA	NA	NA
+mz_00048	3	251.0221026	0	NA	NA	NA	NA	NA	NA	NA
+mz_00049	3	269.0328959	0	NA	NA	NA	NA	NA	NA	NA
+mz_00050	3	279.0200882	0	NA	NA	NA	NA	NA	NA	NA
+mz_00051	3	297.0306054	0	NA	NA	NA	NA	NA	NA	NA
+mz_00052	3	301.0504305	0	NA	NA	NA	NA	NA	NA	NA
+mz_00053	3	308.0261572	0	NA	NA	NA	NA	NA	NA	NA
+mz_00054	3	315.0378642	0	NA	NA	NA	NA	NA	NA	NA
+mz_00055	3	371.2623675	0	NA	NA	NA	NA	NA	NA	NA
+mz_00056	3	422.0847921	0	NA	NA	NA	NA	NA	NA	NA
+mz_00057	3	425.0339018	0	NA	NA	NA	NA	NA	NA	NA
+mz_00058	3	427.0703433	0	NA	NA	NA	NA	NA	NA	NA
+mz_00059	3	428.071429	0	NA	NA	NA	NA	NA	NA	NA
+mz_00060	3	443.0411698	0	NA	NA	NA	NA	NA	NA	NA
+mz_00061	3	445.074958	0	NA	NA	NA	NA	NA	NA	NA
+mz_00062	3	446.0817674	0	NA	NA	NA	NA	NA	NA	NA
+mz_00063	3	449.2321066	0	NA	NA	NA	NA	NA	NA	NA
+mz_00064	3	463.0878154	0	NA	NA	NA	NA	NA	NA	NA
+mz_00065	3	472.296343	0	NA	NA	NA	NA	NA	NA	NA
+mz_00066	3	480.3076532	0	NA	NA	NA	NA	NA	NA	NA
+mz_00067	3	607.1399722	0	NA	NA	NA	NA	NA	NA	NA
+mz_00068	3	621.1283748	0	NA	NA	NA	NA	NA	NA	NA
+mz_00069	4	21.1283748	0	NA	NA	NA	NA	NA	NA	NA