From b06c889983b5758d198a43ccecdf0fc42c724c12 Mon Sep 17 00:00:00 2001 From: Nuno Agostinho Date: Mon, 8 Apr 2024 12:02:03 +0100 Subject: [PATCH] Improve statistics output (#1619) * Fix bug when running Stats without version data * Fix input when using input_data --- modules/Bio/EnsEMBL/VEP/Stats.pm | 36 ++++++++++++++++++++++++-------- 1 file changed, 27 insertions(+), 9 deletions(-) diff --git a/modules/Bio/EnsEMBL/VEP/Stats.pm b/modules/Bio/EnsEMBL/VEP/Stats.pm index 048bdb48d..96de5685c 100644 --- a/modules/Bio/EnsEMBL/VEP/Stats.pm +++ b/modules/Bio/EnsEMBL/VEP/Stats.pm @@ -643,13 +643,23 @@ sub generate_run_stats { } } + # Distinguish input source + my ($input, $input_label); + if ($self->param('input_file') eq *Bio::EnsEMBL::VEP::Runner::IN) { + $input = $self->param('input_data'); + $input_label = 'Input data'; + } else { + $input = $self->param('input_file'); + $input_label = 'Input file'; + } + my @return = ( ['Species', $self->species], ['Command line options', '
'.join(" ", @opts).'
'], ['Start time', $self->start_time], ['End time', $self->end_time], ['Run time', $self->run_time." seconds"], - ['Input file', "
".$self->param('input_file')."
"], + [$input_label, "
".$input."
"], ['Output file', "
".$self->param('output_file')."
"], ); @@ -684,7 +694,7 @@ sub generate_run_stats { sub generate_data_version { my $self = shift; - my %version_data = %{ $self->{info}->{version_data} }; + my %version_data = %{ $self->{info}->{version_data} } if $self->{info}->{version_data}; my @return = map { [ $_, $version_data{$_} ] } sort keys %version_data; return \@return; } @@ -802,8 +812,12 @@ sub dump_text { print $fh "[VEP run statistics]\n"; print $fh join("\t", map {s/\<.+?\>//g; $_} @{$_})."\n" for @{$finished_stats->{run_stats}}; - print $fh "[Data version]\n"; - print $fh join("\t", map {s/\<.+?\>//g; $_} @{$_})."\n" for @{$finished_stats->{data_version}}; + print $fh "\n[Data version]\n"; + if (@{$finished_stats->{data_version}}) { + print $fh join("\t", map {s/\<.+?\>//g; $_} @{$_})."\n" for @{$finished_stats->{data_version}}; + } else { + print $fh "No data version information available.\n"; + } print $fh "\n[General statistics]\n"; print $fh join("\t", map {s/\<.+?\>//g; $_} grep {defined($_)} @{$_})."\n" for @{$finished_stats->{general_stats}}; @@ -864,11 +878,15 @@ sub dump_html { join('', map {''.join('', map {''.$_.''} @$_).''} @{$finished_stats->{run_stats}}). ''; - print $fh - '

Data version

'. - ''. - join('', map {''.join('', map {''} @$_).''} @{$finished_stats->{data_version}}). - '
'.$_.'
'; + print $fh '

Data version

'; + if (@{$finished_stats->{data_version}}) { + print $fh + ''. + join('', map {''.join('', map {''} @$_).''} @{$finished_stats->{data_version}}). + '
'.$_.'
'; + } else { + print $fh 'No data version information available.'; + } # vars in/out stats print $fh