Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

vep plugins #687

Closed
BarryDigby opened this issue Jul 25, 2022 · 0 comments
Closed

vep plugins #687

BarryDigby opened this issue Jul 25, 2022 · 0 comments

Comments

@BarryDigby
Copy link
Contributor

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
@BarryDigby BarryDigby added bug Something isn't working bugfix and removed bug Something isn't working labels Jul 25, 2022
@BarryDigby BarryDigby mentioned this issue Jul 25, 2022
10 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant