-
Notifications
You must be signed in to change notification settings - Fork 153
/
vep
executable file
·94 lines (66 loc) · 2.65 KB
/
vep
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
#!/usr/bin/env perl
# Copyright [2016-2024] EMBL-European Bioinformatics Institute
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
use Getopt::Long;
use FindBin qw($RealBin);
use lib $RealBin;
use lib $RealBin.'/modules';
use Bio::EnsEMBL::VEP::Runner;
use Bio::EnsEMBL::VEP::Utils qw(get_version_string);
my $arg_count = scalar @ARGV;
my $config = {};
my @vep_params = @{Bio::EnsEMBL::VEP::Config::VEP_PARAMS};
GetOptions($config, @vep_params) or die "ERROR: Failed to parse command-line flags\n";
&usage && exit(0) if (!$arg_count) || $config->{help};
die("ERROR: Unexpected extra command-line parameter(s): " . join(", ", @ARGV)) if scalar @ARGV;
warn("WARNING: More than one output file command-line flag provided. Using the last value provided: '@{$config->{output_file}}[-1]' \n") unless (scalar @{$config->{output_file}} <= 1);
$config->{output_file}=@{$config->{output_file}}[-1] if ($config->{output_file});
$config->{database} ||= 0;
my $runner = Bio::EnsEMBL::VEP::Runner->new($config);
if($config->{show_cache_info}) {
my $info = $runner->get_output_header_info->{version_data};
print "$_\t$info->{$_}\n" for keys %$info;
exit(0);
}
$runner->run();
# outputs usage message
sub usage {
my $versions = get_version_string($RealBin.'/.version');
my $usage =<<END;
#----------------------------------#
# ENSEMBL VARIANT EFFECT PREDICTOR #
#----------------------------------#
Versions:
$versions
Help: dev\@ensembl.org , helpdesk\@ensembl.org
Twitter: \@ensembl
http://www.ensembl.org/info/docs/tools/vep/script/index.html
Usage:
./vep [--cache|--offline|--database] [arguments]
Basic options
=============
--help Display this message and quit
-i | --input_file Input file
-o | --output_file Output file
--force_overwrite Force overwriting of output file
--species [species] Species to use [default: "human"]
--everything Shortcut switch to turn on commonly used options. See web
documentation for details [default: off]
--fork [num_forks] Use forking to improve script runtime
For full option documentation see:
http://www.ensembl.org/info/docs/tools/vep/script/vep_options.html
END
print $usage;
}
1;