gagneurlab / MMSplice_MTSplice

Tissue-specific variant effect predictions on splicing
MIT License
39 stars 21 forks source link

Problem combining MMSplice module with custom annotation in VEP #41

Closed helenapersson closed 2 years ago

helenapersson commented 3 years ago

Description

I can run VEP in offline mode with the MMSplice plugin, but if I try to add more annotation from a custom file on the same command line VEP starts running MMSplice, prints the vcf header only and then ends without any more output or error message. Combining another plugin such as Ensembl Conservation with the same custom annotation works fine. Would be great if I could get all the annotation in there in one go...

What I Did

This seems to work and produces an annotated output file:

vep -i test.vcf -o test.out --vcf --force --offline --assembly GRCh38 --plugin MMSplice --fasta ~/.vep/homo_sapiens/100_GRCh38/Homo_sapiens.GRCh38.dna.toplevel.fa.gz

This does not work and produces an output file that only contains the header section:

vep -i test.vcf -o test.out --vcf --force --offline --assembly GRCh38 --custom hg38.phyloP100way.bw,PhyloP,bigwig --plugin MMSplice --fasta ~/.vep/homo_sapiens/100_GRCh38/Homo_sapiens.GRCh38.dna.toplevel.fa.gz

By contrast, this works as expected:

vep -i test.vcf -o test.out --vcf --force --offline --assembly GRCh38 --custom hg38.phyloP100way.bw,PhyloP,bigwig

And so does:

vep -i test.vcf -o test.out --vcf --force --offline --assembly GRCh38 --plugin Conservation,gerp_conservation_scores.homo_sapiens.GRCh38.bw --custom hg38.phyloP100way.bw,PhyloP,bigwig

MuhammedHasan commented 3 years ago

Can you check if chromosome name on your custom annotation is same with the vcf file?

helenapersson commented 3 years ago

As far as I can tell, the vcf and BigWig files use "chr1" while the FASTA uses "1" as chromosome name format. Changing to another FASTA with "chr1" names still produced the same error.

s6juncheng commented 3 years ago

Hi @helenapersson Have you tried to use python 3.5 or above? I suggest using conda to create a python3 environment.

helenapersson commented 3 years ago

Thanks, I will give that I a try. My workaround so far has been to use stdout/stdin and pipe the output:

vep -i test.vcf -o stdout --vcf --force --offline --assembly GRCh38 --distance 0 --custom hg38.phyloP100way.bw,PhyloP,bigwig,exact --custom gerp_conservation_scores.homo_sapiens.GRCh38.bw,GERP,bigwig,exact --fields "Feature","STRAND","Codons","PhyloP","GERP" | vep -i stdin -o test_out.vcf --vcf --force --offline --assembly GRCh38 --plugin MMSplice --fasta ~/.vep/homo_sapiens/100_GRCh38/Homo_sapiens.GRCh38.dna.toplevel.fa.gz --format vcf --keep_csq --vcf_info_field MMSplice --fields "Feature","mmsplice_delta_logit_psi"