mskcc / vcf2maf

Convert a VCF into a MAF, where each variant is annotated to only one of all possible gene isoforms
Other
374 stars 217 forks source link

--ref-fasta is not the same genome build as your --input-vcf. at vcf2maf.pl line 410 #329

Closed eibol1 closed 2 years ago

eibol1 commented 2 years ago

Hi,

I have installed VEP as described in: https://www.ensembl.org/info/docs/tools/vep/script/index.html

I have downloaded GRCh38 assembly (homo_sapiens_vep_107_GRCh38.tar.gz) and the fasta files:

All this files are in ~/.vep/homo_sapiens/107_GRCh38

I am tryng to run vcf2maf like this:

perl vcf2maf.pl --input-vcf ~/Desktop/training_bioinfo/VCFs_pipeline_curro/tejidos_vcfs/PCT20.filtered.vcf --output-maf ~/Desktop/PCT20.vep.maf --tumor-id PCT20T.tumor --normal-id PCT20P.normal --ref-fasta /Users/abelgd/.vep/homo_sapiens/107_GRCh38/Homo_sapiens.GRCh38.dna.toplevel.fa.gz --vep-path ~/ensembl-vep

But it's not working. I got these error messages:

[W::fai_get_val] Reference chr10:103878952-103878954 not found in FASTA file, returning empty sequence [faidx] Failed to fetch sequence in chr10:103878952-103878954 [W::fai_get_val] Reference chr10:103879041-103879043 not found in FASTA file, returning empty sequence [faidx] Failed to fetch sequence in chr10:103879041-103879043 ERROR: You're either using an outdated samtools, or --ref-fasta is not the same genome build as your --input-vcf. at vcf2maf.pl line 410.

VCF file is in GRCh38 and samtools is up-to-date (1.16).

Does anyone know what is happening?

xnr13 commented 2 years ago

Without seeing your input file would be hard to debug, but it seems you're having chr* chromosome prefixes.

Did you try adding --remap-chain /path/to/vcf2maf/data/hg38_to_GRCh38.chain ?

Vanilla VEP handles chromosome naming quirks automatically, vcf2maf.pl seems to prefer garbage in, garbage out strategy.

eibol1 commented 2 years ago

Hi,

I think I fixed the problem. As I read before in some issues, GRCh38.dna.toplevel.fa.gz do not have "chr" prefixes, it has directly the chromosome number (1, 2, 3...) So I added the prefix chr to them and now it works.

It is a good solution?