annotate lib/writer.pm @ 3:f4e6b77c46e3 draft default tip

Master branch Updating - - Fxx
author fgiacomoni
date Wed, 03 Oct 2018 05:47:14 -0400
parents 1276908e8fc4
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
1 package lib::writer ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
2
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
3 use strict;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
4 use warnings;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
5
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
6 use Data::Dumper;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
7 use Carp ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
8 use HTML::Template ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
9
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
10 #use lib::csv qw( :ALL ) ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
11
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
12 use Exporter;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
13 use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS);
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
14
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
15 $VERSION = "1.0";
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
16 @ISA = qw(Exporter);
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
17 @EXPORT = ();
2
1276908e8fc4 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
18 @EXPORT_OK = qw(write_csv_skel write_html_skel convert_tbody_to_globalmatrix );
1276908e8fc4 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
19 %EXPORT_TAGS = ( ALL => [qw( write_csv_skel write_html_skel convert_tbody_to_globalmatrix )] );
0
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
20
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
21 =head1 NAME
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
22
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
23 My::Module - An example module
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
24
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
25 =head1 SYNOPSIS
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
26
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
27 use My::Module;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
28 my $object = My::Module->new();
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
29 print $object->as_string;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
30
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
31 =head1 DESCRIPTION
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
32
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
33 This module does not really exist, it
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
34 was made for the sole purpose of
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
35 demonstrating how POD works.
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
36
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
37 =head1 METHODS
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
38
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
39 Methods are :
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
40
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
41 =head2 METHOD new
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
42
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
43 ## Description : new
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
44 ## Input : $self
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
45 ## Ouput : bless $self ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
46 ## Usage : new() ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
47
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
48 =cut
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
49
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
50 sub new {
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
51 ## Variables
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
52 my $self={};
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
53 bless($self) ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
54 return $self ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
55 }
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
56 ### END of SUB
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
57
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
58 =head2 METHOD write_csv_skel
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
59
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
60 ## Description : prepare and write csv output file
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
61 ## Input : $csv_file, $rows
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
62 ## Output : $csv_file
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
63 ## Usage : my ( $csv_file ) = write_csv_skel( $csv_file, $rows ) ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
64
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
65 =cut
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
66 ## START of SUB
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
67 sub write_csv_skel {
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
68 ## Retrieve Values
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
69 my $self = shift ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
70 my ( $csv_file, $rows ) = @_ ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
71
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
72 my $ocsv = lib::csv::new() ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
73 my $csv = $ocsv->get_csv_object("\t") ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
74 $ocsv->write_csv_from_arrays($csv, $$csv_file, $rows) ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
75
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
76 return($csv_file) ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
77 }
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
78 ## END of SUB
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
79
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
80 =head2 METHOD set_lm_matrix_object
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
81
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
82 ## Description : build the lm_row under its ref form
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
83 ## Input : $init_mzs, $transfo_results, $cluster_results
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
84 ## Output : $lm_matrix
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
85 ## Usage : my ( $lm_matrix ) = set_lm_matrix_object( $init_mzs, $transfo_results, $cluster_results ) ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
86
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
87 =cut
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
88 ## START of SUB
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
89 sub set_lm_matrix_object {
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
90 ## Retrieve Values
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
91 my $self = shift ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
92 my ( $header, $init_mzs, $transfo_annot, $cluster_results ) = @_ ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
93
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
94 my @lm_matrix = () ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
95
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
96 if ( defined $header ) {
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
97 my @headers = () ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
98 push @headers, $header ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
99 push @lm_matrix, \@headers ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
100 }
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
101
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
102 my $index_mz = 0 ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
103 foreach my $mz ( @{$init_mzs} ) {
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
104 my @clusters = () ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
105 my $cluster_col = undef ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
106 my $index_annot = 0 ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
107 my @clusters_tmp = () ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
108
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
109 foreach my $annot ( @{$transfo_annot->[$index_mz]} ) {
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
110 my $transfo = $$annot ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
111 if ($transfo eq 'Init_MZ') { $transfo = '' ; }
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
112 my $index_cluster = 0 ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
113
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
114 if ($cluster_results->[$index_mz][$index_annot]) {
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
115
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
116 foreach my $cluster ( @{$cluster_results->[$index_mz][$index_annot]} ) {
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
117
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
118 my $delta = $cluster->{CLUSTER_DELTA} ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
119 my $name = $cluster->{CLUSTER_NAME} ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
120 my $formula = $cluster->{FORMULA} ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
121 my $lm_id_ex = $cluster->{ENTRY_IDS}[0] ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
122
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
123 ## METLIN data display model
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
124 ## entry1=VAR1::VAR2::VAR3::VAR4|entry2=VAR1::VAR2::VAR3::VAR4|...
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
125 ## Format : -0.18::(PI_22:0)::(C31H61O12P)::LMGP06050024
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
126 ##(score::name::mz::formula::adduct::id)
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
127 push (@clusters_tmp, $$delta.'::('.$$name.')'.$transfo.'::('.$$formula.')'.$transfo.'::'.$$lm_id_ex) ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
128
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
129 $index_cluster++ ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
130 } ## end FOR cluster
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
131 } ## end IF
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
132 $index_annot++ ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
133 } ## end FOR transfo
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
134
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
135 my $nb_total_cluster = scalar(@clusters_tmp) ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
136 my $index_pipe = 0 ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
137
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
138 ## Sort the cluster by score (start of the string)
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
139 my @sorted_clusters_tmp = sort { lc($a) cmp lc($b) } @clusters_tmp ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
140
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
141 foreach (@sorted_clusters_tmp) {
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
142 if ($index_pipe < $nb_total_cluster-1 ) { $cluster_col .= $_.'|' ; }
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
143 else { $cluster_col .= $_ ; }
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
144 $index_pipe++ ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
145 }
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
146
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
147 if ( !defined $cluster_col ) { $cluster_col = 'No_result_found_on LMDS' ; }
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
148 push (@clusters, $cluster_col) ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
149 push (@lm_matrix, \@clusters) ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
150 $index_mz++ ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
151 } ## end FOR mz
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
152 return(\@lm_matrix) ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
153 }
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
154 ## END of SUB
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
155
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
156 =head2 METHOD add_lm_matrix_to_input_matrix
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
157
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
158 ## Description : build a full matrix (input + lm column)
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
159 ## Input : $input_matrix_object, $lm_matrix_object
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
160 ## Output : $output_matrix_object
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
161 ## Usage : my ( $output_matrix_object ) = add_lm_matrix_to_input_matrix( $input_matrix_object, $lm_matrix_object ) ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
162
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
163 =cut
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
164 ## START of SUB
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
165 sub add_lm_matrix_to_input_matrix {
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
166 ## Retrieve Values
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
167 my $self = shift ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
168 my ( $input_matrix_object, $lm_matrix_object ) = @_ ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
169
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
170 my @output_matrix_object = () ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
171 my $index_row = 0 ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
172
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
173 foreach my $row ( @{$input_matrix_object} ) {
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
174 my @init_row = @{$row} ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
175
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
176 if ( $lm_matrix_object->[$index_row] ) {
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
177 my $dim = scalar(@{$lm_matrix_object->[$index_row]}) ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
178
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
179 if ($dim > 1) { warn "the add method can't manage more than one column\n" ;}
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
180 my $lm_col = $lm_matrix_object->[$index_row][$dim-1] ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
181
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
182 push (@init_row, $lm_col) ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
183 $index_row++ ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
184 }
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
185 push (@output_matrix_object, \@init_row) ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
186 }
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
187 return(\@output_matrix_object) ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
188 }
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
189 ## END of SUB
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
190
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
191 =head2 METHOD write_html_skel
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
192
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
193 ## Description : prepare and write the html output file
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
194 ## Input : $html_file_name, $html_object, $html_template
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
195 ## Output : $html_file_name
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
196 ## Usage : my ( $html_file_name ) = write_html_skel( $html_file_name, $html_object ) ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
197
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
198 =cut
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
199 ## START of SUB
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
200 sub write_html_skel {
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
201 ## Retrieve Values
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
202 my $self = shift ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
203 my ( $html_file_name, $html_object, $pages, $html_template, $js_path, $css_path ) = @_ ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
204
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
205 my $html_file = $$html_file_name ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
206
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
207 if ( defined $html_file ) {
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
208 open ( HTML, ">$html_file" ) or die "Can't create the output file $html_file " ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
209
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
210 if (-e $html_template) {
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
211 my $ohtml = HTML::Template->new(filename => $html_template);
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
212 if ( (defined $js_path) and (defined $css_path) ) { $ohtml->param( CSS_GALAXY_PATH => $css_path, JS_GALAXY_PATH => $js_path ) ; }
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
213 $ohtml->param( PAGES_NB => $pages ) ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
214 $ohtml->param( PAGES => $html_object );
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
215 print HTML $ohtml->output ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
216 }
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
217 else {
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
218 croak "Can't fill any html output : No template available ($html_template)\n" ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
219 }
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
220
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
221 close (HTML) ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
222 }
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
223 else {
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
224 croak "No output file name available to write HTML file\n" ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
225 }
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
226 return(\$html_file) ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
227 }
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
228 ## END of SUB
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
229
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
230 =head2 METHOD set_html_tbody_object
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
231
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
232 ## Description : initializes and build the tbody object (perl array) need to html template
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
233 ## Input : $nb_pages, $nb_items_per_page
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
234 ## Output : $tbody_object
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
235 ## Usage : my ( $tbody_object ) = set_html_tbody_object($nb_pages, $nb_items_per_page) ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
236
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
237 =cut
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
238 ## START of SUB
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
239 sub set_html_tbody_object {
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
240 my $self = shift ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
241 my ( $nb_pages ) = @_ ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
242
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
243 my ( @tbody_object ) = ( ) ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
244
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
245 for ( my $i = 1 ; $i <= $nb_pages ; $i++ ) {
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
246
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
247 my %pages = (
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
248 # tbody feature
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
249 PAGE_NB => $i,
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
250 MASSES => [], ## end MASSES
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
251 ) ; ## end TBODY N
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
252 push (@tbody_object, \%pages) ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
253 }
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
254 return(\@tbody_object) ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
255 }
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
256 ## END of SUB
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
257
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
258 =head2 METHOD add_mz_to_tbody_object
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
259
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
260 ## Description : initializes and build the mass object (perl array) need to html template
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
261 ## Input : $init_masses, $nb_results
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
262 ## Output : $mz_objects
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
263 ## Usage : my ( $mz_object ) = add_mz_to_tbody_object($init_masses, $rts, $nb_results) ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
264
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
265 =cut
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
266 ## START of SUB
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
267 sub add_mz_to_tbody_object {
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
268 ## Retrieve Values
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
269 my $self = shift ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
270 my ( $tbody_object, $nb_items_per_page, $init_masses, $nb_total_results ) = @_ ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
271 my @colors = ('white', 'green') ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
272 my ( $current_page, $mz_index, $icolor, $total_entries ) = ( 0, 0, 0, 0 ) ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
273
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
274 foreach my $page ( @{$tbody_object} ) {
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
275
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
276 my @colors = ('white', 'green') ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
277 my ( $current_index, , $icolor ) = ( 0, 0 ) ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
278
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
279 for ( my $i = 1 ; $i <= $nb_items_per_page ; $i++ ) {
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
280 #
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
281 if ( $current_index > $nb_items_per_page ) { ## manage exact mz per html page
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
282 $current_index = 0 ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
283 last ; ##
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
284 }
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
285 else {
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
286
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
287 if ( exists $init_masses->[$mz_index] ) {
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
288
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
289 ## calcul total entries
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
290 my @total = @{$nb_total_results->[$mz_index]} ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
291 foreach my $nb ( @total ) { $total_entries += $$nb ; }
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
292
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
293 if ($total_entries > 0) {
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
294 $current_index++ ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
295 if ( $icolor > 1 ) { $icolor = 0 ; }
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
296
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
297 my %mz = (
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
298 # mass feature
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
299 # MASS => $init_masses->[$mz_index], RT => $rts->[$mz_index], TOTAL => $total_entries,
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
300 MASS => $init_masses->[$mz_index], TOTAL => $total_entries,
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
301 # html attr for mass
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
302 COLOR => ($colors[$icolor]), NB_MASS => $mz_index+1, NB_CLUSTER_BY_MASS => 0, NB_ENTRY_BY_MASS => 0,
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
303 # cluster group
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
304 TRANSFORMS => [], ## end TRANSFOS
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
305 ) ; ## end mass N
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
306
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
307 ## Html attr for mass
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
308 $icolor++ ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
309 push ( @{ $tbody_object->[$current_page]{MASSES} }, \%mz ) ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
310 }
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
311 else {
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
312 ## Can't fill the object
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
313 $i-- ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
314 }
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
315 $mz_index++ ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
316 $total_entries = 0 ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
317 }
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
318 }
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
319 }
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
320 $current_page++ ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
321 }
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
322
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
323 return($tbody_object) ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
324 }
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
325 ## END of SUB
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
326
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
327 =head2 METHOD add_transformation_to_tbody_object
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
328
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
329 ## Description : initializes and builds the transfo mass object (perl array)
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
330 ## Input : $init_masses, $transfo_masses, $transfo_names, $mz_objects
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
331 ## Output : $transfo_objects
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
332 ## Usage : my ( $transfo_objects ) = add_transformation_to_tbody_object( $init_masses, $transfo_masses, $transfo_names, $mz_objects ) ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
333
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
334 =cut
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
335 ## START of SUB
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
336 sub add_transformation_to_tbody_object {
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
337 ## Retrieve Values
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
338 my $self = shift ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
339 my ( $transfo_masses, $transfo_annot, $tbody_object ) = @_ ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
340
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
341 my $index_page = 0 ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
342
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
343 foreach my $page (@{$tbody_object}) {
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
344
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
345 my $index_mz = 0 ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
346
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
347 foreach my $init_filtered_mz ( @{ $tbody_object->[$index_page]{MASSES} }) {
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
348
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
349 my $index_transfo = 0 ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
350 my $index_filtered_mz = undef ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
351
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
352 if ($init_filtered_mz->{NB_MASS} ) {
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
353 $index_filtered_mz = $init_filtered_mz->{NB_MASS}-1 ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
354 }
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
355 else{
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
356 last;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
357 }
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
358
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
359 foreach my $transfo ( @{$transfo_masses->[$index_filtered_mz]} ) {
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
360
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
361 my $transfo_type = $transfo_annot->[$index_filtered_mz][$index_transfo] ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
362 my $color = undef ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
363 # manage Bolt color :
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
364 if ($tbody_object->[$index_page]{MASSES}[$index_mz]{COLOR} eq 'white') {
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
365 $color = 'grey-bolt' ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
366 }
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
367 else {
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
368 $color = 'green-bolt' ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
369 }
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
370
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
371 my %transformation = (
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
372 # html attr for transformation
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
373 COLOR => $color,
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
374 # Transfo features
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
375 TRANSFO_TYPE => $$transfo_type,
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
376 # cluster group
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
377 CLUSTERS => [],
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
378 ) ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
379
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
380 push(@{$tbody_object->[$index_page]{MASSES}[$index_mz]{TRANSFORMS}}, \%transformation ) ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
381 $index_transfo++ ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
382 }
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
383 $index_mz ++ ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
384 }
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
385 $index_page++ ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
386 }
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
387
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
388 return($tbody_object) ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
389 }
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
390 ## END of SUB
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
391
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
392 =head2 METHOD add_cluster_to_tbody_object
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
393
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
394 ## Description : initializes and builds the cluster object (perl array)
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
395 ## Input : $init_masses, $transfo_masses, $clusters_results, $mz_objects
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
396 ## Output : $mz_objects
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
397 ## Usage : my ( $cluster_objects ) = add_cluster_to_tbody_object($init_masses, $transfo_masses, $clusters_results, $mz_objects) ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
398
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
399 =cut
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
400 ## START of SUB
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
401 sub add_cluster_to_tbody_object {
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
402 ## Retrieve Values
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
403 my $self = shift ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
404 my ( $transfo_masses, $clusters_results, $tbody_object ) = @_ ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
405 my @cluster_objects = () ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
406
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
407 my $index_page = 0 ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
408 my $current_mz = 0 ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
409
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
410 # print Dumper $transfo_masses;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
411
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
412 # print Dumper $clusters_results ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
413
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
414 foreach my $page (@{$tbody_object}) {
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
415
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
416 my $index_mz = 0 ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
417
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
418 foreach my $filtered_mz ( @{ $tbody_object->[$index_page]{MASSES} }) {
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
419
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
420 my $index_filtered_mz = undef ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
421
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
422 if ($filtered_mz->{NB_MASS} ) {
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
423 $index_filtered_mz = $filtered_mz->{NB_MASS}-1 ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
424 }
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
425 else{
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
426 last;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
427 }
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
428
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
429 my $index_transfo = 0 ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
430
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
431 foreach my $transfo ( @{$transfo_masses->[$index_filtered_mz]} ) {
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
432
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
433 my $index_cluster = 0 ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
434
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
435 foreach my $cluster (@{$clusters_results->[$index_filtered_mz][$index_transfo]}) {
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
436
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
437 my $cluster_formula = $cluster->{FORMULA} ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
438 my $cluster_name = $cluster->{CLUSTER_NAME} ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
439 my $cluster_delta = $cluster->{CLUSTER_DELTA} ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
440
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
441 my %cluster = (
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
442 # html attr for cluster
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
443 COLOR => ( $tbody_object->[$index_page]{MASSES}[$index_mz]{COLOR}),
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
444 PARENT_ID => ( $tbody_object->[$index_page]{MASSES}[$index_mz]{NB_MASS}).'_0_0' ,
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
445 NB_MASS => ( $tbody_object->[$index_page]{MASSES}[$index_mz]{NB_MASS}),
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
446 NB_CLUSTER_BY_MASS => $index_cluster+1,
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
447 NB_ENTRY_BY_MASS => 0,
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
448 # cluster features
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
449 CLUSTER_TOTAL => ($cluster->{NB_ENTRIES_FOR_CLUSTER}),
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
450 CLUSTER_FORMULA => $$cluster_formula,
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
451 CLUSTER_NAME => $$cluster_name,
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
452 CLUSTER_DELTA => $$cluster_delta,
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
453 # CLUSTER_RATIO => $cluster->{ISOTOPIC_RATIO},
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
454 # entries group
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
455 ENTRIES => [], ## end ENTRIES
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
456 ) ; ## end cluster 01
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
457 push ( @{ $tbody_object->[$index_page]{MASSES}[$index_mz]{TRANSFORMS}[$index_transfo]{CLUSTERS} }, \%cluster) ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
458 $index_cluster++ ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
459 }
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
460 $index_transfo++ ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
461 }
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
462 $index_mz++ ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
463 $current_mz++ ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
464 }
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
465 $index_page++ ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
466 }
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
467
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
468 return($tbody_object) ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
469 }
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
470 ## END of SUB
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
471
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
472
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
473 #
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
474
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
475
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
476 =head2 METHOD sort_tbody_object
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
477
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
478 ## Description : sort cluster and entries by delta
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
479 ## Input : $tbody_object
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
480 ## Output : $tbody_object
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
481 ## Usage : my ( $tbody_object ) = sort_tbody_object ( $tbody_object ) ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
482
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
483 =cut
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
484 ## START of SUB
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
485 sub sort_tbody_object {
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
486 ## Retrieve Values
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
487 my $self = shift ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
488 my ( $tbody_object ) = @_;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
489
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
490 my $index_page = 0 ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
491
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
492 ## foreach page
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
493 foreach my $page (@{$tbody_object}) {
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
494
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
495 my $index_mass = 0 ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
496 foreach my $masses_page ( @{ $page->{'MASSES'} } ) {
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
497
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
498 my $index_transfo = 0 ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
499 foreach my $transforms_mass ( @{ $masses_page->{'TRANSFORMS'} } ) {
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
500
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
501 if ($transforms_mass->{'CLUSTERS'}) {
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
502 ## sorted by score
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
503 my @sorted = () ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
504 my @temp = @{ $transforms_mass->{'CLUSTERS'} } ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
505 if (scalar (@temp) > 1 ) { ## for mz without record (only one entry with NA or 0 values)
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
506 @sorted = sort { abs($a->{CLUSTER_DELTA}) <=> abs($b->{CLUSTER_DELTA}) } @temp ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
507 }
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
508 else {
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
509 @sorted = @temp ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
510 }
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
511 $tbody_object->[$index_page]{'MASSES'}[$index_mass]{'TRANSFORMS'}[$index_transfo]{'CLUSTERS'} = \@sorted ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
512 }
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
513
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
514 $index_transfo++ ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
515 } ## end foreach transforms_mass
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
516 $index_mass++ ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
517 } ## end foreach masses_page
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
518 $index_page++ ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
519 } ## end foreach page
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
520
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
521 return ($tbody_object) ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
522 }
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
523 ### END of SUB
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
524
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
525
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
526 =head2 METHOD add_entry_to_mz_object
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
527
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
528 ## Description : initializes and builds the entries object (perl array) and link it with cluster
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
529 ## Input : $entries_results, $tbody_object
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
530 ## Output : $entries_objects
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
531 ## Usage : my ( $entries_objects ) = add_entry_to_mz_object($entries_results, $tbody_object ) ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
532
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
533 =cut
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
534 ## START of SUB
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
535 sub add_entry_to_tbody_object {
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
536 ## Retrieve Values
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
537 my $self = shift ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
538 my ( $transfo_masses, $clusters_results, $entries_results, $tbody_object ) = @_ ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
539
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
540 my $index_page = 0 ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
541 my $current_mz = 0 ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
542
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
543 foreach my $page (@{$tbody_object}) {
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
544
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
545 my $index_mz = 0 ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
546
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
547 foreach my $filtered_mz ( @{ $tbody_object->[$index_page]{MASSES} }) {
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
548
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
549 my $index_filtered_mz = undef ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
550
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
551 if ($filtered_mz->{NB_MASS} ) {
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
552 $index_filtered_mz = $filtered_mz->{NB_MASS}-1 ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
553 }
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
554 else{
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
555 last;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
556 }
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
557
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
558 my $index_transfo = 0 ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
559
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
560 foreach (@{$transfo_masses->[$index_filtered_mz]}) {
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
561 my $index_cluster = 0 ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
562
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
563 foreach my $cluster (@{$clusters_results->[$index_filtered_mz][$index_transfo]}) {
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
564 my $index_entry = 0 ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
565
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
566 foreach my $entry_name (@{$cluster->{'ENTRY_IDS'}}) { ## the part to fill
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
567
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
568 foreach my $entry (@{$entries_results->[$index_filtered_mz][$index_transfo]}) { ## reference entries
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
569 my $q_entry = $entry->{ID} ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
570
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
571 ## compare and matche only same entries
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
572 if ($$entry_name eq $$q_entry) {
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
573 my ( $entry_formula, $entry_id, $entry_common, $entry_syst, $entry_delta ) = ( $entry->{FORMULA}, $entry->{ID}, $entry->{COMMON_NAME}, $entry->{SYST_NAME}, $entry->{DELTA} ) ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
574 # $index_entry++ ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
575
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
576 my %entry_object = (
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
577 # html attr for entry
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
578 COLOR => ($tbody_object->[$index_page]{MASSES}[$index_mz]{COLOR}),
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
579 CLUSTER_ID => ( $tbody_object->[$index_page]{MASSES}[$index_mz]{TRANSFORMS}[$index_transfo]{CLUSTERS}[$index_cluster]{NB_CLUSTER_BY_MASS} ) ,
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
580 NB_MASS => ( $tbody_object->[$index_page]{MASSES}[$index_mz]{TRANSFORMS}[$index_transfo]{CLUSTERS}[$index_cluster]{NB_MASS} ),
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
581 NB_CLUSTER_BY_MASS => ( $tbody_object->[$index_page]{MASSES}[$index_mz]{TRANSFORMS}[$index_transfo]{CLUSTERS}[$index_cluster]{NB_CLUSTER_BY_MASS} ),
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
582 NB_ENTRY_BY_MASS => $index_entry+1,
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
583 # entry features
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
584 LM_ID => $$entry_id,
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
585 ENTRY_FORMULA => $$entry_formula,
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
586 ENTRY_COMMONNAME => $$entry_common,
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
587 ENTRY_SYSTNAME => $$entry_syst,
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
588 MZ_DELTA => $$entry_delta,
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
589 ) ; ## end entry
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
590
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
591 push (@{$tbody_object->[$index_page]{MASSES}[$index_mz]{TRANSFORMS}[$index_transfo]{CLUSTERS}[$index_cluster]{'ENTRIES'}}, \%entry_object) ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
592 }
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
593 }
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
594 $index_entry++ ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
595 } ## end foreach ENTRY
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
596 $index_cluster++ ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
597 } ## end foreach CLUSTER
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
598 $index_transfo++ ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
599 } ## end foreach TRANSFO
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
600 $index_mz++ ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
601 $current_mz++ ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
602 } ## end foreach MZ
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
603 $index_page++
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
604 } ## end foreach PAGE
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
605
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
606 return($tbody_object) ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
607 }
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
608 ## END of SUB
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
609
2
1276908e8fc4 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
610 =head2 METHOD convert_tbody_to_globalmatrix
1276908e8fc4 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
611
1276908e8fc4 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
612 ## Description : allow the conversion of the tbody object to a global matrix of results
1276908e8fc4 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
613 ## Input : $tbody_object
1276908e8fc4 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
614 ## Output : $var4
1276908e8fc4 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
615 ## Usage : my ( $var4 ) = convert_tbody_to_globalmatrix ( $tbody_object ) ;
1276908e8fc4 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
616
1276908e8fc4 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
617 =cut
1276908e8fc4 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
618 ## START of SUB
1276908e8fc4 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
619 sub convert_tbody_to_globalmatrix {
1276908e8fc4 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
620 ## Retrieve Values
1276908e8fc4 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
621 my $self = shift ;
1276908e8fc4 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
622 my ( $header, $tbody_object ) = @_;
1276908e8fc4 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
623 my @lm_matrix = () ;
1276908e8fc4 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
624 my $nb_headers = 0 ;
1276908e8fc4 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
625
1276908e8fc4 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
626 if ( defined $header ) {
1276908e8fc4 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
627 $nb_headers = scalar(@{$header}) ;
1276908e8fc4 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
628 if ($nb_headers == 5) {
1276908e8fc4 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
629 push @lm_matrix, $header ;
1276908e8fc4 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
630 }
1276908e8fc4 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
631 }
1276908e8fc4 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
632 else {
1276908e8fc4 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
633 $header = [ 'MASS', 'CLUSTER_DELTA', 'CLUSTER_FORMULA', 'CLUSTER_NAME', 'CLUSTER_TOTAL' ] ; ## default header
1276908e8fc4 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
634 push @lm_matrix, $header ;
1276908e8fc4 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
635 }
1276908e8fc4 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
636
1276908e8fc4 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
637 if (defined $tbody_object) {
1276908e8fc4 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
638
1276908e8fc4 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
639 my @Masses = @{$tbody_object->[0]{'MASSES'}} ;
1276908e8fc4 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
640 ## foreach masses :
1276908e8fc4 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
641 foreach my $mz (@Masses) {
1276908e8fc4 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
642 my $MZ = $mz->{'MASS'} ;
1276908e8fc4 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
643
1276908e8fc4 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
644 ## foreach transfo :
1276908e8fc4 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
645 foreach my $transfo (@{$mz->{'TRANSFORMS'}}) {
1276908e8fc4 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
646
1276908e8fc4 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
647 ## foreach cluster
1276908e8fc4 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
648 foreach my $cluster (@{$transfo->{'CLUSTERS'}}) {
1276908e8fc4 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
649 my @tmp_cluster = () ;
1276908e8fc4 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
650 push (@tmp_cluster, $MZ) if (defined $MZ);
1276908e8fc4 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
651 my $CLUSTER_DELTA = $cluster->{'CLUSTER_DELTA'} ;
1276908e8fc4 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
652 push (@tmp_cluster, $CLUSTER_DELTA) if (defined $CLUSTER_DELTA);
1276908e8fc4 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
653 my $CLUSTER_FORMULA = $cluster->{'CLUSTER_FORMULA'} ;
1276908e8fc4 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
654 push (@tmp_cluster, $CLUSTER_FORMULA) if (defined $CLUSTER_FORMULA);
1276908e8fc4 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
655 my $CLUSTER_NAME = $cluster->{'CLUSTER_NAME'} ;
1276908e8fc4 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
656 push (@tmp_cluster, $CLUSTER_NAME) if (defined $CLUSTER_NAME);
1276908e8fc4 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
657 my $CLUSTER_TOTAL = $cluster->{'CLUSTER_TOTAL'} ;
1276908e8fc4 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
658 push (@tmp_cluster, $CLUSTER_TOTAL) if (defined $CLUSTER_TOTAL);
1276908e8fc4 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
659
1276908e8fc4 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
660 if ( (defined $MZ) and (defined $CLUSTER_DELTA) and (defined $CLUSTER_FORMULA) and (defined $CLUSTER_NAME) and (defined $CLUSTER_TOTAL) ) {
1276908e8fc4 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
661 push @lm_matrix, \@tmp_cluster ;
1276908e8fc4 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
662 }
1276908e8fc4 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
663 else {
1276908e8fc4 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
664 croak "The conversion aborted ! Because a value is missing ($MZ or $CLUSTER_DELTA or $CLUSTER_FORMULA or $CLUSTER_NAME or $CLUSTER_TOTAL)" ;
1276908e8fc4 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
665 }
1276908e8fc4 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
666
1276908e8fc4 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
667 } #end foreach clusters
1276908e8fc4 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
668 } #end foreach transfo
1276908e8fc4 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
669 } #end foreach masses
1276908e8fc4 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
670 }
1276908e8fc4 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
671 else {
1276908e8fc4 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
672 croak 'No tbody_object defined...' ;
1276908e8fc4 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
673 }
1276908e8fc4 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
674
1276908e8fc4 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
675 return (\@lm_matrix) ;
1276908e8fc4 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
676 }
1276908e8fc4 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
677 ### END of SUB
1276908e8fc4 Master branch Updating - - Fxx
fgiacomoni
parents: 0
diff changeset
678
0
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
679 1 ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
680
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
681
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
682 __END__
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
683
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
684 =head1 SUPPORT
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
685
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
686 You can find documentation for this module with the perldoc command.
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
687
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
688 perldoc writer.pm
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
689
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
690 =head1 Exports
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
691
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
692 =over 4
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
693
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
694 =item :ALL is ...
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
695
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
696 =back
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
697
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
698 =head1 AUTHOR
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
699
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
700 Franck Giacomoni E<lt>franck.giacomoni@clermont.inra.frE<gt>
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
701
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
702 =head1 LICENSE
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
703
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
704 This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
705
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
706 =head1 VERSION
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
707
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
708 version 1 : 26 / 11 / 2013
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
709
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
710 version 2 : 16 / 01/ 2014
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
711
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
712 =cut