Hi,
I am unable to use VEP using hail built on top of spark cluster on DNAnexus platform.
The error stack trace:
Can't locate DBI.pm in @INC (you may need to install the DBI module) (@INC contains: /cluster/vep/modules /cluster/vep /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.30.0 /usr/local/share/perl/5.30.0 /usr/lib/x86_64-linux-gnu/perl5/5.30 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.30 /usr/share/perl/5.30 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base) at /cluster/vep/Bio/EnsEMBL/DBSQL/DBConnection.pm line 74.
BEGIN failed--compilation aborted at /cluster/vep/Bio/EnsEMBL/DBSQL/DBConnection.pm line 74.
Compilation failed in require at /cluster/vep/Bio/EnsEMBL/DBSQL/DBAdaptor.pm line 69.
BEGIN failed--compilation aborted at /cluster/vep/Bio/EnsEMBL/DBSQL/DBAdaptor.pm line 69.
Compilation failed in require at /cluster/vep/Bio/EnsEMBL/Registry.pm line 137.
BEGIN failed--compilation aborted at /cluster/vep/Bio/EnsEMBL/Registry.pm line 137.
Compilation failed in require at /cluster/vep/modules/Bio/EnsEMBL/VEP/BaseVEP.pm line 58.
BEGIN failed--compilation aborted at /cluster/vep/modules/Bio/EnsEMBL/VEP/BaseVEP.pm line 58.
Compilation failed in require at /usr/share/perl/5.30/base.pm line 137.
...propagated at /usr/share/perl/5.30/base.pm line 159.
BEGIN failed--compilation aborted at /cluster/vep/modules/Bio/EnsEMBL/VEP/BaseRunner.pm line 56.
Compilation failed in require at /usr/share/perl/5.30/base.pm line 137.
...propagated at /usr/share/perl/5.30/base.pm line 159.
BEGIN failed--compilation aborted at /cluster/vep/modules/Bio/EnsEMBL/VEP/Runner.pm line 71.
Compilation failed in require at /cluster/vep/vep line 20.
BEGIN failed--compilation aborted at /cluster/vep/vep line 20.
at is.hail.utils.ErrorHandling$class.fatal(ErrorHandling.scala:11)
at is.hail.utils.package$.fatal(package.scala:78)
at is.hail.methods.VEP$.waitFor(VEP.scala:72)
However, I am able to use VEP from command line successfully
vep --format vcf --cache --offline -i VEP_input.vcf -o ouput.txt --dir /mnt/project/data_vep/103/ --assembly GRCh38
On searching around in hail posts and StackOverflow, the suggestion was to check for PERL5LIB
environment variable and see if it is not correctly set. However, I have tested it and they are as follows:
PERL5LIB=/cluster/vep
PERL_BASE=/cluster
PERL_HOME=/cluster/perl-5.24.1/bin
PATH=/cluster/vep:/cluster/perl-5.24.1/bin:/cluster/phantomjs-2.1.1-linux-x86_64/bin:/usr/lib/jvm/java-8-openjdk-amd64:/usr/lib/jvm/java-8-openjdk-amd64/bin:/cluster/miniconda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/cluster:/cluster/hadoop/bin:/cluster/spark/bin:/cluster/dnax/bin:/cluster:/cluster/hadoop/bin:/cluster/spark/bin:/cluster/dnax/bin:/cluster:/cluster/hadoop/bin:/cluster/spark/bin:/cluster/dnax/bin:/cluster/miniconda/bin:/home
I have installed my own perl version of 5.24.1
but VEP wrapper of hail seems to be finding 5.30
version(as you can see in the above stack trace).
PS: I have checked for permissions and all files have required permissions.