Skip to content

vep plugins #687

@BarryDigby

Description

@BarryDigby

Description of the bug

Came across this when trying to figure out why a VEP summary html file was missing the summary plots, which I was not able to replicate...

I think that the LoF, SpliceAI and dbNSFP plugins might not be working properly for VEP.

Please find attached a .zip directory containing the workflow logs, and a script I used to re-generate the warning messages. Below is the main body of the .command.sh script for annotating using VEP:

vep \
  --assembly GRCh38 \
  --cache \
  --cache_version 106 \
  --dir_cache /.vep \
  --everything \
  --filter_common \
  --fork 6 \
  --format vcf \
  --input_file HG00138N.haplotypecaller.filtered.vcf.gz \
  --offline \
  --output_file HG00138N.haplotypecaller.filtered_VEP.ann.vcf \
  --per_gene \
  --plugin dbNSFP,ALL,dbNSFP4.2a_grch38.gz,rs_dbSNP,HGVSc_VEP,HGVSp_VEP,1000Gp3_EAS_AF,1000Gp3_AMR_AF,LRT_score,GERP++_RS,gnomAD_exomes_AF \
  --plugin LoF,loftee_path:/opt/conda/envs/nf-core-vep-106.1/share/ensembl-vep-106.1-0 \
  --plugin SpliceAI,snv=spliceai_scores.raw.snv.hg38.vcf.gz,spliceai_scores.raw.indel.hg38.vcf.gz \
  --plugin SpliceRegion \
  --species homo_sapiens \
  --stats_file HG00138N.haplotypecaller.filtered_VEP.summary.html \
  --total_length \
  --vcf

1. dbNSFP consequence

Currently, params.dbnsfp_consequence is pasted without appending consequence= to the parameter value.

--plugin dbNSFP,ALL,dbNSFP4.2a_grch38.gz,rs_dbSNP,HGVSc_VEP,HGVSp_VEP,1000Gp3_EAS_AF,1000Gp3_AMR_AF,LRT_score,GERP++_RS,gnomAD_exomes_AF

Gives the warning:

WARNING: Failed to instantiate plugin dbNSFP: ERROR: Could not retrieve dbNSFP version from filename ALL

i.e the dbNSFP plugin thinks that the consequence string (e.g 'ALL') is the database file.

Solution

I think the lines below:

(params.vep_dbnsfp && params.dbnsfp && params.dbnsfp_consequence) ? "--plugin dbNSFP,'${params.dbnsfp_consequence}',${params.dbnsfp.split("/")[-1]},${params.dbnsfp_fields}" : '',

should be:

(params.vep_dbnsfp && params.dbnsfp && params.dbnsfp_consequence)     ? "--plugin dbNSFP,'consequence=${params.dbnsfp_consequence}',${params.dbnsfp.split("/")[-1]},${params.dbnsfp_fields}"               : '',

2. LoF

Nothing to fix here, the LoF plugin will not run because the Bio::perl module is not installed:

WARNING: Failed to compile plugin LoF: Can't locate Bio/Perl.pm in @INC (you may need to install the Bio::Perl module) (@INC contains: /home/bdigby/.vep/Plugins /opt/conda/envs/nf-core-vep-106.1/share/ensembl-vep-106.1-0/modules /opt/conda/envs/nf-core-vep-106.1/share/ensembl-vep-106.1-0 /opt/conda/envs/nf-core-vep-106.1/lib/perl5/5.32/site_perl /opt/conda/envs/nf-core-vep-106.1/lib/perl5/site_perl /opt/conda/envs/nf-core-vep-106.1/lib/perl5/5.32/vendor_perl /opt/conda/envs/nf-core-vep-106.1/lib/perl5/vendor_perl /opt/conda/envs/nf-core-vep-106.1/lib/perl5/5.32/core_perl /opt/conda/envs/nf-core-vep-106.1/lib/perl5/core_perl .) at /opt/conda/envs/nf-core-vep-106.1/share/ensembl-vep-106.1-0/LoF.pm line 46.
BEGIN failed--compilation aborted at /opt/conda/envs/nf-core-vep-106.1/share/ensembl-vep-106.1-0/LoF.pm line 46.
Compilation failed in require at (eval 42) line 2.
BEGIN failed--compilation aborted at (eval 42) line 2.

I don't know enough about LoF vs. Loftool, but the Loftool plugin works (with LoFtool_scores.txt) in the current VEP container provided with the workflow.

3. SpliceAI

--plugin SpliceAI,snv=spliceai_scores.raw.snv.hg38.vcf.gz,spliceai_scores.raw.indel.hg38.vcf.gz 

Gives the warning:

WARNING: Failed to instantiate plugin SpliceAI: ERROR: Failed to parse parameter spliceai_scores.raw.indel.hg38.vcf.gz

Solution

I think it could be as simple as changing:

(params.vep_spliceai && params.spliceai_snv && params.spliceai_indel) ? "--plugin SpliceAI,snv=${params.spliceai_snv.split("/")[-1]},${params.spliceai_indel.split("/")[-1]}" : '',

to

(params.vep_spliceai && params.spliceai_snv && params.spliceai_indel) ? "--plugin SpliceAI,snv=${params.spliceai_snv.split("/")[-1]},indel=${params.spliceai_indel.split("/")[-1]}"                  : '',

Command used and terminal output

No response

Relevant files

veptest.zip

System information

  • nextflow 22.04.5
  • AWS
  • awsbatch?
  • Docker
  • ?
  • nf-core/sarek 3.0

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions