Ensembl / ensembl-vep

The Ensembl Variant Effect Predictor predicts the functional effects of genomic variants
https://www.ensembl.org/vep
Apache License 2.0
437 stars 150 forks source link

--safe option seems broken #1674

Open bartcharbon opened 1 month ago

bartcharbon commented 1 month ago

When using VEP we always provide the "--safe" option, to ensure that an error is reported if a plugin fails. However this seems to have stopped working, VEP reports a succesful run while a plugin (a new one I'm currently writing) crashes. The error is written to the VEP logging.

We currently use VEP 111.0

dglemos commented 1 month ago

Hi @bartcharbon, I'm glad you are working on a new plugin! Did you try running the option --safe with another plugin (one of these) to check it fails when it's supposed to? The option should have the same behaviour as previous releases.

bartcharbon commented 1 month ago

Hi @dglemos Since I need te plugin to fail I find it hard to reproduce with exisiting plugins.

I created a minimalistic one instead:

package error;

use strict;
use warnings;

use Bio::EnsEMBL::Variation::Utils::BaseVepTabixPlugin;
use base qw(Bio::EnsEMBL::Variation::Utils::BaseVepTabixPlugin);

my $self;

sub new {
    if (!(defined $self)) {
        my $class = shift;
        $self = $class->SUPER::new(@_);
    }
  return $self;
}

sub feature_types {
  return ['Transcript'];
}

sub get_header_info {
    return {
      Test => "test"
    }
}

sub run {
  die "this should terminate the VEP run with --safe.";

  return {};
  };
1;

I would expect this to fail the VEP run, but it doesn't

The error does show up the logging: WARNING: Plugin 'error' went wrong: this should terminate the VEP run with --safe. at /groups/umcg-gcc/tmp02/users/umcg-bcharbon/vip/resources/vep/plugins/error.pm line 30, <$fh> line 11.