bioconductor / ensemblvep Goto Github PK
View Code? Open in Web Editor NEWR Interface to Ensembl Variant Effect Predictor
Home Page: https://bioconductor.org/packages/ensemblVEP
R Interface to Ensembl Variant Effect Predictor
Home Page: https://bioconductor.org/packages/ensemblVEP
========================= Installing ensemblVEP ========================= To use ensemblVEP, the Ensembl Variant Effect Predictor (VEP) software must be installed. ---------------------------------- Download and Install Ensembl VEP ---------------------------------- Follow the download and installation instructions on this page: https://useast.ensembl.org/info/docs/tools/vep/script/vep_download.html On Windows you may need to install the perl modules perl-DBD-mysql and perl-DBI if you do not have them. All of this is documented on the Ensembl VEP web page. ---------------------------------- Confirm installation ---------------------------------- Check that vep is executable and in your path. This may involve modifying .bashrc and / or .profile files. On Unix and Mac: vep On Windows: perl vep
I installed the latest version of VEP from Github and ensembleVEP from Bioconductor with version 105 of the annotation cache on ubuntu 18.04. When I am running the steps from the ensemblVEP R tutorial, I get the following errors. Please help me!
library(ensemblVEP)
param <- VEPFlags()
Error in validObject(.Object) :
invalid class “VEPFlags” object: Ensembl >=88 requires vep script (not variant_effect_predictor.pl)
Hi Lori,
Submitting a github issue for something we already talked about on the support site (here: https://support.bioconductor.org/p/106976/#107036).
I ran into trouble using v88 of the VEP script with ensemblVEP, because the default host used by the bioc module (useastdb.ensembl.org) does not support anything other than the current or current minus 1 versions of the vep script (according to https://www.ensembl.org/info/data/mysql.html), and the script gives a very uninformative error if you try to use an older version of the vep script with the US host, whether on command line or through R/Bioc.
Here's the example code - this fails for me with a mysterious error:
library(ensemblVEP)
file <- system.file("extdata", "ex2.vcf", package="VariantAnnotation")
myparam88a <- VEPParam( version=88, dataformat=c(vcf=TRUE))
vcf88a <- ensemblVEP(file, param=myparam88a)
#Can't use an undefined value as an ARRAY reference at #/home/jayoung/malik_lab_shared/perl/ensembl/modules/Bio/EnsEMBL/Registry.pm line 2546.
#Error in .io_check_exists(path(con)) : file(s) do not exist:
# '/tmp/Rtmpi8eJw2/file52c81bd6649'
when I specify a different host it works fine:
myparam88b <- VEPParam( version=88, dataformat=c(vcf=TRUE), database=c(host="ensembldb.ensembl.org"))
vcf88b <- ensemblVEP(file, param=myparam88b)
Would it be possible to change the default host when older versions of VEP are specified? I didn't expect that to be an issue, because on my real data I was using a local cached database and didn't think I was contacting any host at all. The same fix works on my data, though, so I'm happy:
tempVEPcacheDir <- "/fh/fast/malik_h/grp/public_databases/Ensembl/VariantEffectPredictorCache"
tempVEPpluginsDir <- "/fh/fast/malik_h/grp/public_databases/Ensembl/VariantEffectPredictorCache/plugins"
## this fails:
myparamsYeast88a <- VEPParam( version=88,
input=c(species="saccharomyces_cerevisiae"),
cache=c(cache=TRUE, dir=tempVEPcacheDir,
dir_cache=tempVEPcacheDir, dir_plugins=tempVEPpluginsDir),
database=c(database=FALSE),
dataformat=c(vcf=TRUE) )
tempTest88a <- ensemblVEP(testFile, myparamsYeast88a)
#Can't use an undefined value as an ARRAY reference at #/home/jayoung/malik_lab_shared/perl/ensembl/modules/Bio/EnsEMBL/Registry.pm line 2546.
#Error in .io_check_exists(path(con)) : file(s) do not exist:
# '/tmp/RtmpxuFFsr/file560c5748392c'
## this works:
myparamsYeast88b <- VEPParam( version=88,
input=c(species="saccharomyces_cerevisiae"),
cache=c(cache=TRUE, dir=tempVEPcacheDir,
dir_cache=tempVEPcacheDir, dir_plugins=tempVEPpluginsDir),
database=c(database=FALSE, host="ensembldb.ensembl.org"),
dataformat=c(vcf=TRUE) )
tempTest88b <- ensemblVEP(testFile, myparamsYeast88b)
Session info is below (truncated). Thanks,
Janet
sessionInfo()
R version 3.4.0 (2017-04-21)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 14.04.2 LTS
other attached packages:
[1] ensemblVEP_1.20.1 VariantAnnotation_1.22.3
[3] Rsamtools_1.28.0 Biostrings_2.44.2
[5] XVector_0.16.0 SummarizedExperiment_1.6.0
[7] DelayedArray_0.2.0 matrixStats_0.52.2
[9] Biobase_2.36.0 GenomicRanges_1.28.4
[11] GenomeInfoDb_1.12.0 IRanges_2.10.3
[13] S4Vectors_0.14.0 BiocGenerics_0.22.0
I installed the latest version of VEP from Github and ensembleVEP from Bioconductor with version 95 of the annotation cache on Centos OS. When I am running the steps from the ensemblVEP R tutorial, I get the following errors. Please advise.
library(ensemblVEP)
param <- VEPFlags()
Error in validObject(.Object) :
invalid class “VEPFlags” object: Ensembl >=88 requires vep script (not variant_effect_predictor.pl)
param <- VEPFlags(flags=list(host="useastdb.ensembl.org"), version=94)
Error in validObject(.Object) :
invalid class “VEPFlags” object: Ensembl >=88 requires vep script (not variant_effect_predictor.pl)
I have installed vep and am trying to run it from the ensembl-vep bioconductor package. When loading the library, I am getting the following warning:
Warning message:
In system2("perl", .getVepPath(), stdout = TRUE, stderr = TRUE) :
running command ''perl' /usr/local/bin/vep 2>&1' had status 134
When I run the system command directly on the console, I get:
system("perl /usr/local/bin/vep 2>&1")
dyld: lazy symbol binding failed: Symbol not found: _Perl_xs_handshake
Referenced from: /Users/jthill/Code/ensembl-vep/Faidx.bundle
Expected in: flat namespace
dyld: Symbol not found: _Perl_xs_handshake
Referenced from: /Users/jthill/Code/ensembl-vep/Faidx.bundle
Expected in: flat namespace
sh: line 1: 8906 Abort trap: 6 perl /usr/local/bin/vep 2>&1
On the other hand, when I run the same command on the command line it works fine. I dug a little more, and I found that R is using the system perl ("usr/bin/perl") instead of the ensembl-recommended perlbrew installation. There needs to be a way for ensemblVEP to recognize perlbrew...
Hi there,
For troubleshooting purposes, it'd be great to add an option to the ensemblVEP function show the system call that's made to the vep script. See https://support.bioconductor.org/p/106976/
thanks,
Janet
I successfully installed VEP in my ubuntu v.20 and added its path to ~/.bashrc
as shown below but still I get the error
.bashrc
file content
export PATH="$PATH:/home/subudhak/ensembl-vep-release-108"
alias vep="sudo /home/subudhak/ensembl-vep-release-108/vep"
Error msg
Error in validObject(.Object) :
invalid class “VEPFlags” object: Ensembl >=88 requires vep script (not variant_effect_predictor.pl)
When trying to explicitly define the path the error message persists: (even renamed vep to variant_effect_predictor.pl
)
param <- VEPFlags(flags=list(host="useastdb.ensembl.org"), scriptPath = as.character("home/subudhak/ensembl-vep-release-108/variant_effect_predictor.pl"))
Error in validObject(.Object) :
invalid class “VEPFlags” object: Ensembl >=88 requires vep script (not variant_effect_predictor.pl)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.