Mercurial > repos > fgiacomoni > lipidmaps_textsearch
comparison lib/writer.pm @ 2:1276908e8fc4 draft
Master branch Updating - - Fxx
author | fgiacomoni |
---|---|
date | Mon, 20 Aug 2018 09:17:05 -0400 |
parents | e8bd49794291 |
children |
comparison
equal
deleted
inserted
replaced
1:adf9ae010b1c | 2:1276908e8fc4 |
---|---|
13 use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS); | 13 use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS); |
14 | 14 |
15 $VERSION = "1.0"; | 15 $VERSION = "1.0"; |
16 @ISA = qw(Exporter); | 16 @ISA = qw(Exporter); |
17 @EXPORT = (); | 17 @EXPORT = (); |
18 @EXPORT_OK = qw(write_csv_skel write_html_skel ); | 18 @EXPORT_OK = qw(write_csv_skel write_html_skel convert_tbody_to_globalmatrix ); |
19 %EXPORT_TAGS = ( ALL => [qw( write_csv_skel write_html_skel)] ); | 19 %EXPORT_TAGS = ( ALL => [qw( write_csv_skel write_html_skel convert_tbody_to_globalmatrix )] ); |
20 | 20 |
21 =head1 NAME | 21 =head1 NAME |
22 | 22 |
23 My::Module - An example module | 23 My::Module - An example module |
24 | 24 |
605 | 605 |
606 return($tbody_object) ; | 606 return($tbody_object) ; |
607 } | 607 } |
608 ## END of SUB | 608 ## END of SUB |
609 | 609 |
610 =head2 METHOD convert_tbody_to_globalmatrix | |
611 | |
612 ## Description : allow the conversion of the tbody object to a global matrix of results | |
613 ## Input : $tbody_object | |
614 ## Output : $var4 | |
615 ## Usage : my ( $var4 ) = convert_tbody_to_globalmatrix ( $tbody_object ) ; | |
616 | |
617 =cut | |
618 ## START of SUB | |
619 sub convert_tbody_to_globalmatrix { | |
620 ## Retrieve Values | |
621 my $self = shift ; | |
622 my ( $header, $tbody_object ) = @_; | |
623 my @lm_matrix = () ; | |
624 my $nb_headers = 0 ; | |
625 | |
626 if ( defined $header ) { | |
627 $nb_headers = scalar(@{$header}) ; | |
628 if ($nb_headers == 5) { | |
629 push @lm_matrix, $header ; | |
630 } | |
631 } | |
632 else { | |
633 $header = [ 'MASS', 'CLUSTER_DELTA', 'CLUSTER_FORMULA', 'CLUSTER_NAME', 'CLUSTER_TOTAL' ] ; ## default header | |
634 push @lm_matrix, $header ; | |
635 } | |
636 | |
637 if (defined $tbody_object) { | |
638 | |
639 my @Masses = @{$tbody_object->[0]{'MASSES'}} ; | |
640 ## foreach masses : | |
641 foreach my $mz (@Masses) { | |
642 my $MZ = $mz->{'MASS'} ; | |
643 | |
644 ## foreach transfo : | |
645 foreach my $transfo (@{$mz->{'TRANSFORMS'}}) { | |
646 | |
647 ## foreach cluster | |
648 foreach my $cluster (@{$transfo->{'CLUSTERS'}}) { | |
649 my @tmp_cluster = () ; | |
650 push (@tmp_cluster, $MZ) if (defined $MZ); | |
651 my $CLUSTER_DELTA = $cluster->{'CLUSTER_DELTA'} ; | |
652 push (@tmp_cluster, $CLUSTER_DELTA) if (defined $CLUSTER_DELTA); | |
653 my $CLUSTER_FORMULA = $cluster->{'CLUSTER_FORMULA'} ; | |
654 push (@tmp_cluster, $CLUSTER_FORMULA) if (defined $CLUSTER_FORMULA); | |
655 my $CLUSTER_NAME = $cluster->{'CLUSTER_NAME'} ; | |
656 push (@tmp_cluster, $CLUSTER_NAME) if (defined $CLUSTER_NAME); | |
657 my $CLUSTER_TOTAL = $cluster->{'CLUSTER_TOTAL'} ; | |
658 push (@tmp_cluster, $CLUSTER_TOTAL) if (defined $CLUSTER_TOTAL); | |
659 | |
660 if ( (defined $MZ) and (defined $CLUSTER_DELTA) and (defined $CLUSTER_FORMULA) and (defined $CLUSTER_NAME) and (defined $CLUSTER_TOTAL) ) { | |
661 push @lm_matrix, \@tmp_cluster ; | |
662 } | |
663 else { | |
664 croak "The conversion aborted ! Because a value is missing ($MZ or $CLUSTER_DELTA or $CLUSTER_FORMULA or $CLUSTER_NAME or $CLUSTER_TOTAL)" ; | |
665 } | |
666 | |
667 } #end foreach clusters | |
668 } #end foreach transfo | |
669 } #end foreach masses | |
670 } | |
671 else { | |
672 croak 'No tbody_object defined...' ; | |
673 } | |
674 | |
675 return (\@lm_matrix) ; | |
676 } | |
677 ### END of SUB | |
678 | |
610 1 ; | 679 1 ; |
611 | 680 |
612 | 681 |
613 __END__ | 682 __END__ |
614 | 683 |