X-Git-Url: https://git.donarmstrong.com/?p=function2gene.git;a=blobdiff_plain;f=bin%2Fcombine_results;fp=bin%2Fcombine_results;h=a365620a6a99f923bf946d0e7060014f6a1600ed;hp=666fe7c81a70808c6bf01b69ed4952f0d6a5a156;hb=029f32c46252899b050634e52c46a0e15505bc47;hpb=b09fb9f692a51f9f0e6451a32cf4b869566dbec8 diff --git a/bin/combine_results b/bin/combine_results index 666fe7c..a365620 100755 --- a/bin/combine_results +++ b/bin/combine_results @@ -297,18 +297,48 @@ sub add_if_better{ } } +sub space_fill{ + my ($value,$length,$right) = @_; + $right ||= 0; + if (length($value) > $length) { + $value =~ m/(.{$length})/; + return $1; + } + if (length($value) == $length) { + return $value + } + if ($right) { + return join('', + ' ' x ($length - length($value)), + $value, + ); + } + else { + return join('', + $value, + ' ' x ($length - length($value)), + ); + } +} + +sub results_table_line { + my ($keyword,@fields) = @_; + return join( ' & ', + space_fill($keyword,23), + map {space_fill($_,11,1)} @fields + )."\n"; +} +my @database_order = grep {lc($_) ne 'total'} keys %databases; if (defined $results_table_fh) { - our ($keyword,$weight,$autoweight,$gct,$hvt,$nct,$t) = ('Keyword','Weight','Autoweight','GeneCards','Harvester','NCBI','Total'); - format RESULTS_TABLE = -@<<<<<<<<<<<<<<<<<<<<<< & @>>>>>>>>>> & @>>>>>>>>>> & @>>>>>>>>>> & @>>>>>>>>>> & @>>>>>>>>>> & @>>>>>>>>>> \\ -$keyword, $weight, $autoweight, $gct, $hvt, $nct, $t -. - $results_table_fh->format_name('RESULTS_TABLE'); - write $results_table_fh; + my $keyword; + print {$results_table_fh} results_table_line('Keyword','Weight','Autoweight', + map {ucfirst($_)} @database_order, + 'Total', + ); for $keyword (sort keys %terms) { - ($gct,$hvt,$nct,$t) = + my @fields = map { if (not defined $_) { '$-$'; @@ -317,15 +347,17 @@ $keyword, $weight, $autoweight, $gct, $hvt, $_->{unique} ||= 0; "$_->{count} ($_->{unique})"; } - } @{$terms{$keyword}}{qw(genecard harvester ncbi total)}; - $weight = $keyword_weight{$keyword} || 1; - $autoweight = $auto_weight{$keyword}; - write $results_table_fh; + } @{$terms{$keyword}}{@database_order,'total'}; + unshift @fields, $auto_weight{$keyword}; + unshift @fields, $keyword_weight{$keyword} || 1; + print {$results_table_fh} results_table_line($keyword, + @fields + ); } - $keyword = 'Total'; - ($gct,$hvt,$nct,$t) = + my @fields = ('',''); + push @fields, map { if (not defined $_) { '$-$'; @@ -334,11 +366,10 @@ $keyword, $weight, $autoweight, $gct, $hvt, $_->{unique} ||= 0; "$_->{count} ($_->{unique})"; } - } map {$_->{total}} @databases{qw(genecard harvester ncbi total)}; - #($gct,$hvt,$nct,$t) = map {$_->{total}} @databases{qw(genecard harvester ncbi total)}; - $weight = ''; - $autoweight = ''; - write $results_table_fh; + } map {$_->{total}} @databases{@database_order,'total'}; + print {$results_table_fh} results_table_line($keyword, + @fields + ); } __END__