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